• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Лаборатория тестирования на проникновения "TestLab v.11" WhoIs Mr.Hacker (1)

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Hacker.jpg


Приветствую Вас дорогие друзья) Ну вот настало время очередной лаборатории тестирования на проникновения , в которой вы снова сможете попрактиковаться в пентесте. И я как и в прошлых своих статьях попытаюсь вам в этом помочь и разобраться с неясностями)
Ну что же, давайте приступать:

И так "Who Is Mr.Hacker" (Кто такой Мистер Хакер) представляет большую ,по сравнению с предыдущими лабораториями, корпоративную сеть в которой есть уязвимые места входа во внутреннюю сеть и также на каждой машине есть предусмотренная та или иная уязвимость ,которая позволит нам получит доступ к конфиденциальной информации ,которую разработчики представили нам в виде секретных токенов))
Для тех кто решил попробовать себя в пентесте впервые , прочтите эту статью , в которой расписано как подключаться к лаборатории тестирования на проникновение.

Сперва давайте посмотрим на карту сети:
TL11_map.png


Как видим по карте , корпоративная сеть поделена на несколько сегментов, и так же у нас есть доступные из внешней сети хосты , так называемые энтрипоинтс (точки входа) с IP-адресами 192.168.101.10 и 192.168.101.11
Их мы и просканируем на открытые сервисы утилитой
1.PNG


Видим что на первом хосте (192.168.101.10) размещены целых 4 сервиса , а на втором только SSH сервис на 2222 порту.
Замечаем почтовый SMTP сервер на 25 порту и веб интерфейс(roun от него на 8080 порту:
4.PNG

Соответственно смотрим остальные сервисы:
Видим какой то сайт внешне похож на блог:
2.PNG

И на 88 порту видим vtiger CRM версии 6.3.0 . Надпись на фронтенде сразу же проситься поискать эксплоит на эту версию

3.PNG



001.PNG

Но этот эксплоийт требует быть залогиненым в системе CRM. По этому нам придется таки туда пробиться)

Так же в мета тегах видим версию WordPress CMS на основном сайте:
6.PNG
Попробуем найти валидного юзера, сперва давайте посмотрим на пост, на WordPress-е,видим что пост создан юзером LabAdmin :
5.PNG

Пробуем этого юзера в админке WP(WordPress)
7.PNG

Входе иследования вордпресс был обнаружен уязвимый плагин,но о нем мы поговорим немножко поже, так как
после многочисленных попыток пробить WAF , мы узнали что это трата времени и мы пошли дальше.
Давайте теперь попробуем узнать имя домена через прямой коннект к SMTP серверу:
9.PNG

К сожалению перечисление учетных записей сделать не сможем, так как функции VRFY и EXPN отключены.
Видим домен mail.ptest.lab
Пробуем ресетнуть пароль по этой почте:
10.PNG

Увы пишет что пользователей с таким именем не зарегистрирован.
Затем методом проб и ошибок мы обнаруживает что почта admin@test.lab подходит для сброса пароля:
8.PNG


Эта же почта так же подходит и для сброса пароля в CRM :
11.PNG


наверняка понимая что доступ к админке нам просто необходим , поставим на брут все таки ...
Можно конечно брутить и в BurpSuite и в Hydra и т.д
Но я все же хочу показать как составляется команда для Patator.
Сперва давайте поглядим на запрос в Бурпе
14.PNG

Как видим после попытки логина идет редирект(переадресация) на
index.php?module=Users&parente=Setting&view=Login&error=1
И после переадресации мы можем видеть ошибку о неправильной попытке логина:
24.PNG

Теперь давайте посмотрим справку по http_fuzz в patator:
23.PNG

Тут нас интересует метод POST с последующей переадресацией. Так же мы можем настроить Patator ддя фильтрации текста ошибки не верного логина. В целом команда для брута выглядит так:

patator http_fuzz url=" index.php?module=Users&action=Login" method=POST body='__vtrftk=sid%3A02035db39bbf95e6889542705c5e4f563375d902%2C1500050845&username=admin&password=FILE0' 0=pass.txt follow=1 -x ignore:fgrep='Invalid username or password.'

Теперь давайте разберем по порядку:
url -- путь к скрипту авторизации (взяли из BurpSuite)
method=POST -- (способ отправки данных на сервер через POST запрос)
body='POST DATA' -- данные которые мы передаем в POST запросе , место для брута мы помечаем FILE0 , затем указываем нужный словарь "0=pass.txt"
follow=1 -- разрешить переадресацию (301,302)
-x ignore:fgrep='Invalid username or password.' -- указать текстовую строку для парсинга в ответах на заросы, что бы проигнорировать ее.

