Halo semuanya. Saat ini, OTUS telah membuka satu set untuk peluncuran kursus rekayasa balik yang diperbarui pada bulan April . Untuk mengantisipasi dimulainya kursus, kami secara tradisional menyiapkan terjemahan materi yang menarik.
Dalam sistem operasi Windows, aplikasi dan layanan saat startup mencari DLL yang diperlukan agar berfungsi dengan benar. Jika DLL ini tidak ditemukan atau pemuatannya diterapkan dengan cara yang tidak aman (DLL dipanggil tanpa menggunakan path lengkap), maka Anda dapat meningkatkan hak istimewa dengan memaksa aplikasi untuk mengunduh dan menjalankan file DLL berbahaya.Perlu dicatat bahwa ketika aplikasi perlu mengunduh DLL, maka pencariannya dilakukan dalam urutan berikut:- Direktori tempat aplikasi tersebut diunduh
- C: \ Windows \ System32
- C: \ Windows \ System
- C: \ Windows
- Direktori kerja saat ini
- Direktori dalam variabel lingkungan PATH pengguna
- Direktori dalam variabel lingkungan sistem PATH
Langkah 1 - Proses dengan DLL Hilang
Langkah pertama adalah menemukan proses yang berjalan pada SISTEM dan mencoba memuat DLL yang hilang. Ini dapat dilakukan dengan menggunakan Sysinternals Process Monitor dengan menerapkan filter yang tercantum di bawah ini:
Filter Procmon untuk Mencari Proses yang Mengunduh DLLProses yang Hilang Monitor akan mengidentifikasi DLL yang hilang yang sedang dicoba dimuat oleh aplikasi dan menunjukkan jalur sebenarnya yang sedang dicari oleh DLL ini.
Sebuah proses dengan DLL yang hilangDalam contoh ini, suatu proses Bginfo.exe
tidak memiliki beberapa file .dll yang dapat digunakan untuk meningkatkan hak istimewa.Langkah 2 - Izin Folder
Jika perangkat lunak diinstal di direktori C:\
sebagai gantinya C:\Program Files
, maka secara default pengguna yang diautentikasi akan memiliki akses tulis ke direktori ini. Selain itu, perangkat lunak seperti Perl, Python, Ruby, dll. Biasanya ditambahkan ke variabel PATH. Hal ini memungkinkan untuk meningkatkan hak istimewa, karena pengguna dapat menulis DLL berbahaya ke direktori ini, yang akan dimuat pada saat proses dimulai dan mendapatkan hak untuk proses ini.
Izin folder yang lemahLangkah 3 - Gantikan DLL
Menggunakan Metasploit, Anda dapat menghasilkan DLL payload sebagai sesi dengan hak istimewa layanan.
Generasi DLL BerbahayaProses ini Bginfo.exe
diluncurkan di bawah SISTEM, oleh karena itu setelah memulai ulang DLL jahat akan memiliki hak yang sama, karena DLL dimuat dan dieksekusi oleh proses ini.
Proses diluncurkan di bawah SISTEM.Seperti yang ditunjukkan di atas, proses tidak dapat ditemukan Riched32.dll
, jadi pentestlab.dll
Anda harus mengubah nama menjadi Riched32.dll
. Ini akan membingungkan aplikasi dan akan mencoba memuat DLL karena menurutnya itu adalah DLL yang sah. DLL jahat harus ditempatkan di salah satu folder tempat Windows mencari file DLL.
DLL berbahaya diganti nama dan dihostingSeperti yang Anda lihat di bawah, ketika Anda me-restart layanan dengan menggunakan DLL spoofing, sesi Meterpreter dengan hak istimewa SISTEM terbuka.
Metasploit - Meningkatnya hak istimewa melalui spoofing DLLPowersploit
Proses penggantian DLL dapat dilakukan melalui PowerSploit, di mana ada tiga modul yang akan membantu dalam menemukan layanan dengan DLL yang hilang, dalam menemukan folder dengan hak modifikasi dan dalam menghasilkan DLL.Modul ini Find-ProcessDLLHijack
akan menemukan semua proses dalam sistem yang mencoba memuat DLL yang hilang.
PowerSploit - Mendeteksi Proses dengan DLL HilangLangkah selanjutnya adalah mengidentifikasi folder tempat pengguna dapat memodifikasi konten. Folder akan ditemukan di mana DLL jahat harus dibuang.
Mendeteksi folder dengan hak untuk memodifikasiLangkah terakhir adalah membuat DLL jahat di salah satu folder dengan izin Modify (M).
Buat DLL di folder dengan izin lemahKesimpulan
Untuk dapat meningkatkan hak istimewa melalui DLL spoofing, kondisi berikut ini harus dipenuhi:- Izin untuk menulis ke folder sistem
- Menginstal perangkat lunak dalam direktori selain direktori default
- Layanan yang berjalan di bawah SISTEM dan mencoba memuat DLL yang hilang
- Layanan restart
Menemukan aplikasi yang tidak diinstal Program Files
tidak sulit, karena selain dari aplikasi pihak ketiga yang tidak dipaksa untuk menginstal sepanjang jalur ini, ada berbagai program perangkat lunak khusus yang terletak di luar folder yang dilindungi ini. Selain itu, ada sejumlah layanan Windows, seperti IKEEXT (IKE dan AuthIP IPsec Keying Modules) dengan DLL yang hilang ( wlbsctrl.dll
), yang dapat digunakan baik secara manual atau otomatis. Ada modul Metasploit khusus untuk IKEEXT:exploit/windows/local/ikeext_service
.