Metasploit ist ein Framework für das automatisierte Ausführen von Exploits mit Scriptingfunktionen in [[coding:ruby|Ruby]]. Siehe auch [[msfvenom]].
=====Usage=====
service postgresql start
msfdb init
msfconsole [| armitage]
use exploit/windows/smb/smb_relay
show options|info
# show running sessions
sessions
# Show running jobs
jobs
exploitdb -u // update from git
ls /usr/share/exploitdb // src
searchsploit oracle windows remote
=====Tips=====
setg rhosts 192.168.0.1 // set rhosts globally
=====Ein Modul schreiben=====
#MySampleModule
class MetasploitModule < Msf::Exploit::Remote
Rank = NormalRanking
include Exploit::Remote::Tcp
def initialize(info = {})
super(update_info(info,
'Name' => 'My sample Exploit',
'Description' => %q{
This file illustrates how to write a module.
},
'License' => 'UnLicense',
'Author' => ['mbrain'],
'References' =>
[
[ 'CVE', '1234-5678'],
],
'Payload' =>
{
'Space' => 1000,
'BadChars' => "\x00",
},
'Targets' =>
[
[
'Windows XP/Vista/7/8',
{
'Platform' => 'win',
'Ret' => 0x41424344
}
],
],
'DisclosureDate' => "Apr 1 2013",
'DefaultOptions' =>
{
'RPORT' => 80,
'RHOSTS' => '192.168.0.157'
},
'DefaultTarget' => 0))
register_options([
Opt::RPORT(4444) # Beispieloption für den Remote-Port
])
end
# Usually this include code for checking
def check
Exploit::CheckCode::Vulnerable
end
def run
...
end
def exploit
connect
print_status("Sending #{payload.encoded.length} byte payload...")
buf = rand_text_alpha(1024)
buf << [ target.ret ].pack('V')
buf << payload.encoded
sock.put(buf)
sock.get_once
handler
end
end
=====Links=====
* https://www.exploit-db.com
* https://github.com/offensive-security/exploitdb
* https://www.offsec.com/metasploit-unleashed/msfconsole-commands/
* exploits from exploitdb into metasploit https://www.youtube.com/watch?v=l7mwIvT5YNo
* https://www.howtoforge.de/anleitung/wie-man-das-metasploit-framework-auf-ubuntu-20-04-installiert/
* [[https://www.amirootyet.com/post/how-to-add-new-exploit-to-metasploit/|Update from exploit-db]]