На деле выглядит так:

16.PNG

Дальше логинимся в админку, и замечаем странность в имени админа:

18.PNG

Пробуем проэксплуатировать эксплоит с exploit.db , но увы обычный аплоад файлов через index.php не работает. Значит мы идем в настройки компании и пробуем залить шелл через лого компании:

25.PNG


Но от нас хотят картинку размером 170x60 пикселей, делаем ресайз:
19.PNG


Заливаем в картинку шелл:

20.PNG

Дальше в BurpSuite перехватываем запрос и изменяем разширения из .jpg на .php


21.PNG

Дальше отсылаем запрос на сервер, и идем по пути к нашему файлу( ):
27.PNG


Дальше просто поднимаемся в корень сайта и забираем токен:

28.PNG

Ну вот и все) Первый токен взят)))
Продолжим наш пентест в следующей статье)
Видео к статье:

 

Вложения

  • 18.PNG
    18.PNG
    23,1 КБ · Просмотры: 214
  • 6.PNG
    6.PNG
    98 КБ · Просмотры: 235
  • 12.PNG
    12.PNG
    4 КБ · Просмотры: 213
  • 12.PNG
    12.PNG
    4 КБ · Просмотры: 228
A

a113

У меня был челлендж взять самостоятельно хотя бы 1 токен... я его не взял, НО я был на столько близок!!! я делал все так, как написано в этой статье, НО вместо пататора юзал гидру и в качестве словаря - rockyou... потратив 2 дня на брут, я забил , сказав себе "ты, видимо, еще нубас в этом деле, иди учи матчасть".
Спасибо за статью! С нетерпением жду продолжения!
P.S: Какое место занял? :)
 
  • Нравится
Реакции: id2746 и <~DarkNode~>
N

nemainthium

Альтернативное прохождение -
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
У меня был челлендж взять самостоятельно хотя бы 1 токен... я его не взял, НО я был на столько близок!!! я делал все так, как написано в этой статье, НО вместо пататора юзал гидру и в качестве словаря - rockyou... потратив 2 дня на брут, я забил , сказав себе "ты, видимо, еще нубас в этом деле, иди учи матчасть".
Спасибо за статью! С нетерпением жду продолжения!
P.S: Какое место занял? :)
4-е место.
[doublepost=1500134561,1500134121][/doublepost]
Альтернативное прохождение -
Да,Столетий всегда делает врайтап,но здесь можно всегда обсудить тот или иной таск или уязвимость.Именно по этому я пишу поэтапный свой врайтап.
 
  • Нравится
Реакции: Vertigo и Xulinam
L

LiJagger

Отлично) Большое спасибо, за очередной подробный врайтап. Ты как всегда на пульсе непоняток. Очень много вопросов было по поводу Potator'а.
 
  • Нравится
Реакции: <~DarkNode~>

SooLFaa

Platinum
15.07.2016
898
1 559
BIT
19
Молодец. Важно заметить, что шелл должен быть не <?php а строго <? и есть возможность залить чистый php без картинки. Я делал так: Создал два файла с одинакомвы содержимым php (Для того чтобы совпадала Content-Length), но с разными расширениями. Первый jpg второй php. На самом для того, чтобы обмануть клиентский валидатор, который мне лень было отключать. Ловим бурпом jpg меняем расширение на php и бинго.
 
  • Нравится
Реакции: <~DarkNode~>
I

IioS

