Категория > Новости > HTB Spectra. Пентестим WordPress и повышаем привилегии в Unix - «Новости»

HTB Spectra. Пентестим WordPress и повышаем привилегии в Unix - «Новости»


30-06-2021, 00:00. Автор: Samuels
Hack The Box под наз­вани­ем Spectra. Мы будем пен­тестить сайт под управле­нием WordPress, прод­вигать­ся на хос­те бла­года­ря авто­логи­ну и повысим при­виле­гии за счет коман­ды initctl.

warning


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



 

Разведка


 

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


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


10.10.10.229 spectra.htb

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


ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
HTB Spectra. Пентестим WordPress и повышаем привилегии в Unix - «Новости»
Ре­зуль­тат работы скрип­та

По резуль­татам ска­ниро­вания име­ем три откры­тых пор­та:



  • порт 22 — служ­ба SSH;

  • порт 80 — веб‑сер­вер nginx 1.17.4;

  • порт 3306 — СУБД MySQL.


SSH и MySQL для нас пока зак­рыты, поэто­му нач­нем с веба. Вни­матель­но изу­чим сайт и соберем информа­цию.


 

Сканирование веб-контента


Сайт пред­став­ляет собой прос­то стра­ницу с дву­мя ссыл­ками. Пер­вая ведет к катало­гу, где раз­вернут сайт Software Issue Management на WordPress, а по вто­рому адре­су прос­то получим сооб­щение об ошиб­ке при под­клю­чении к базе дан­ных.


Глав­ная стра­ница сай­та
Стра­ница сай­та Software Issue Management
Со­обще­ние об ошиб­ке соеди­нения с базой дан­ных 

Точка входа


Ин­тересен адрес тес­тового сай­та:


http://10.10.10.229/testing/index.php

Мне показа­лось подоз­ритель­ным пря­мое ука­зание индекс‑фай­ла index.php, поэто­му я про­верил, что вер­нет сер­вер при обра­щении к http://10.10.10.229/testing/. И сер­вер вдруг вер­нул все содер­жимое этой дирек­тории! Прос­тей­шая ошиб­ка в нас­трой­ках веб‑сер­вера, которая иног­да может помочь.


Со­дер­жимое дирек­тории testing

Быс­тро перес­мотрев фай­лы, я нашел в wp-config.php.save (бэкап wp-config.php) учет­ные дан­ные для под­клю­чения к базе дан­ных.


Учет­ные дан­ные для под­клю­чения к базе дан­ных

Уже что‑то име­ем, но под­клю­чить­ся к базе дан­ных у меня не выш­ло, пос­коль­ку либо зап­рещена уда­лен­ная авто­риза­ция, либо в нас­трой­ках служ­бы ука­зан толь­ко опре­делен­ный адрес, с которо­го раз­решено под­клю­чение. Так что про­дол­жим изу­чать веб и перей­дем к WordPress.


 

WordPress


Для тес­тирова­ния сай­тов на WordPress мне не раз при­гож­далась ути­лита WPScan. С ее помощью мож­но обна­ружить уяз­вимые вер­сии самого WordPress, тем и пла­гинов, а так­же соб­рать спи­сок поль­зовате­лей и переб­рать учет­ные дан­ные — в общем, все, что нуж­но.


Ча­ще все­го уяз­вимос­ти кро­ются в пла­гинах, поэто­му я зарядил перебор в агрессив­ном режиме (занима­ет око­ло получа­са).


wpscan --urlhttp://spectra.htb/main/--plugins-detectionaggressive

К сожале­нию, ничего обна­руже­но не было. Но вспом­ним, что у нас есть один пароль, который мож­но спре­ить (Password Spraying) по всем най­ден­ным поль­зовате­лям. Давай поищем их в CMS. Запус­каем WPScan с опци­ей -e u.


wpscan --urlhttp://spectra.htb/main/-e u
Най­ден­ные поль­зовате­ли

И у нас получа­ется авто­ризо­вать­ся от име­ни поль­зовате­ля administrator с паролем, най­ден­ным в бэкапе фай­ла кон­фигура­ций WordPress.


Про­филь поль­зовате­ля administrator 

Точка опоры


Ад­минис­тра­тор WordPress име­ет пра­во заг­ружать на сер­вер файл, поэто­му мы можем заг­рузить шелл и выпол­нить бэк­коннект к сво­ему хос­ту. В дан­ном слу­чае это лег­че все­го сде­лать с помощью модуля exploit/unix/webapp/wp_admin_shell_upload в Metasploit Framework. В опци­ях модуля сле­дует ука­зать адрес и порт локаль­ного хос­та для под­клю­чения (LHOST и LPORT), целевой хост (RHOSTS), дан­ные адми­нис­тра­тор­ской учет­ки и путь к домаш­нему катало­гу WordPress (TARGETURI).



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