Содержание статьи
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
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. Вот только когда мы попытаемся обратиться к сайту, нас перебросят на другой домен.
Меняем запись в файле /
и обновляем страницу.
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
В итоге получим новый поддомен, а значит, обновим запись /
.
10.10.11.140 meta.htb 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
).
В строке 24 вызывается сам ExifTool и ему передается файл с настройками. Пример конфига мне удалось найти в другой реализации эксплоита (параметр Name
должен быть как в строке 24 эксплоита).
%Image::ExifTool::UserDefined = ( 'Image::ExifTool::Exif::Main' => { 0xc51b => { Name => 'HasselbladExif', Writable => 'string', WriteGroup => 'IFD0', }, },);1;
Теперь запустим скрипт для генерации вредоносного файла. Если все пройдет удачно, мы должны получить следующее сообщение.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»