Кто может подсказать почему не приходит письмо активации? уже 3 мыла зарегала, и не на одно не пришло письмо... беда-печаль(
 
A

a113

Кто может подсказать почему не приходит письмо активации? уже 3 мыла зарегала, и не на одно не пришло письмо... беда-печаль(
Та же фигня была. Потом пришло. Еще иногда отказывается входить при валидных мыло/пароль. :(
 
  • Нравится
Реакции: IioS
V

VikTor1990

Заливаем в картинку шелл:
Примитивный вопрос новичка: "с помощью чего генерировался шелл?"
Просто не совсем понятно, и где можно доходчиво почитать про burp suite т.к. у меня вкладка "Repeater" осталась пустой после любых манипуляций с прокси
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Примитивный вопрос новичка: "с помощью чего генерировался шелл?"
Просто не совсем понятно, и где можно доходчиво почитать про burp suite т.к. у меня вкладка "Repeater" осталась пустой после любых манипуляций с прокси

https://github.com/tennc/webshell/blob/master/php/wso/WSO_base64.php


Заменить все теги <?php на <?


Что бы в репитер добавить запрос нужно на перехваченом запросе жмакнуть ПКМ и выбрать там "send to repeater"
Я просто юзаю хоткей ctrl+shift+r
 
N

nemainthium

https://github.com/tennc/webshell/blob/master/php/wso/WSO_base64.php


Заменить все теги <?php на <?


Что бы в репитер добавить запрос нужно на перехваченом запросе жмакнуть ПКМ и выбрать там "send to repeater"
Я просто юзаю хоткей ctrl+shift+r

А как вы определили путь до залитого шела? /test/logo/
[doublepost=1500780880,1500751367][/doublepost]В хабровском врайтапе брутфорс паса осуществлялся через бурп. Если кто так делал, поделитесь настройками интрудера или где можно почитать про это.
 

Citizen0

Green Team
07.02.2017
203
228
BIT
0
А как вы определили путь до залитого шела? /test/logo/
ПКМ по картинке и "Открыть картинку в новой вкладке".
Также, если ознакомиться с эксплойтом, то можно прочитать следующее
The resulting PHP file can then be accessed at

[Vtiger URL]/test/logo/2.php
Даже в видео ТС акцентировал на этом внимание.

или где можно почитать про это.
На сайте разработчика Burp Suite есть справка по всем инструментам.
В хабровском врайтапе брутфорс паса осуществлялся через бурп. Если кто так делал, поделитесь настройками интрудера
- Настраиваете Burp Suite
- Идете на страницу с CRM
- Вводите логин admin и любой пароль. Нажимаете на "Sign in"
- В Burp Suite ловите запрос
burp1.png

- ПКМ по полю
burp2.png

и выбираете "Send to Intruder"
- Кликаете на вкладку "Intruder"
- Вкладка "Target"
burp3.png

- Вкладка "Positions"
Тут мы оставим только пароль для перебора. Остальные параметры отредактируем
burp4.png

Результат
burp5.png

- На вкладка "Payloads" выбираете "Payload type" Simple list или Runtime file.
Допустим, выбрали Simple list. В секции Payload Options [Simple list] нажимаете на Load... и выбираете SecLists файл на 100000 паролей.

Остальное подстраиваете под себя.

Нажимаете на Start atack и ждете. Во вкладке Results можно выбрать сортировку по Length по убыванию.
 
N

nemainthium

Спасибо, помогло. С нетерпением жду мануала по взятию второго токена. Застрял на "проброске порта" вот тут:

111.png


Как это сделать, не допираю. Может кто расжует. Спасибо.
 
D

Dmitry88

Спасибо за подробный райт-ап. Как всегда, приятно читать. Промучился с бурпом, помогла установка свежей версии.
[doublepost=1500969946,1500966850][/doublepost]
Спасибо, помогло. С нетерпением жду мануала по взятию второго токена. Застрял на "проброске порта" вот тут:

Посмотреть вложение 10880

Как это сделать, не допираю. Может кто расжует. Спасибо.
Чтобы обеспечить удобный доступ к внутренней сети через вновь появившееся SSH подключение есть множество способов.

В первую очередь рекомендую статью «Pivoting или проброс портов» по

адресу

Кроме того, полезно знать интересную возможность стандартного SSH клиента — проброс портов без перезапуска сессии и добавления параметров в командную строку.

Для этого достаточно нажать комбинацию Shift+~+C и перейти в

командный режим работы:

ssh> -L 8086:192.168.0.6:80
Forwarding port.
осле ввода нужной команды мы получим доступ к 80-му порту

сервера 192.168.0.6 (photo) через порт 8086 на 127.0.0.1:

Проброс для RDP:

ssh> -L ourfreeport:targetip:targetport (-L 44444:192.168.1.2:3389)
После этого порт 192.168.1.2:3389 будет доступен по адресу 127.0.0.1:44444
 
  • Нравится
Реакции: nemainthium

SooLFaa

Platinum
15.07.2016
898
1 559
BIT
19
Код:
ssh -L 192.168.1.237:3390:192.168.12.2:3389 morgan@172.16.0.252 -p 22 -i /key

Первый ипишник локальный и порт на который прокидываемся, второй ипишник и порт который прокидываем.
[doublepost=1500999590,1500999553][/doublepost]А еще можно траффик завернуть в sshuttle
Код:
sshuttle -e "ssh -i /key" -r morgan@172.16.0.252 192.168.10.0/24 192.168.11.0/24 192.168.12.0/24
[doublepost=1500999639][/doublepost]Я вам потом напишу в другой лабе. Лабы пентестит трогать не буду по моральным соображениям т.к. эта тема Богдана.
 
Мы в соцсетях:

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