Tutorial Nmap en Español

Tutorial Nmap en Español

Qué es NMAP

Nmap es una herramienta en forma de comando de red que funciona dentro de sistemas Linux, aunque con un poco de astucia también la podemos hacer funcionar en Windows y Mac. Nmap es la mejor utilidad que existe para el escaneo y exploración de puertos, así como el reconocimiento del sistemas operativo que opera bajo la interfaz de red correspondiente.

A su vez en este tutorial nmap en español utilizaremos el comando tcpdump, que es un herramienta en línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red. Permite al usuario capturar y mostrar a tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está conectado.

A continuación muestro una explotación de puertos de una IP cualquiera:

Ejemplo de escaneo con NMAP | Tutorial Nmap en Español

root@ubuntu nmap 91.121.155.113

Starting Nmap 6.25 ( http://nmap.org ) at 2014-04-08 16:26 CEST
Nmap scan report for ns202552.ovh.net (91.121.155.113)
Host is up (0.077s latency).
Not shown: 979 closed ports
PORT     STATE    SERVICE
21/tcp   open     ftp
22/tcp   open     ssh
25/tcp   filtered smtp
53/tcp   open     domain
80/tcp   open     http
106/tcp  open     pop3pw
110/tcp  open     pop3
143/tcp  open     imap
443/tcp  open     https
445/tcp  filtered microsoft-ds
465/tcp  filtered smtps
587/tcp  filtered submission
993/tcp  open     imaps
995/tcp  open     pop3s
1935/tcp open     rtmp
3306/tcp open     mysql
8086/tcp open     d-s-n
8443/tcp open     https-alt

Aquí observamos todos los puertos operativos bajo la interfaz de red e IP correspondiente. De este sencillo comando obtenemos la siguiente información:
. El correo cuelga de este servidor y el smtp de salida está filtrado.
. Es un servidor web con panel plesk.
. Este servidor resuelve las peticiones dns del dominio
. Tiene acceso ssh y ftp sin filtrar! UPSSS…
. Cuelga de el un servicio de base de datos.
. Etc.

En un principio Nmap se creo con objetivos “hacker”, pero poco después se convirtio en una utilidad esencial para la seguridad en las redes, auditorias…etc. Y por supuesto se puede utilizar para protegernos, ya que podrás conocer tus debilidades y repararlas.

<

Ejemplos de uso de Nmap | Exploración de los puertos TCP


Ataque TCP connect scan

root@ubuntu:~$ nmap localhost 

Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-06 01:17 PDT Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1. 
Interesting ports on localhost (127.0.0.1): Not shown: 997 closed ports 
PORT     STATE SERVICE 
25/tcp   open  smtp 
631/tcp  open  
ipp 3128/tcp open  squid-http
Nmap done: 1 IP address (1 host up) scanned in 0.11 second

Puerto abierto 3128

NMAP
–Tipo de ataque que escucha puertos TCP
–La opción del nmap “-PO” nos resume la información de salida de la terminal
–La opción –sT nos especifica el tipo de escaneo connect scan.
–La opción –p nos permite escoger el puerto a escanear
–Este ataque no se suele detectar como ataque porque se completa la conexión.

root@ubuntu:~$ sudo nmap -P0 -sT -p 3128 localhost 
Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-06 01:18 PDT 
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1. 
Interesting ports on localhost (127.0.0.1): 
PORT     STATE SERVICE 
3128/tcp open  squid-http 
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

TCPDUMP
–enviamos un flag [S] con un byte de sincronización desde un puerto aleatorio(48897) y el puerto 3128 nos contesta con un flag[S] + byte ack
–desde el mismo puerto aleatorio le contestamos con un flag [ ]+ack1 y un flag [R] para cerrar el ataque.

root@ubuntu:~$ sudo tcpdump -i lo
01:18:48.444201 IP localhost.48897 > localhost.3128: Flags [S], seq 3383339335, win 32792, options [mss 16396,sackOK,TS val 1265094 ecr 0,nop,wscale 6], length 0 01:18:48.444214 IP localhost.3128 > localhost.48897: Flags [S.], seq 3381811475, ack 3383339336, win 32768, options [mss 16396,sackOK,TS val 1265094 ecr 1265094,nop,wscale 6], length 0 01:18:48.444228 IP localhost.48897 > localhost.3128: Flags [.], ack 1, win 513, options [nop,nop,TS val 1265094 ecr 1265094], length 0 01:18:48.444495 IP localhost.48897 > localhost.3128: Flags [R.], seq 1, ack 1, win 513, options [nop,nop,TS val 1265094 ecr 1265094], length 0 

Puerto cerrado 52
NMAP
–Tipo de ataque que escucha puertos TCP
–La opción del nmap “-PO” nos resume la información de salida de la terminal
–La opción –sT nos especifica el tipo de escaneo connect scan.
–La opción –p nos permite escoger el puerto a escanear
–Este ataque no se suele detectar como ataque porque se completa la conexión.

root@ubuntu# nmap -PO -sT -p 52 localhost
Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-12 23:41 PDT
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Interesting ports on localhost (127.0.0.1):
PORT   STATE  SERVICE
52/tcp closed xns-time

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

TCPDUMP
–enviamos un flag [S] con un byte de sincronización desde un puerto aleatorio(33640) y el puerto 52 nos contesta con un flag[R] reset

root@ubuntu:~$ sudo tcpdump -i lo
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes
23:41:47.024270 IP localhost.33640 > localhost.52: Flags [S], seq 3410572728, win 32792, options [mss 16396,sackOK,TS val 4294938234 ecr 0,nop,wscale 6], length 0
23:41:47.024360 IP localhost.52 > localhost.33640: Flags [R.], seq 0, ack 3410572729, win 0, length 0

Ataque TCP SYN scans

Puerto abierto 3128
NMAP
–Tipo de ataque que escucha puertos TCP
–La opción del nmap “-PO” nos resume la información de salida de la terminal
–La opción –sS nos especifica el tipo de escaneo Syn scan
–La opción –p nos permite escoger el puerto a escanear
–Este ataque no incluye ack de confirmación

root@ubuntu:~$ sudo nmap -P0 -sS -p 3128 localhost 
Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-06 00:59 
PDT Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1. 
Interesting ports on localhost (127.0.0.1): 
PORT     STATE SERVICE 
3128/tcp open  squid-http 
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

TCPDUMP
–enviamos un flag [S] con un byte de sincronización desde un puerto aleatorio(34217) y el puerto 3128 nos contesta con un flag[S] + byte ack
–desde el mismo puerto aleatorio le contestamos con un flag [ R]

root@ubuntu:~$ sudo tcpdump -i lo
01:01:03.199731 IP localhost.34217 > localhost.3128: Flags [S], seq 2309594195, win 1024, options [mss 1460], length 0 01:01:03.199788 IP localhost.3128 > localhost.34217: Flags [S.], seq 3871348246, ack 2309594196, win 32792, options [mss 16396], length 0 01:01:03.199795 IP localhost.34217 > localhost.3128: Flags [R], seq 2309594196, win 0, length 0 

Puerto cerrado: 52
NMAP
–Tipo de ataque que escucha puertos TCP
–La opción del nmap “-PO” nos resume la información de salida de la terminal
–La opción –sS nos especifica el tipo de escaneo Syn scan
–La opción –p nos permite escoger el puerto a escanear
–Este ataque no incluye ack de confirmación

root@ubuntu:~$ sudo nmap -P0 -sS -p 52 localhost 
Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-06 01:10 
PDT Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1. 
Interesting ports on localhost (127.0.0.1): 
PORT   STATE  SERVICE 
52/tcp closed xns-time 
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

TCPDUMP
–enviamos un flag [S] con un byte de sincronización desde un puerto aleatorio(47308) y el puerto 52 nos contesta con un flag[R]
–desde el mismo puerto aleatorio le contestamos con un flag [ ]+ack1 y un flag [R] para cerrar el ataque.

root@ubuntu:~$ sudo tcpdump -i lo
01:10:12.031540 IP localhost.47308 > localhost.52: Flags [S], seq 1911266538, win 1024, options [mss 1460], length 0 01:10:12.031573 IP localhost.52 > localhost.47308: Flags [R.], seq 0, ack 1911266539, win 0, length 

Espero que este artículo os sirva de ayuda,
Un saludo,
Por Óscar Carrillo