Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этой статье мы поговорим об эксплуатации динамического DNS, обнаружим и заюзаем баг OS Command Injection, а также используем ошибку в пользовательском скрипте и повысим привилегии до рута копированием файлов. Все это поможет нам пройти среднюю по сложности машину Dynstr с площадки Hack The Box.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
IP машины — 10.10.10.244
, добавляем его в /etc/hosts
, чтобы обращаться по имени:
10.10.10.244 dynstr.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 (служба SSH), 53 (служба DNS) и 80 (веб‑сервер Apache). На SSH нам ловить нечего, но можно сразу посмотреть, что может дать DNS. В первую очередь нас интересуют новые доменные имена и серверы:
host -l 10.10.10.244
Проверка DNS-сервера
Но DNS нам ничего не вернул, поэтому переходим к вебу. Внимательно осмотримся на сайте и поищем любую потенциально полезную информацию. Сайт оказался очень информативным — прямо на главной странице находим множество новых доменов, один адрес электронной почты и даже какие‑то учетные данные.
Главная страница сайта
Информация для связи — адрес электронной почты
Сразу же добавим найденные DNS в /etc/hosts
и еще раз протестируем каждое из них, но уже с помощью dnsrecon.
10.10.10.244 dynstr.htb dnsalias.htb dynamicdns.htb no-ip.htb dyna.htb
dnsrecon -a dnsalias.htb
dnsrecon -a dynamicdns.htb
dnsrecon -a no-ip.htb
dnsrecon -a dyna.htb
Проверка найденных имен DNS
Снова безрезультатно. Поэтому возвращаемся к вебу. Так как мы видим только одну страницу сайта, есть смысл поискать другой контент.
Существует много утилит для перебора URL в поисках незалинкованного контента. Например, dirsearch или dirb. Но я с недавних пор предпочитаю легковесный ffuf. При запуске используем следующие параметры:
-u
— URL;
-w
— словарь (используем directory-list-2.3-medium из набора Seclists);
-t
— количество потоков.
ffuf -u http://dynstr.htb/FUZZ -w ~/tmp/wordlists/WebContent/dirs/directory-list-2.3-medium.txt -t 120
Результат сканирования каталогов с помощью ffuf
В результате я нашел несколько каталогов. Директория assets
обычно содержит вспомогательный контент, такой как скрипты, картинки, шрифты и стили, поэтому она нам неинтересна. При обращении к файлу server-status
получаем ответ 403 Forbidden, что означает ограничение или отсутствие доступа к материалу на странице. Куда интереснее директория nic
. Давай повторим сканирование, но уже в этом каталоге.
ffuf -u http://dynstr.htb/nic/FUZZ -w ~/tmp/wordlists/WebContent/dirs/directory-list-2.3-medium.txt -t 120
Результат сканирования каталогов с помощью ffuf
Мы находим единственную страницу update
, при обращении к которой получаем ответ — badauth
.
curl http://dynstr.htb/nic/update ; echo
Обращение к странице /nic/update
Пока неясно, что это, но давай поищем этот каталог в Google. Может оказаться, что это известная технология, и тогда мы сможем почитать документацию и открыть какие‑то дополнительные возможности или даже скачать готовые эксплоиты. Гуглим /nic/update
, чтобы найти точное совпадение, и первая же ссылка приводит нас к NO-IP DDNS.
Поиск каталога /nic/update
DDNS (динамический DNS) — это технология, которая позволяет обновлять информацию на сервере DNS на лету и, если это нужно, автоматически. DDNS применяется для того, чтобы назначить постоянное доменное имя устройству с динамическим IP. Тогда другие хосты смогут обращаться к нему по домену или даже узнавать, что IP-адрес изменился.
Источник: xakep.ru