Halo, hari ini kita akan berbicara tentang teknik bypass Applocker di lingkungan Windows. Apa itu Applocker, bagaimana cara melindungi sistem, dan yang lebih penting, cara mem-bypass fitur keamanan ini. Begitu banyak masalah yang harus diatasi dalam artikel ini!
Apa itu Applocker?
Applocker adalah alat daftar putih perangkat lunak yang diperkenalkan oleh Microsoft mulai dari Windows Vista/Seven/2008 untuk membatasi pengguna standar agar hanya menjalankan aplikasi tertentu pada sistem. misalnya: "Alice dapat menjalankan explorer.exe, namun Bob tidak bisa!"
Jika Anda sedang melakukan uji penetrasi, kemungkinan besar Anda akan menemukan Applocker pada mesin yang sangat sensitif: komputer industri, ATM, workstation bisnis, dll.
Bagaimana cara kerjanya?
Untuk mengaktifkan Applocker di mesin pengujian Anda, mulai layanan Identitas Aplikasi (Alat Administratif -> Layanan), lalu buka Editor Kebijakan Grup ( gpedit.msc di mesin lokal atau gpmc.msc di pengontrol domain). Jelajahi "Kebijakan Kontrol Aplikasi" di "Pengaturan Keamanan":

Klik "Konfigurasikan Penegakan Aturan" untuk memilih jenis pemfilteran yang akan dilakukan. Seperti yang Anda lihat, Applocker mencakup lima jenis aplikasi:
- Ini adalah aplikasi .exe dan .com biasa (cmd.exe, ipconfig.exe, dll.)
- File Penginstal Windows (.msi, .msp, .mst), biasanya digunakan untuk menginstal perangkat lunak baru di mesin.
- File skrip dengan ekstensi berikut .ps1, .vbs, .vba, .cmd dan .js.
- Aplikasi Terpaket diinstal melalui Microsoft Store
- File DLL (.dll dan .ocx di tab lanjutan).
Dalam tutorial ini, kita hanya akan berbicara tentang batasan yang paling sering digunakan di lingkungan dunia nyata yaitu aturan tentang executable, installer, dan skrip.
Untuk masing-masing dari lima kategori yang disebutkan di atas, kita dapat menentukan aturan yang mengatur penggunaannya berdasarkan tiga kriteria:
- Jalur eksekusi : misalnya aturan Applocker default mengizinkan semua skrip dan eksekusi yang ada di “ C:\Windows ” dan “ C:\Program Files ”. Itu harus dilakukan – setidaknya untuk beberapa program – jika tidak, sistem akan mengalami masalah booting.

- Informasi penerbit: beberapa executable (biner Windows misalnya) ditandatangani menggunakan kunci publik vendor. Applocker dapat mengandalkan informasi ini untuk menolak/mengizinkan executable untuk dijalankan. Fitur ini jarang digunakan.
- File hash: Applocker menyimpan hash MD5 dari file yang diizinkan (atau dilarang). Setiap kali sebuah program berjalan, Applocker memeriksa MD5-nya dan memutuskannya. Aturan-aturan ini dapat menghabiskan banyak memori, sehingga sebagian besar digunakan untuk melarang beberapa executable yang "berbahaya".
Ini mungkin tampak seperti banyak tombol untuk diubah. Dia. Mengkonfigurasi Applocker bukan untuk menjadi lemah hati. Untuk membuat tutorial ini paling menarik, kita akan mulai dengan konfigurasi dasar dan mengeraskannya saat kita
meningkatkan keterampilan peretasan kita. Mari kita mulai!
Pengaturan naif
Katakanlah seorang admin mengatur aturan Applocker default saja: tidak ada pengguna standar yang diizinkan untuk menjalankan file (dapat dieksekusi, penginstal, atau skrip) di luar folder klasik " C:\ Windows " dan " C:\Program files ". Bagaimana cara menjalankan meterpreter.exe pada mesin dengan akun standar yaitu tidak ada hak admin pada kotak?
Salah satu cara untuk pergi adalah mencari folder yang diizinkan default dengan akses tulis. Idenya adalah menyalin file yang dapat dieksekusi ke folder yang diizinkan, lalu meluncurkannya dari sana. Lurus ke depan. Melakukannya secara manual membutuhkan sedikit waktu, jadi bagaimana dengan skrip PowerShell otomatis ?
Pembatasan jalur eksekusi juga berlaku untuk skrip dalam kasus ini, jadi kita harus pandai dalam hal ini. Pertama, kami memuat konten skrip menggunakan perintah Get-Content , mengonversinya menjadi string lalu meneruskannya ke perintah Invoke-Expression yang menjalankannya, tanpa pertanyaan!

Pada instalasi Windows default, " C:\Windows\Tasks " dan " C:\Windows\tracing " biasanya muncul sebagai dapat ditulisi oleh semua orang! Menyalin executable kami (mimikatz.exe, meterpreter.exe, dll.) di sana misalnya melewati penguncian Applocker default:

