Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Когда на сайт можно загрузить картинку, это повод для поиска уязвимостей. В этой статье я расскажу, как определять ПО, которое используется для обработки картинок, а затем мы проэксплуатируем найденные баги. Чтобы повысить привилегии, воспользуемся техникой GTFOBins для эскалации через neofetch. Упражняться будем на средней по сложности машине Meta с площадки Hack The Box.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /etc/hosts
:
10.10.11.140 meta.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта.
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A
).
Результат работы скрипта
Мы нашли всего два открытых порта: 22 — служба OpenSSH 7.9p1 и 80 — веб‑сервер Apache. Вот только когда мы попытаемся обратиться к сайту, нас перебросят на другой домен.
Новый домен
Меняем запись в файле /etc/hosts
и обновляем страницу.
10.10.11.140 meta.htb artcorp.htb
Главная страница сайта
На сайте отметим для себя только имена пользователей, иногда это может пригодиться. К сожалению, никаких точек входа найти не удалось, поэтому перейдем к сканированию сайта.
Так как сайт имеет свой собственный домен, стоит проверить, существуют ли у него поддомены. Для этого используем сканер ffuf.
Справка: сканирование веба c ffuf
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
-w
— словарь (я использую словари из набора SecLists);
-t
— количество потоков;
-u
— URL;
-fc
— исключить из результата ответы с кодом 403.
Выполняем следующую команду:
ffuf -u http://artcorp.htb/ -t 256 -H 'Host: FUZZ.artcorp.htb' -w subdomains-top1million-110000.txt
Результат сканирования поддоменов
В выводе получаем почти все слова из списка, так как код ответа всегда 301. Поэтому стоит задать дополнительную фильтрацию, к примеру из всего списка кодов убрать переадресацию (опция -mc
).
ffuf -u http://artcorp.htb/ -t 256 -H 'Host: FUZZ.artcorp.htb' -w subdomains-top1million-110000.txt -mc 200,204,401,403,405,500
Результат сканирования поддоменов
В итоге получим новый поддомен, а значит, обновим запись /etc/hosts
.
10.10.11.140 meta.htb artcorp.htb dev01.artcorp.htb
Переходим по найденному адресу и получаем простенькую страничку со ссылкой на приложение, которое находится в разработке.
Главная страница dev01.artcorp.htb
В приложении есть форма загрузки изображений. А это явно точка входа.
Форма загрузки изображений
Способы загрузить какую‑то нагрузку сразу исчерпали себя, а вот возможности самого приложения заставили задуматься. Если отправить картинку, нам вернут ее метаданные.
Метаданные загруженного приложения
Вывод веб‑приложения очень похож на вывод утилиты exiftool
. Попробуем поискать эксплоиты для него.
Для поиска эксплоитов я обычно использую Google. С его помощью я нашел эксплоит для CVE-2021-22204. В ExifTool версий с 7.44 до 12.24 можно выполнить произвольный код при разборе изображения из‑за некорректной обработки пользовательских данных в формате DjVu. Для работы эксплоита необходимо установить следующие программные пакеты.
sudo apt install djvulibre-bin exiftool
В строках 6 и 7 указываем адрес своего хоста и порт, который будет прослушиваться листенером (открываем командой rlwrap -cAr nc -lvp 4321
).
Исходный код эксплоита
В строке 24 вызывается сам ExifTool и ему передается файл с настройками. Пример конфига мне удалось найти в другой реализации эксплоита (параметр Name
должен быть как в строке 24 эксплоита).
%Image::ExifTool::UserDefined = ( 'Image::ExifTool::Exif::Main' => { 0xc51b => { Name => 'HasselbladExif', Writable => 'string', WriteGroup => 'IFD0', }, },);1;
Теперь запустим скрипт для генерации вредоносного файла. Если все пройдет удачно, мы должны получить следующее сообщение.
Запуск файла репозитория
Источник: xakep.ru