Категория > Новости > HTB UpDown. Эксплуатируем Race Condition при атаке на веб-сервер - «Новости»

HTB UpDown. Эксплуатируем Race Condition при атаке на веб-сервер - «Новости»


25-01-2023, 00:02. Автор: Bennett
Hack The Box. Уро­вень слож­ности отме­чен как сред­ний.

warning


Под­клю­чать­ся к машинам с HTB рекомен­дует­ся толь­ко через VPN. Не делай это­го с компь­юте­ров, где есть важ­ные для тебя дан­ные, так как ты ока­жешь­ся в общей сети с дру­гими учас­тни­ками.



 

Разведка


 

Сканирование портов


До­бав­ляем IP-адрес машины в /etc/hosts:


10.10.11.177 updown.htb

И запус­каем ска­ниро­вание пор­тов.



Справка: сканирование портов


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


На­ибо­лее извес­тный инс­тру­мент для ска­ниро­вания — это Nmap. Улуч­шить резуль­таты его работы ты можешь при помощи сле­дующе­го скрип­та:


ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1

Он дей­ству­ет в два эта­па. На пер­вом про­изво­дит­ся обыч­ное быс­трое ска­ниро­вание, на вто­ром — более тща­тель­ное ска­ниро­вание, с исполь­зовани­ем име­ющих­ся скрип­тов (опция -A).



Ре­зуль­тат работы скрип­та

Мы наш­ли два откры­тых пор­та: 22 — служ­ба OpenSSH 8.2p1 и 80 — веб‑сер­вер Apache 2.4.41. На веб‑сер­вере нас встре­чает чекер сай­тов.


Глав­ная стра­ница сай­та updown.htb

Глав­ная стра­ница рас­кры­вает нам реаль­ный домен — siteisup.htb. Поэто­му добав­ляем запись в файл /etc/hosts:


10.10.11.177 updown.htb siteisup.htb

За­тем я попытал­ся пос­лать зап­рос на свой прос­тень­кий HTTP-сер­вер, который мож­но запус­тить коман­дой python3 -m http.server 80. В ито­ге я получил ответ, содер­жащий стра­ницу HTML в тек­сто­вом виде, а в логах сво­его сер­вера уви­дел сле­дующий GET-зап­рос.


Ре­зуль­тат про­вер­ки хос­та

На сай­те боль­ше ничего инте­рес­ного най­ти не уда­лось, поэто­му прис­тупим к ска­ниро­ванию.



Справка: сканирование веба c ffuf


Од­но из пер­вых дей­ствий при тес­тирова­нии безопас­ности веб‑при­ложе­ния — это ска­ниро­вание методом перебо­ра катало­гов, что­бы най­ти скры­тую информа­цию и недос­тупные обыч­ным посети­телям фун­кции. Для это­го мож­но исполь­зовать прог­раммы вро­де dirsearch и DIRB.


Я пред­почитаю лег­кий и очень быс­трый ffuf. При запус­ке ука­зыва­ем сле­дующие парамет­ры:




  • -w — сло­варь (я исполь­зую сло­вари из набора SecLists);


  • -t — количес­тво потоков;


  • -u — URL.


За­пус­каем ffuf:


ffuf -u 'http://siteisup.htb/FUZZ' -wdirectory_2.3_medium_lowercase.txt -t 256
Ре­зуль­тат ска­ниро­вания катало­гов с помощью ffuf

На­ходим инте­рес­ный каталог dev и пов­торя­ем ска­ниро­вание уже в нем.


ffuf -u 'http://siteisup.htb/dev/FUZZ' -wfiles_interesting.txt -t 256
Ре­зуль­тат ска­ниро­вания фай­лов с помощью ffuf

И обна­ружи­ваем репози­торий Git, а это явная точ­ка вхо­да.


 

Точка входа


Те­перь нам нуж­но сдам­пить най­ден­ный репози­торий, для чего есть набор скрип­тов dvcs-ripper или спе­циаль­ное средс­тво git-dumper. На этот раз вос­поль­зуем­ся вто­рым.


git-dumper http://siteisup.htb/dev/dev

Пос­ле заг­рузки репози­тория нуж­но иссле­довать не толь­ко исходный код, но и вне­сен­ные изме­нения. Для удобс­тва пред­став­ления я исполь­зую прог­рамму gitk, которую надо открыть из дирек­тории, где рас­положен каталог .git.


Пред­став­ление репози­тория в gitk

В репози­тории находим файл admin.php, который отсутс­тву­ет на самом сай­те, а это зна­чит, что нам нуж­но най­ти новый сайт. Для это­го с помощью ffuf прос­каниру­ем под­домены. При запус­ке добавим параметр -H — заголо­вок HTTP.


ffuf -uhttp://siteisup.htb/-t 256 -wsubdomains-top1million-110000.txt -H 'Host: FUZZ.siteisup.htb'
Ре­зуль­тат ска­ниро­вания под­доменов с помощью ffuf

На­ходим под­домен dev и добав­ляем его в файл /etc/hosts.


10.10.11.177 updown.htb siteisup.htb dev.siteisup.htb

Но к сай­ту нет дос­тупа.


Ошиб­ка при обра­щении к сай­ту

Перейти обратно к новости