Взлом

HTB Monitors. Применяем еще один способ побега из Docker


Содержание статьи

  • Разведка. Сканирование портов
  • Точка входа
  • Сканирование WordPress
  • Уязвимость LFI
  • Точка опоры
  • Продвижение
  • Получение флага пользователя
  • Погружение в Docker
  • Локальное повышение привилегий

В этой статье я покажу про­хож­дение слож­ной машины Monitors с пло­щад­ки Hack The Box. Мы пос­каниру­ем сайт на WordPress, получим RCE в CMS Cacti, про­экс­плу­ати­руем дыру в Apache OFBiz и, наконец, сбе­жим из Docker с мак­сималь­ными при­виле­гиями бла­года­ря SYS_MODULE. Поеха­ли!

warning

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

 

Разведка. Сканирование портов

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

10.10.10.238 monitors.htb

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

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

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

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

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

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

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

Ви­дим два откры­тых пор­та: 22 (служ­ба SSH) и 80 (веб‑сер­вер Apache 2.4.29). На веб‑сер­вере работа­ет WordPress 5.5.1, с его иссле­дова­ния мы и нач­нем.

 

Точка входа

 

Сканирование WordPress

Тес­тировать сай­ты на WordPress удоб­нее все­го ути­литой WPScan. С ее помощью мож­но обна­ружить уяз­вимые вер­сии самого WordPress, тем и пла­гинов, а так­же соб­рать име­на поль­зовате­лей и переб­рать учет­ные дан­ные. В общем, все, что может понадо­бить­ся! Перед началом ска­ниро­вания советую зарегис­три­ровать­ся на офи­циаль­ном сай­те WPScan и получить токен API. Тог­да ути­лита будет авто­мати­чес­ки про­верять най­ден­ные стра­ницы на уяз­вимос­ти. Нам даже пре­дос­тавят ссыл­ку на отчет или готовый экс­пло­ит!

Ча­ще все­го уяз­вимы пла­гины, поэто­му я зарядил их перебор (опция -e ap) в агрессив­ном режиме (опция --plugins-detection aggressive), исполь­зуя 128 потоков (опция -t):

wpscan --url http://monitors.htb -e ap --plugins-detection aggressive -t 128 --api-token [token]

Об­наружен­ные пла­гины

Пот­ратив нес­коль­ко минут, мы получа­ем отчет, в котором нап­ротив най­ден­ного в агрессив­ном режиме пла­гина сто­ит помет­ка «1 vulnerability identified». Зна­чит, на целевом сай­те уста­нов­лен уяз­вимый пла­гин Spritz 1.0. Заод­но нам дали ссыл­ку на Exploit-DB, где есть опи­сание уяз­вимос­ти. Но если у тебя спе­циали­зиро­ван­ный дистр вро­де Kali Linux, то база ExploitDB уже есть на тво­ем дис­ке и ты можешь исполь­зовать ути­литу searchsploit, что­бы искать по ней.

searchsploit 44544
searchsploit -p php/webapps/44544.php

Экс­пло­ит в локаль­ной базе searchsploit

Опи­сание экс­пло­ита 44544 для пла­гина Spritz 1.0

Из опи­сания экс­пло­ита мы видим, что пла­гин уяз­вим к LFI — локаль­ному вклю­чению фай­лов.

Источник: xakep.ru

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *