NMAP - Descubriendo puertos
Desde la primera vez que le dije a alguien: “hey, estudio informática :)” recibí siempre dos preguntas de rigor:
- Puedes instalar mi impresora? :D
- Creo que mi pareja me engaña... puedes hackear su correo? :)
Bien, creo que estás de acuerdo que los informáticos nos dedicamos a mucho más que eso. Pero como un tipo curioso, me preguntaba que tan difícil seria hackear un correo y bueno, me encontré que no era lo que pensaba…. era aún más complicado! Se necesita estudiar y practicar muchísimo para aprender y ser un maestro de la informática, es decir, un hacker :)
Y para no realizar mucho palabreo... este tema tiene que ver con una de las pruebas básicas que todo guerrero de la red y de seguridad informática debe saber: el escaneo de puertos.
Veamos de que trata :)
Preliminares
Como ya lo había mencionado, esta es una prueba básica que todo guerrero de la red debe conocer. Por ejemplo, si tenemos un servidor en donde está alojada una página web, debemos estar seguros de que el puerto 80 este abierto, de igual forma si un Router tiene habilitado SSH, debemos estar seguros de que el puerto 22 este accesible, etc.
Uno de los softwares más conocidos para realizar esto es Nmap. Este programa se puede ejecutar en línea de comandos, pero si deseas algo más visual puedes instalar la GUI de Nmap llamada Zenmap, pero como se que tu eres un peleador nato quieres ir a la línea de comandos, asi que, ahí vamos!
Topología
Usaremos solo un host conectado a un router, usaremos Nmap contra el router para mostrar los puertos que tiene abierto.

Instalación/Ejecución
Para este lab estaré usando Debian 8 Squeezy, sin embargo puedes usar el sistema operativo que desees. Si necesitas instalar Nmap en Windows o Mac, puedes visitar su página oficial en la sección de descargas aqui.
Instalaremos con el siguiente comando, recuerda que para ejecutar apt-get hay que hacerlo con sudo:
$ sudo apt-get -y install nmapUna vez finalizada la instalación, ejecutaremos una pequeña prueba:
eduardo@debian:~$ nmap 10.0.0.1
Starting Nmap 6.47 ( http://nmap.org ) at 2016-07-03 18:50 PDT
Nmap scan report for 10.0.0.1
Host is up (0.010s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE
23/tcp open telnet
Nmap done: 1 IP address (1 host up) scanned in 16.80 secondsProbando Nmap
Veamos ahora un ejemplo de como funciona esto. Vamos a abrir puertos en la interface f0/0 del router usando ACLs
No recuerdas cómo usar ACLs? No te preocupes, puedes visitar la publicación sobre ACLs en la serie: ACLs - Access Lists :)
Vamos a colocar una ACL para abrir algunos puertos en el router:
access-list 100 permit tcp any any eq telnet
access-list 100 permit tcp any any eq www
access-list 100 permit tcp any any eq smtp
access-list 100 permit tcp any any eq ftpAplicándola a la interface:
interface FastEthernet0/0
ip address 10.0.0.1 255.255.255.0
ip access-group 100 inAhora, ejecutemos Nmap:
eduardo@debian:~$ nmap 10.0.0.1
Starting Nmap 6.47 ( http://nmap.org ) at 2016-07-03 19:08 PDT
Nmap scan report for 10.0.0.1
Host is up (0.034s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE
21/tcp closed ftp
23/tcp open telnet
25/tcp closed smtp
80/tcp closed http
Nmap done: 1 IP address (1 host up) scanned in 13.45 secondsHell yeah! Ahora podemos ver que puertos se encuentran abiertos y activos en el dispositivo de destino.
Conclusiones
Nmap tiene muchas más funcionalidades que podemos ir explorando en próximos artículos, no olvides de pedirlo en la sección de comentarios :D