HTB Pov. Захватываем веб-сервер IIS через десериализацию ViewState

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

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

Се­год­ня я покажу, как получить воз­можность уда­лен­ного выпол­нения кода на веб‑сер­вере под управле­нием IIS через уяз­вимость типа LFI (локаль­ное вклю­чение фай­лов). А для повыше­ния при­виле­гий в Windows сна­чала акти­виру­ем, а затем исполь­зуем при­виле­гию SeDebugPrivilege.

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

warning

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

 

Разведка

 

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

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

10.10.11.251 pov.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).

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

Ска­нер нашел все­го один откры­тый порт 80 — веб‑сер­вер Microsoft IIS 10.0. Там нас встре­чает однос­тра­нич­ный сайт.

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

Точка входа

На сай­те ничего инте­рес­ного най­ти не уда­лось, поэто­му прис­тупим к ска­ниро­ванию.

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

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

При запус­ке ука­зыва­ем сле­дующие парамет­ры:

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

За­даем все нуж­ные парамет­ры и запус­каем перебор:

feroxbuster -u 'http://pov.htb/' -w directory_2.3_medium.txt -t 256 -d 1

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

Здесь исполь­зуем такие парамет­ры:

  • -u — URL-адрес;
  • -w — сло­варь;
  • -t — количес­тво потоков;
  • -H — HTTP-заголо­вок;
  • -fs — филь­тр по раз­меру стра­ницы.

ffuf -u 'http://pov.htb/' -H 'Host: FUZZ.pov.htb' -w subdomains-bitquark-top100000.txt -t 128 -fs 12330

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

На­ходим новый под­домен и добав­ляем запись о нем в файл /etc/hosts.

10.10.11.251 pov.htb dev.pov.htb

На новом сай­те мож­но ска­чать пор­тфо­лио поль­зовате­ля.

Стра­ница сай­та

Зап­рос на ска­чива­ние фай­ла

В зап­росе отме­тим нес­коль­ко осо­бен­ностей. Во‑пер­вых, исполь­зует­ся ViewState — фича веб‑сер­вера ASP.NET, которая авто­мати­чес­ки сох­раня­ет дан­ные стра­ниц меж­ду раз­ными зап­росами. При рас­кры­тии нас­тро­ек это может дать нам воз­можность уда­лен­но выпол­нять код на сер­вере. Во‑вто­рых, обра­щаем вни­мание на спо­соб, которым ука­зано имя фай­ла для ска­чива­ния.

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

Ответить

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