В этом рай­тапе я покажу, как исполь­зовать и дорабо­тать бэк­шелл на ASP.NET, затем обой­дем полити­ки AppLocker с помощью DLL Hijacking, а в кон­це при­меним популяр­ные ата­ки DCSync и PassTheTicket для получе­ния пол­ного дос­тупа к хос­ту.

По­лиго­ном для наших упражне­ний пос­лужит учеб­ная машина Hathor с пло­щад­ки Hack The Box. Уро­вень слож­ности — «безум­ный»!

warning

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

 

Разведка

 

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

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

10.10.11.147    hathor.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).

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

Наш­ли мно­жес­тво пор­тов, что типич­но для Windows:

  • 53 — служ­ба DNS;
  • 80 (HTTP) — веб‑сер­вер Microsoft IIS/10.0;
  • 88 — служ­ба Kerberos;
  • 135 — служ­ба уда­лен­ного вызова про­цедур (Microsoft RPC). Исполь­зует­ся для вза­имо­дей­ствия кон­трол­лер — кон­трол­лер и кон­трол­лер — кли­ент;
  • 139 — служ­ба сеан­сов NetBIOS, NetLogon;
  • 389 — служ­ба LDAP;
  • 445 — служ­ба SMB;
  • 464 — служ­ба сме­ны пароля Kerberos;
  • 593 (HTTP-RPC-EPMAP) — исполь­зует­ся в служ­бах DCOM и MS Exchange;
  • 636 — LDAP с шиф­ровани­ем SSL или TLS;
  • 3268 (LDAP) — для дос­тупа к Global Catalog от кли­ента к кон­трол­леру;
  • 3269 (LDAPS) — для дос­тупа к Global Catalog от кли­ента к кон­трол­леру через защищен­ное соеди­нение;
  • 5985 — служ­ба уда­лен­ного управле­ния (WinRM);
  • 9389 — веб‑служ­бы AD DS.

Nmap авто­мати­чес­ки показы­вает информа­цию из сер­тифика­тов. Имен­но так мы узна­ем о новых доменах, которые добавим в /etc/hosts.

10.10.11.147 hathor.htb hathor.windcorp.htb windcorp.htb

Справка: robots.txt

Этот файл исполь­зует­ся для того, что­бы поп­росить кра­уле­ры (нап­ример, Google или Яндекс) не тро­гать какие‑то опре­делен­ные катало­ги. Ник­то не хочет, к при­меру, что­бы в поис­ковой выдаче появ­лялись стра­ницы авто­риза­ции адми­нис­тра­торов сай­та, фай­лы или пер­сональ­ная информа­ция со стра­ниц поль­зовате­лей и про­чие вещи в таком духе. Одна­ко и зло­умыш­ленни­ки пер­вым делом прос­матри­вают этот файл, что­бы узнать о фай­лах и катало­гах, которые стре­мит­ся спря­тать адми­нис­тра­тор сай­та.

В нашем robots.txt аж 29 скры­тых катало­гов, в том чис­ле и админка.

Стартовая страница сайта
Стар­товая стра­ница сай­та

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

Панель авторизации и регистрации
Па­нель авто­риза­ции и регис­тра­ции
 

Точка входа

Вой­дя в сис­тему как поль­зователь, сра­зу уви­дим спи­сок всех акка­унтов.

Список зарегистрированных пользователей
Спи­сок зарегис­три­рован­ных поль­зовате­лей

В основном ничего инте­рес­ного нет, поэто­му перей­дем к ска­ниро­ванию скры­тых катало­гов. Сов­сем не факт, что все они были перечис­лены в robots.txt, так что рас­чехля­ем ffuf.

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

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

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

  • -w — сло­варь (я исполь­зую сло­вари из набора SecLists);
  • -t — количес­тво потоков;
  • -u — URL.
ffuf -u 'http://windcorp.htb/FUZZ' -t 256 -w directory_2.3_medium_lowercase.txt
Результат сканирования каталогов с помощью ffuf
Ре­зуль­тат ска­ниро­вания катало­гов с помощью ffuf

Из мно­жес­тва стра­ниц в выводе есть те, которые воз­вра­щают код 200, одна из них — filemanager, но она нам недос­тупна.

Сообщение о запрете доступа
Со­обще­ние о зап­рете дос­тупа

Ни­чего боль­ше не обна­ружив, я решил поп­робовать авто­ризо­вать­ся с помощью спис­ка дефол­тных уче­ток. И от име­ни admin@admin.com : admin авто­ризо­вал­ся как адми­нис­тра­тор сай­та.

Панель администратора сайта
Па­нель адми­нис­тра­тора сай­та
 

Точка опоры

Мы наш­ли фай­ловое хра­нили­ще, зна­чит, поп­робу­ем заг­рузить реверс‑шелл и получить RCE. Так как исполь­зует­ся веб‑сер­вер IIS, заг­рузим шелл на ASPX. В нем нам нуж­но будет лишь ука­зать адрес, хост и порт для под­клю­чения.

Измененный код реверс-шелла
Из­менен­ный код реверс‑шел­ла

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

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

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

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

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


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

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

    Подписаться

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