Todos conocemos Nmap hace mucho. Somos todos administradores (si llegaste acá) y, por supuesto, mi intensión no es hacer un curso intensivo de esta herramienta. Hay miles en la red!. (Cursos Click Aquí)
Si vos no sos administrador de red te cuento que Nmap es un escaner de red, una aplicación que, dándole determinado/s objetivo/s permite enumerar y obtener muchos datos del mismo. Puertos abiertos, puertos filtrados, servicios, qué sistema operativo corren, que versión del mismo, a que distancia están de nosotros, que programas(demonios) y que versión funcionan en tal o cual puestos, etc…
La importancia de esta aplicación está normalmente ligada a la palabra «Hacker» (Qué otra persona tendría necesidad de inspeccionar equipos a distancia?. Juajuaaa!) pero es solo propiedad de esta gente especial.
Te vas a cansar de ver esta aplicación en miles de películas. Desde Matrix hasta Jason Bourne. Hay cameos en casi cualquier película de hackers o expertos en informática de los últimos años y con mucha razón. A groso modo nmap se usa de la siguiente forma:
#nmap <opciones> <equipo/s>
Dónde las opciones te las enumero abajo y los equipos pueden ser ip única, dirección de red o grupo de ips (192.168.0.1-10, etc).
No solo Hackers pueden usar nmap. Acá te cuento para que lo uso yo en mi trabajo diario
Encontrar equipos específicos
Ponele que quieras encontrar todos los switchs / routers Cisco de tu red, o Mikrotik… o los teléfonos IPs de Yealink!. Bueno, casualmente la mayoría de estas compañías incluyen su marca en la lista de adaptadores de red. con #nmap -sP hacemos un Ping Probe (buscamos todos los equipos que responden ping).
[pastacode lang=»bash» message=»nmap -sP» highlight=»» provider=»manual»]
#nmap -sP xxx.xxx.11.0/24
Starting Nmap 5.00 ( http://nmap.org ) at 2015-10-28 09:39 ART
Host xxx.xxx.11.145 is up (0.0023s latency).
MAC Address: 00:15:65:47:DE:E9 (Xiamen Yealink Network Technology Co.)
Host xxx.xxx.11.146 is up (0.0017s latency).
MAC Address: 00:15:65:6C:6A:FE (Xiamen Yealink Network Technology Co.)
Host xxx.xxx.11.148 is up (0.00061s latency).
MAC Address: 00:15:65:6C:6F:7C (Xiamen Yealink Network Technology Co.)
Nmap done: 255 IP addresses (3 hosts up) scanned in 134.65 seconds
[/pastacode]
Y ahí vemos que todos los teléfonos Yealink que buscamos están ahí.
Búsqueda de Servicios
Hey, que dispositivos tienen habilitados la administración web?. Bueno, buscamos por port. Con la opción -p (p minúscula) seguida del puerto buscamos que equipos tienen disponible ese mismo. Con el –open filtramos solo los puertos abiertos. #nmap -p 80 –open xxx.xxx.11.0/24.
[pastacode lang=»bash» message=»nmap -p» highlight=»» provider=»manual»]
#nmap -p 80 --open xxx.xxx.11.0/24
Starting Nmap 5.00 ( http://nmap.org ) at 2015-10-28 10:04 ART
Interesting ports on xxx.xxx.11.0:
PORT STATE SERVICE
80/tcp open http
MAC Address: 00:16:B6:88:F8:4C (Cisco-Linksys)
Interesting ports on xxx.xxx.11.1:
PORT STATE SERVICE
80/tcp open http
MAC Address: A8:20:66:11:E7:7F (Unknown)
Interesting ports on xxx.xxx.11.2:
PORT STATE SERVICE
80/tcp open http
MAC Address: 00:0C:29:A2:61:BE (VMware)
Interesting ports on xxx.xxx.11.3:
PORT STATE SERVICE
80/tcp open http
MAC Address: 00:1E:4F:D1:74:9E (Dell)
Interesting ports on xxx.xxx.11.4:
PORT STATE SERVICE
80/tcp open http
MAC Address: F4:B5:49:07:04:36 (Unknown)
Nmap done: 255 IP addresses (5 hosts up) scanned in 134.65 seconds
[/pastacode]
Detectar los sistemas operativos
En algún inventario te habrá pasado, __Che, está ip de que equipo es?. Qué sistema Operativo tiene?. Con nmap podemos saberlo. Nada más sencillo que intentar con la opción -O (Operation System).
[pastacode lang=»bash» message=»nmap -O» highlight=»» provider=»manual»]
#nmap -O xxx.xxx.8.29
Starting Nmap 5.00 ( http://nmap.org ) at 2015-10-28 11:30 ART
Interesting ports on pc001.puertoderosario.com.ar (xxx.xxx.8.29):
Not shown: 987 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3389/tcp open ms-term-serv
5800/tcp open vnc-http
5900/tcp open vnc
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49156/tcp open unknown
49175/tcp open unknown
49176/tcp open unknown
MAC Address: BC:5F:F4:90:99:E0 (Unknown)
Device type: general purpose
Running: Microsoft Windows Vista|2008|7
OS details: Microsoft Windows Vista SP0 or SP1, Server 2008, or Windows 7 Ultimate (build 7000)
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.65 seconds
[/pastacode]
Versiones de los Servicios
Vas a hacer un deploy de updates y querés sabe que versiones de los demonios están corriendo?. Bueno, la opción -sV te da estos datos. (ojo, muy usado por hackers para la búsqueda de exploits adecuados)
[pastacode lang=»bash» message=»nmap -sV» highlight=»» provider=»manual»]
# nmap -sV xxx.xxx.8.15
Starting Nmap 5.00 ( http://nmap.org ) at 2015-10-28 14:12 ART
Interesting ports on xxx.xxx.8.15:
Not shown: 996 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.5p1 Debian 6+squeeze5 (protocol 2.0)
80/tcp open http Apache httpd 2.2.16 ((Debian))
111/tcp open rpcbind
10000/tcp open ssl/snet-sensor-mgmt?
[/pastacode]
Ping a host no pingables!
A veces te va a pasar que hay equipos que por alguna política de firewall no te devuelven ping. Con el parámetro -P0 el scan funcionará aún cuando el equipo se empeñe en no responderte!. Obviamente este ejemplo es igual al anterior salvo que, si el equipo no les respondiera, con esta opción lo hace.
[pastacode lang=»bash» message=»nmap -sV -P0″ highlight=»» provider=»manual»]
# nmap -sV -P0 xxx.xxx.8.15
Starting Nmap 5.00 ( http://nmap.org ) at 2015-10-28 14:12 ART
Interesting ports on xxx.xxx.8.15:
Not shown: 996 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.5p1 Debian 6+squeeze5 (protocol 2.0)
80/tcp open http Apache httpd 2.2.16 ((Debian))
111/tcp open rpcbind
10000/tcp open ssl/snet-sensor-mgmt?
[/pastacode]
Hay mil usos para esta herramienta. Contame los que les das vos!
Bonus Track: Nmap en las películas! https://nmap.org/movies/
Y por supuesto, les dejo los 34 peores hacks en el cine: (OffTopic 100%)