Категория > Новости > HTB Pikaboo. Пентестим nginx и повышаем привилегии через LFI - «Новости»
HTB Pikaboo. Пентестим nginx и повышаем привилегии через LFI - «Новости»12-12-2021, 00:01. Автор: Lee |
Hack The Box.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаСканирование портовДобавляем IP-адрес машины в
10.10.10.249 pikaboo.htb
И запускаем сканирование портов. Справка: сканирование портовСканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа. Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта. ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1 Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция Результат работы скрипта Мы нашли три открытых порта: 21 (служба VSFTPD 3.0.3), 22 (служба SSH) и 80 (веб‑сервер nginx 1.14.2). На SSH без учетных данных стучаться бесполезно, но и на FTP нам делать нечего: Nmap уже проверил возможность анонимного входа и не обнаружил ее. Брут FTPМожно пробовать перебрать популярные логины для FTP. Ты легко найдешь готовые списки запросом вроде
hydra -Lftp_username.txt -Pftp_password.txt -t32 pikaboo.htb ftp
Результат перебора учетных данныхИз этого ничего не вышло, поэтому перейдем к вебу. Сканирование веб-контентаСмотрим сайт и обнаруживаем, что он еще в разработке, о чем свидетельствуют сообщения «PokeAPI Integration - Coming soon!» на некоторых страницах. Стартовая страница сайта Только при переходе к странице администратора нас встретит HTTP-аутентификация. Если отказаться от проверки учетных данных, получим следующее сообщение об ошибке доступа. Ошибка доступа В этой ошибке интересно сообщение об использовании веб‑сервера Apache на порте 81. При этом обращались мы к порту 80, на котором работает веб‑сервер nginx (по крайней мере, нам об этом сообщил Nmap). Похоже, при обращении к каталогу администратора работает какая‑то внутренняя переадресация между серверами. Точка входаУязвимость nginx path traversalЕсли сталкиваешься с веб‑сервером nginx, всегда стоит искать уязвимость обхода путей. Она появляется при неправильно настроенных алиасах. Nginx alias — это некий псевдоним, который позволяет скрыть реальное местоположение объекта. Он задается в директиве
location /img/ {
alias /web/data/images/;
}
При обращении к
location /img {
alias /web/data/images/;
}
В этом случае, если мы обратимся к Давай воспользуемся обходом через каталог Справка: сканирование веба c ffufЧтобы найти скрытое содержимое на сайтах, применяется сканирование методом перебора каталогов. Для этого можно использовать программы вроде dirsearch и DIRB. Я предпочитаю легкий и очень быстрый ffuf. При запуске укажем следующие параметры:
Команда получается следующая:
ffuf -uhttp://pikaboo.htb/admin../FUZZ -w/home/ralf/tmp/wordlists/Content/dirs/files_interesting.txt -t 200
Результат сканирования каталогов с помощью ffuf В результате я нашел несколько интересных файлов. Среди них — очень важный файл Содержимое файла server-statusСтраница admin_staging Мы нашли несколько страниц, на которые можем перейти. Если заглянуть в Burp History, то мы увидим, что желаемая страница передается в качестве значения параметра Запрос в Burp History Точка опорыУязвимость LFIПри тесте Local File Inclusion можно просто отдать одному из сканеров директорий список с соответствующими нагрузками. Я для перебора использовал Burp Intruder со своими словарями (можешь поискать готовые на GitHub). Первым делом определяем нагрузку, с помощью которой можно просмотреть доступный для всех системных пользователей файл на удаленном хосте. В результате перебора удалось прочитать файл Результат атаки через Burp Intruder На втором этапе в найденную нагрузку нужно подставлять самые важные системные файлы, информация из которых может помочь нам продвинуться дальше. Список опять же можно без проблем найти. Результат перебора важных файлов через LFI В результате атаки получаем всего пять доступных для просмотра файлов. Информация из них нам не особенно полезна, но лог службы FTP От LFI к RCEЕсть несколько способов получить удаленное выполнение кода (RCE), имея LFI, и один из них я сейчас покажу. Дело в том, что мы можем заставить веб‑сервер обратиться к файлу логов службы FTP и таким образом косвенно выполнить туда запись. Например, если мы попытаемся авторизоваться от лица пользователя Перейти обратно к новости |