В этот раз я покажу, как мож­но экс­плу­ати­ровать цепоч­ку чрез­мерных раз­решений Active Directory. Мы зав­ладе­ем FTP-сер­вером, потом раз­берем­ся с менед­жером паролей и вытащим из него учет­ку поль­зовате­ля. Затем про­экс­плу­ати­руем еще одну цепоч­ку чрез­мерных раз­решений для выпол­нения DCSync и зах­вата все­го домена.

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

warning

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

 

Разведка

 

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

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

10.10.11.42 Administrator.htb

На этот раз, помимо IP-адре­са машины, нам так­же пре­дос­тавля­ют и учет­ные дан­ные с пра­вами поль­зовате­ля домена.

Информация о машине
Ин­форма­ция о машине

За­пус­каем ска­ниро­вание пор­тов.

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

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

На­ибо­лее извес­тный инс­тру­мент для ска­ниро­вания — это Nmap. Улуч­шить резуль­таты его работы ты можешь при помощи сле­дующе­го скрип­та:

#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1

Он дей­ству­ет в два эта­па. На пер­вом про­изво­дит­ся обыч­ное быс­трое ска­ниро­вание, на вто­ром — более тща­тель­ное ска­ниро­вание, с исполь­зовани­ем име­ющих­ся скрип­тов (опция -A).

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

Ска­нер нашел 13 откры­тых пор­тов:

  • 21 — FTP;
  • 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.

Про­верим выдан­ные учет­ные дан­ные с помощью NetExec.

nxc smb 10.10.11.42 -u olivia -p ichliebedich
Результат проверки учетных данных
Ре­зуль­тат про­вер­ки учет­ных дан­ных
 

Сбор данных

На сер­вере работа­ют служ­бы WinRM и FTP, поэто­му сто­ит про­верить уро­вень дос­тупа к ним в кон­тек­сте текущей учет­ной записи.

nxc winrm 10.10.11.42 -u olivia -p ichliebedich
Проверка службы WinRM
Про­вер­ка служ­бы WinRM
nxc ftp 10.10.11.42 -u olivia -p ichliebedich
Проверка службы FTP
Про­вер­ка служ­бы FTP

Мы можем получить сес­сию через WinRM, но дос­тупа к FTP у нас нет.

Те­перь получим спи­сок поль­зовате­лей. Иног­да в опи­сании учет­ных записей мож­но най­ти мно­го инте­рес­ного. Для такого зап­роса в NetExec есть параметр --users.

nxc ldap 10.10.11.42 -u olivia -p ichliebedich --users
Список пользователей
Спи­сок поль­зовате­лей

Ни­чего инте­рес­ного не находим, поэто­му авто­ризу­емся в служ­бе WinRM через Evil-WinRM.

evil-winrm -i 10.10.11.42 -u olivia -p ichliebedich
Информация о пользователе
Ин­форма­ция о поль­зовате­ле

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

Справка: BloodHound

Ути­лита BloodHound исполь­зует теорию гра­фов для выяв­ления скры­тых и зачас­тую неп­редна­мерен­ных вза­имос­вязей в сре­де Active Directory. Ее мож­но исполь­зовать, что­бы лег­ко иден­тифици­ровать очень слож­ные пути ата­ки. Помимо самой ути­литы, которая поз­воля­ет прос­матри­вать граф, сущес­тву­ет часть, заг­ружа­емая на уда­лен­ный хост для сбо­ра информа­ции. Она быва­ет в вер­сиях для Windows — на PowerShell или C# — и для Linux — на Python.

За­пус­каем сбор информа­ции при помощи SharpHound:

SharpHound.exe -c All --domaincontroller 10.10.11.42 --ldapusername olivia --ldappassword ichliebedich -d administrator.htb
Сбор базы BloodHound
Сбор базы BloodHound

Ска­чива­ем соб­ранную базу коман­дой download и заг­ружа­ем в сам BloodHound, пос­ле чего стро­им граф от име­юще­гося у нас поль­зовате­ля olivia.

Граф BloodHound
Граф BloodHound

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

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

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

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

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

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии