HTB Pandora. Захватываем сервер через систему мониторинга Pandora

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

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

В этом рай­тапе я покажу, как получить дос­туп к хос­ту бла­года­ря информа­ции, най­ден­ной при ска­ниро­вании SNMP, затем мы про­экс­плу­ати­руем уяз­вимос­ти в Pandora FMS. Для повыше­ния при­виле­гий про­ана­лизи­руем поведе­ние поль­зователь­ско­го бинар­ного фай­ла и помани­пули­руем перемен­ными окру­жения. Это поз­волит нам зах­ватить лег­кую по уров­ню слож­ности машину Pandora с пло­щад­ки Hack The Box.

warning

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

 

Разведка

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

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

10.10.11.136 pandora.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;
  • 3128 — тоже веб‑сер­вер, но обыч­но на этом пор­те работа­ет прок­си‑сер­вер.

SSH мы пока что про­пус­каем и перехо­дим к озна­ком­лению с веб‑сер­вером.

Справка: брутфорс учеток

Пос­коль­ку вна­чале у нас нет учет­ных дан­ных, нет и смыс­ла изу­чать служ­бы, которые всег­да тре­буют авто­риза­ции (нап­ример, SSH). Единс­твен­ное, что мы можем делать здесь, — переби­рать пароли брут­форсом, но машины с HTB поч­ти всег­да мож­но прой­ти по‑дру­гому. В жиз­ни таких вари­антов может не быть, к тому же есть шан­сы подоб­рать пароль или получить его при помощи соци­аль­ной инже­нерии.

Глав­ная стра­ница сай­та

На пер­вый взгляд, сайт нам ничего не дает. Поп­робу­ем коп­нуть глуб­же, нап­ример с помощью WhatWeb. WhatWeb рас­позна­ет веб‑тех­нологии, в том чис­ле сис­тему управле­ния кон­тентом (CMS), плат­формы для ведения бло­гов, пакеты ста­тис­тики и ана­лити­ки, биб­лиоте­ки JavaScript, веб‑сер­веры и дру­гие тех­нологии. К тому же для этой прог­раммы есть более 1700 пла­гинов, которые могут быть исполь­зованы в агрессив­ном режиме ска­ниро­вания. Если запус­тить прог­рамму с нас­трой­ками по умол­чанию, то будет выпол­нен все­го один зап­рос.

whatweb http://pandora.htb

Ре­зуль­тат ска­ниро­вания WhatWeb

Но никакой новой информа­ции сно­ва не получа­ем. В таком слу­чае прос­каниру­ем скры­тые дирек­тории в кор­невом катало­ге сай­та, к при­меру с помощью ffuf.

Справка: сканирование веба c ffuf

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

Я пред­почитаю лег­кий и очень быс­трый ffuf. При запус­ке ука­зыва­ем сле­дующие парамет­ры:

  • -w — сло­варь (я исполь­зую сло­вари из набора SecLists);
  • -t — количес­тво потоков;
  • -u — URL;
  • -fc — исклю­чить из резуль­тата отве­ты с кодом 403.

Ко­ман­да получа­ется сле­дующая:

ffuf -u http://pandora.htb/FUZZ -t 256 -w directory_2.3_medium.txt

Ре­зуль­тат ска­ниро­вания катало­гов

И сно­ва ничего важ­ного. К дан­ному момен­ту в моем чек‑лис­те остался не зак­рыт пункт ска­ниро­вания пор­тов UDP, поэто­му я зарядил Nmap, и это дало пло­ды.

sudo nmap --min-rate=1500 -sU pandora.htb

Ре­зуль­тат ска­ниро­вания UDP-пор­тов 

Точка опоры

Пос­ле ска­ниро­вания наибо­лее веро­ятных пор­тов UDP мы наш­ли служ­бу SNMP на пор­те 161. SNMP — прос­той про­токол управле­ния сетью. Он при­меня­ется для монито­рин­га устрой­ств в сети (нап­ример, мар­шру­тиза­торов, ком­мутато­ров, прин­теров). Тут сле­дует сра­зу упо­мянуть два понятия:

  • MIB (management information base) — база дан­ных информа­ции управле­ния, хра­нящая дан­ные обо всех объ­ектах (парамет­рах и нас­трой­ках) устрой­ства;
  • OID (object identificator) — чис­ловой иден­тифика­тор объ­екта в дереве MIB.

При работе с уда­лен­ной сис­темой по SNMP все зап­росы выпол­няют­ся через OID, отра­жающий положе­ние объ­екта в дереве объ­ектов MIB. Но что­бы получить все стро­ки, нам сна­чала нуж­но прой­ти сво­еоб­разную аутен­тифика­цию, ука­зав стро­ку — иден­тифика­тор сооб­щес­тва. Так как мы ее не зна­ем, нуж­но переб­рать, к при­меру с помощью Hydra. Переби­рать будем по сло­варю из набора SecLists.

hydra -P /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt pandora.htb snmp

Пе­ребор community-стро­ки

Все OID сис­темы мож­но получить, прос­каниро­вав устрой­ство, нап­ример сле­дующей коман­дой:

snmpbulkwalk -On -r1 -v2c -c public pandora.htb 1

Дан­ные, получен­ные из сис­темы

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

Сес­сия пер­вого поль­зовате­ля 

Продвижение

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

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

Ответить

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