Menggunakan PowerShell untuk Meningkatkan Keistimewaan Akun Lokal

Menggunakan PowerShell untuk Meningkatkan Keistimewaan Akun Lokal

Eskalasi hak istimewa adalah penggunaan hak akun saat ini oleh penyerang untuk mendapatkan tambahan, biasanya tingkat akses yang lebih tinggi ke sistem. Meskipun eskalasi hak istimewa dapat disebabkan oleh eksploitasi kerentanan zero-day, atau pekerjaan peretas kelas satu yang melakukan serangan tertarget, atau malware yang disamarkan dengan cerdik, hal ini paling sering disebabkan oleh kesalahan konfigurasi komputer atau akun. Mengembangkan serangan lebih lanjut, penyerang menggunakan sejumlah kerentanan individu, yang secara bersama-sama dapat menyebabkan kebocoran data yang dahsyat.

Mengapa pengguna tidak boleh memiliki hak administrator lokal?

Jika Anda seorang profesional keamanan, mungkin terlihat jelas bahwa pengguna seharusnya tidak memiliki hak administrator lokal, karena ini:

  • Membuat akun mereka lebih rentan terhadap berbagai serangan
  • Membuat serangan yang sama jauh lebih parah

Sayangnya, bagi banyak organisasi hal ini masih menjadi isu yang sangat kontroversial dan terkadang disertai dengan diskusi yang memanas (lihat, misalnya, atasan saya mengatakan semua pengguna harus menjadi admin lokal). Tanpa masuk ke perincian diskusi ini, kami percaya bahwa penyerang memperoleh hak administrator lokal pada sistem yang sedang diselidiki, baik melalui eksploitasi atau karena mesin tidak terlindungi dengan baik.

Langkah 1Membalikkan Resolusi DNS dengan PowerShell

Secara default, PowerShell diinstal di banyak workstation lokal dan di sebagian besar server Windows. Dan meskipun bukan tanpa berlebihan bahwa itu dianggap sebagai alat otomatisasi dan kontrol yang sangat berguna, itu sama-sama mampu mengubah dirinya menjadi hampir tak terlihat malware tanpa file (program peretasan yang tidak meninggalkan jejak serangan).

Dalam kasus kami, penyerang mulai melakukan pengintaian jaringan menggunakan skrip PowerShell, secara berurutan mengulangi ruang alamat IP jaringan, mencoba menentukan apakah IP tertentu diselesaikan ke host, dan jika demikian, apa nama jaringan dari host ini.
Ada banyak cara untuk menyelesaikan tugas ini, tetapi menggunakan cmdlet Dapatkan-ADComputer adalah opsi yang solid karena mengembalikan kumpulan data yang sangat kaya tentang setiap node:

 import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq β€˜10.10.10.10’}

Jika kecepatan pada jaringan besar menjadi masalah, maka callback DNS dapat digunakan:

[System.Net.Dns]::GetHostEntry(β€˜10.10.10.10’).HostName

Menggunakan PowerShell untuk Meningkatkan Keistimewaan Akun Lokal

Metode daftar host di jaringan ini sangat populer, karena sebagian besar jaringan tidak menggunakan model keamanan tanpa kepercayaan dan tidak memantau permintaan DNS internal untuk semburan aktivitas yang mencurigakan.

Langkah 2: Pilih target

Hasil akhir dari langkah ini adalah untuk mendapatkan daftar nama host server dan workstation yang dapat digunakan untuk melanjutkan serangan.

Menggunakan PowerShell untuk Meningkatkan Keistimewaan Akun Lokal

Dari namanya, server 'HUB-FILER' tampaknya menjadi target yang layak seiring waktu, server file, sebagai aturan, mengakumulasi sejumlah besar folder jaringan dan terlalu banyak orang yang mengaksesnya secara berlebihan.

Menjelajah dengan Windows Explorer memungkinkan kami mendeteksi keberadaan folder bersama yang terbuka, tetapi akun kami saat ini tidak dapat mengaksesnya (mungkin kami hanya memiliki hak daftar).

Langkah 3: Pelajari ACL

Sekarang, di host HUB-FILER dan target share kami, kami dapat menjalankan skrip PowerShell untuk mendapatkan ACL. Kami dapat melakukan ini dari mesin lokal, karena kami sudah memiliki hak administrator lokal:

(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto

Hasil eksekusi:

Menggunakan PowerShell untuk Meningkatkan Keistimewaan Akun Lokal

Dari situ kita melihat bahwa grup Pengguna Domain hanya memiliki akses ke daftar, tetapi grup Helpdesk juga memiliki hak untuk mengubah.

Langkah 4: Identifikasi Akun

Berlari Dapatkan-ADGroupMember, kita bisa mendapatkan semua anggota grup ini:

Get-ADGroupMember -identity Helpdesk

Menggunakan PowerShell untuk Meningkatkan Keistimewaan Akun Lokal

Dalam daftar ini kami melihat akun komputer yang telah kami identifikasi dan telah diakses:

Menggunakan PowerShell untuk Meningkatkan Keistimewaan Akun Lokal

Langkah 5: Gunakan PSExec untuk dijalankan sebagai akun komputer

PsExec dari Microsoft Sysinternals memungkinkan Anda menjalankan perintah dalam konteks akun sistem SYSTEM@HUB-SHAREPOINT, yang kami ketahui adalah anggota grup target Helpdesk. Artinya, kita hanya perlu melakukan:

PsExec.exe -s -i cmd.exe

Nah, maka Anda memiliki akses penuh ke folder target HUB-FILERshareHR, karena Anda bekerja dalam konteks akun komputer HUB-SHAREPOINT. Dan dengan akses ini, data dapat disalin ke perangkat penyimpanan portabel atau diambil dan dikirim melalui jaringan.

Langkah 6: Mendeteksi serangan ini

Kerentanan penyetelan hak istimewa akun khusus ini (akun komputer yang mengakses berbagi jaringan alih-alih akun pengguna atau akun layanan) dapat ditemukan. Namun, tanpa alat yang tepat, hal ini sangat sulit dilakukan.

Untuk mendeteksi dan mencegah serangan kategori ini, kita dapat menggunakan DataAdvantage untuk mengidentifikasi grup dengan akun komputer di dalamnya, lalu menolak akses ke grup tersebut. Peringatan Data melangkah lebih jauh dan memungkinkan Anda membuat pemberitahuan khusus untuk skenario semacam ini.

Tangkapan layar di bawah menunjukkan pemberitahuan khusus yang akan menyala setiap kali akun komputer mengakses data di server yang dipantau.

Menggunakan PowerShell untuk Meningkatkan Keistimewaan Akun Lokal

Langkah selanjutnya dengan PowerShell

Ingin tahu lebih banyak? Gunakan kode buka kunci "blog" untuk akses gratis ke penuh Kursus video PowerShell dan Active Directory Basics.

Sumber: www.habr.com

Tambah komentar