HTB Ambassador. Повышаем привилегии через Consul

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

  • Разведка
  • Сканирование портов
  • Точка входа
  • Точка опоры
  • Продвижение
  • Локальное повышение привилегий

В этом рай­тапе я покажу, как читать фай­лы из Grafana, затем мы порабо­таем с базой дан­ных для получе­ния дос­тупа к хос­ту и повысим при­виле­гии через Consul.

Уп­ражнять­ся будем на учеб­ной машине Ambassador с пло­щад­ки Hack The Box. Уро­вень слож­ности — сред­ний.

warning

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

 

Разведка

 

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

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

10.10.11.183 ambassador.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 — служ­ба OpenSSH 8.2p1;
  • 80 — веб‑сер­вер Apache 2.4.41;
  • 3000 — не опре­делен­ный веб‑сер­вер;
  • 3306 — служ­ба MySQL 8.0.30.

Пер­вым делом пос­мотрим на сай­ты.

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

В пер­вом же пос­те находим информа­цию о том, как под­клю­чать­ся к сер­веру по SSH, и получа­ем имя поль­зовате­ля — developer. Так­же узна­ем, что можем где‑то най­ти пароль.

Ин­форма­ция про сер­вер раз­работ­ки

На вто­ром сай­те нас встре­чает фор­ма авто­риза­ции Grafana.

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

Точка входа

Grafana — сис­тема визу­али­зации дан­ных, ори­енти­рован­ная на сис­темы ИТ‑монито­рин­га. Поль­зовате­лю пре­дос­тавля­ются диаг­раммы, гра­фики и таб­лицы с раз­ными показа­теля­ми. На стра­нице авто­риза­ции мы можем уви­деть вер­сию плат­формы — 8.2.0.

Пер­вым делом сто­ит про­верить, есть ли для обна­ружен­ной вер­сии готовые экс­пло­иты. Искать нуж­но в базах вро­де HackerOne и exploit-db, а так­же сто­ит заг­лянуть на GitHub. Так, по зап­росу «grafana v8.2.0 (d7f71e9eae) exploit» мы сра­зу узна­ем, что в этой вер­сии есть уяз­вимость с иден­тифика­тором CVE.

По­иск экс­пло­итов с помощью Google

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

Даль­нейший поиск на GitHub при­водит нас к ра­боче­му экс­пло­иту, которо­му в качес­тве парамет­ра нуж­но передать толь­ко URL сис­темы монито­рин­га.

Справ­ка по экс­пло­иту

В качес­тве тес­та про­буем про­читать файл /etc/passwd.

Со­дер­жимое фай­ла /etc/passwd

Сре­ди поль­зовате­лей обна­ружим отме­чен­ного ранее поль­зовате­ля developer.

 

Точка опоры

Пер­вым делом сра­зу попыта­емся про­читать при­ват­ный SSH-ключ /home/developer/.ssh/id_rsa.

Чте­ние фай­ла id_rsa

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

Ответить

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