$ nmap 192.168.1.12Starting Nmap 4.20 ( http://insecure.org ) at 2008-01-13 17:42 CSTInteresting ports on 192.168.1.12:Not shown: 1694 closed portsPORT STATE SERVICE23/tcp open telnet80/tcp open http8080/tcp open http-proxyNmap finished: 1 IP address (1 host up) scanned in 1.355 secondsAll right! Let's try to log in...
$ telnet 192.168.1.12Trying 192.168.1.12...Connected to 192.168.1.12.Escape character is '^]'.Connection closed by foreign host.Rats. For some reason we are kicked out as soon as we touch the daemon. A little hunting on the internet provides an explanation. Apparently the telnet daemon is disabled by default, but the Netgear staff have a Windows utility that will send a packet to the router in order to enable the telnet interface. A hacker has somehow reverse-engineered the encryption process and written it into a C program.
$ gcc -o telnetenable md5.c blowfish.c telnetenable.cNow I use the program to construct the "unlock" packet with the IP and MAC address of my router, and the default username/password "Gearguy/Geardog":
$ ./telnetenable 192.168.1.12 00AABBCCDDEE Gearguy Geardog > modpkt.pktThen I send it to the router with netcat:
$ nc 192.168.1.12 23 < modpkt.pktNow I try to log in again...
$ telnet 192.168.1.12Trying 192.168.1.12...Connected to 192.168.1.12.Escape character is '^]'.Login: GearguyPassword: *******U12H06400>And we're in! "
?" gives a list of commands. I'm most interested getting the network statistics from this and putting the results into cacti... but I'll save that for another time! :)--Edit--
Apparently seattlewireless.net, the original website that hosted the files and information, is down. I've put the C files up for grabs here:http://ktdreyer.googlepages.com/telnetenable.c
http://ktdreyer.googlepages.com/md5.h
http://ktdreyer.googlepages.com/md5.c
http://ktdreyer.googlepages.com/blowfish.h
http://ktdreyer.googlepages.com/blowfish.c
Good luck!
5 comments:
$ gcc -o telnetenable md5.c blowfish.c telnetenable.c
...warnings...
$ ./telnetenable 192.168.0.210 001EFFFFFFFF Gearguy Geardog > pack
$ nc 192.168.0.210 23 < pack
$ telnet 192.168.0.210
Trying 192.168.0.210...
telnet: connect to address 192.168.0.210: Connection refused
$ ???
... I did this thrice, but then I tried it as root, it worked first time. I'm in....
So be root!
Heh, I just noticed the same Telnet port open on my WGR614v7 router. I will have to try building the code and see if I can log in.
My connection keeps timing out when I try telnet after sending the packet.
If anyone is still interested, there's a Python implementation of telnetenable that's much easier to use.
http://code.google.com/p/netgear-telnetenable/
Post a Comment