Posts Subscribe comment Comments

2. Format Menulis Exploit Sendiri di Metasploit

Format menulis exploit pada Metasploit sama dengan membuat Auxiliary hanya ditambah fields saja.
- Selalu ada blog PAYLOAD. Selalu ingat bahwa Exploit tanpa PAYLOAD adalah Auxiliary module.
- Membuat 1 daftar Target.
- Definisikan run(), exploit() dan check().

=============================
Contoh Struktur Exploit
=============================
class Metasploit3 < Msf::Exploit::Remote

      include Msf::Exploit::Remote::TCP

      def initialize
           super(
               'Name'          => 'Membuat Exploit Module Sederhana',
               'Description'   => 'Modul ini akan mengirimkan payload',
               'Author'        => 'CyberMuttaqin',
               'Payload'       => {'Space' => 1024, 'BadChars' => “\x00”},
               'Targets'       => [ ['Automatic', {} ] ],
               'Platform'      => 'win',
           )
           register_options( [
               Opt::RPORT(12345)
           ], self.class)
      end

      # Mengkoneksikan port, mengirim payload, menghandle, dan mendisconect
      def exploit
           connect()
           sock.put(payload.encoded)
           handler()
           disconnect()
      end
end
==========================

Mendefinisikan Vulnerability Test
Meskipun jarang diimplementasikan, metode pemanggilan check() harus di definisikan pada module exploit anda.
- Metode Check() memverifikasi semua option kecuali PAYLOAD.
- Tujuan dari Check adalah untuk meyakinkan apakah target vulnerable atau tidak.
- Kembali mendefinisikan nilai check.

Nilai dari module check() adalah :
- Checkcode : Safe (tidak dapat di eksploit)
- Checkcode : detected (service dapat dideteksi)
- Checkcode : Appears (versi vulnerable)
- Checkcode : Vulnerable (ada celah keamanan)
- Checkcode : Unsupported (check tidak support ke module)

============================
contoh check() method
============================
def check
     # Koneksikan untuk mendapatkan FTP Banner
     connect

     # Disconnect apabila sudah mendapatkan self.banner
     disconnect

     case banner
          when /Serv-U FTP Server v4\.1/
               print_status('Mendapatkan version 4.1.0.3, dapat di eksploitasi')
               return Exploit::CheckCode::Vulnerable

          when /Serv-U FTP Server/
               print_status('Versi tidak dikenali,Try It!');
               return Exploit::CheckCode::Detected

          else
               print_status('Kita tidak mengenali banner server target lho !!')
               return Exploit::CheckCode::Safe
     end

     return Exploit::CheckCode::Safe
end
===========================================================

0

Silahkan Tulis Komentar Anda ...