Orang mungkin berpendapat, cukup benar, bahwa file .exe dinilai terlalu tinggi dan bahwa kami dapat melakukan semua serangan dengan alat Windows paling kuat PowerShell . Itu sangat benar dan dengan menggunakan Invoke-Expression kami melewati batasan jalur eksekusi apa pun. Namun, ada beberapa kasus ketika kita perlu menjalankan file exe sederhana karena sesederhana itu: malware yang dikompilasi ulang, alat khusus, dll.
Jika kami tidak dapat menemukan direktori yang dapat ditulis yang diizinkan di Applocker, kami perlu menggunakan cara lain untuk menjalankan file yang dapat dieksekusi. Salah satu metode tersebut adalah memuat file .exe di memori, lalu meluncurkannya dengan melompat ke titik masuknya. Tidak ada jalur eksekusi, tidak ada aturan Applocker yang dipicu!
Kami pertama-tama menyimpan mimikatz.exe yang dapat dieksekusi dalam hal ini, dalam variabel PowerShell:
PS > $ByteArray = [System.IO.File]::ReadAllBytes("C:\users\richard\desktop\mimikatz.exe");Kemudian gunakan fungsi Invoke-ReflectivePEInjection dari kerangka PowerSploit untuk memuatnya di memori dan melompat ke titik masuknya.
PS > Invoke-expression(Get-Content .\Invoke-ReflectivePEInjection.ps1 |out-string)PS > Invoke-ReflectivePEInjection -PEBytes $ByteArray

Dengan demikian, kami dapat secara efektif melewati aturan Applocker apa pun berdasarkan jalur Eksekusi.
Mengencangkan pegangan
Admin kami yang cerdas tahu bahwa konfigurasinya memiliki beberapa lubang. Dia memperketat cengkeramannya sedikit lebih jauh dengan membatasi akses ke alat dasar Microsoft seperti cmd.exe dan PowerShell.exe.
Kami tidak dapat menggunakan skrip khusus (skrip .cmd, .js atau .vbs) untuk mengeksekusi kode karena hanya diizinkan untuk dijalankan dari folder yang dibatasi (aturan sebelumnya). Tapi, ingat masalah utama daftar hitam: kami selalu melewatkan sesuatu!
Dalam hal ini misalnya, admin menolak alat Windows 64-bit klasik tetapi benar-benar lupa tentang file 32-bit di folder “ C:\Windows\SysWOW64\ ”. Untuk mengeksekusi PowerShell misalnya, kami cukup menjalankannya dari folder itu.

Setelah kami memiliki akses ke prompt PowerShell, kami dapat memuat file yang dapat dieksekusi dan skrip di memori dan menjalankannya seperti yang kita lihat sebelumnya.
Selain itu, melakukan pencarian untuk powershell.exe di sistem biasanya menghasilkan versi lain dari file ini mungkin memiliki hash yang berbeda dari yang dilarang oleh Applocker:

Katakanlah admin melacak dan membuat daftar hitam setiap contoh powershell.exe, powershell_ise.exe, cmd.exe… apakah kita sudah selesai? Tidak terlalu. Ada cara lain untuk mengeksekusi kode di Windows. Panggilan Prosedur Jarak Jauh misalnya menyediakan cara alternatif untuk berinteraksi dengan sistem tanpa menggunakan alat baris perintah klasik. Utilitas “ C:\Windows\System32\wbem\wmic.exe ” dapat digunakan untuk melakukan tindakan tersebut.
Tentu kami tidak dapat menelurkan prompt PowerShell melalui WMIC, tetapi masih menawarkan lingkungan untuk mendapatkan informasi menarik tentang sistem untuk melakukan eskalasi hak istimewa:

Anda dapat menemukan daftar lengkap perintah WMI di link berikut .
Terkunci
Admin kami bosan dengan alat Microsoft resmi yang digunakan dengan cara jahat sehingga dia memblokir semua binari yang disebutkan sebelumnya (dan lebih banyak lagi) untuk mengunci sistem sepenuhnya. Tidak ada lagi cmd.exe, powershell.exe, wmic.exe, dll. Kelihatannya seperti acar, tapi mari kita kembali ke dasar sebentar. AppLocker mengenali powershell.exe berdasarkan hash file. Artinya jika kita mengambil salinan powershell.exe dengan hash yang berbeda, kita menang! Kami tidak dapat mengambil file yang dapat dieksekusi (ekstensi .exe) karena file ini hanya boleh diluncurkan dari folder windows yang sah. Sudahlah, kami memiliki file jenis PE lain yang dapat kami gunakan: file DLL! Kita dapat menemukan misalnya implementasi DLL dari PowerShell di URL berikut .
Kami mengunduhnya ke folder acak, lalu meluncurkannya menggunakan utilitas C:\windows\system32\rundll32.exe . Untuk mengeksekusi DLL, kita beri nama DLL dan fungsi entry point nya, dalam hal ini fungsi main : rundll32.exe PowerShdll.dll,main

Sempurna! Kami sekarang dapat menjalankan skrip/eksekusi apa pun yang kami inginkan.
Kesimpulan
Jelas, kesimpulannya adalah menerapkan perlindungan pada file DLL dan juga file yang dapat dieksekusi. Itu sepenuhnya benar, namun membutuhkan lebih banyak pekerjaan untuk mengidentifikasi semua DLL sah yang digunakan oleh aplikasi bisnis di mesin. Belum lagi penurunan kinerja yang mencolok yang disebabkan oleh pemeriksaan sistematis setiap kali program apa pun memuat DLL! Kami dapat menemukan cara untuk menggagalkan daftar putih DLL menggunakan semangat yang sama seperti trik yang diuraikan dalam bab di atas, tetapi itu akan menjadi pokok bahasan artikel mendatang. Sampai saat itu, retas dengan aman!
[tipe kotak = ”bio”] Ditulis oleh Sparc Flow. Dia adalah peneliti keamanan dan penulis buku How to Hack Like a P*rnstar and How to Hack a Fashion Brand.”[/box]
Sumber: Hacking Tutorial.com

Tidak ada komentar:
Posting Komentar
Tulis komentar anda disini...