Network Mapper
Nmap(de Network Mapper) es una utilidad de software libre para
explorar, administrar y auditar la seguridad de redes de ordenadores.
Detecta hosts online, sus puertos abiertos, servicios y aplicaciones
corriendo en ellos, su sistema operativo, que firwalls/filtros corren en
una red y de qué tipo son.
Usos Principales del Nmap
•Auditorias de seguridad.
•Pruebas rutinarias de redes.
•Recolector de información para futuros ataques. (hackers)
Nmapes software libre y por lo tanto gratuito. Y basicamenteexiste
una versionpara cada sistema operativo que conozcas: MacOSX,
Microsoft Windows, GNU/Linux, OpenBSD, Solaris, etc.
Como Funciona
Es capaz se utilizar diferentes técnicas de evasión de detección como
escaneo sealth. Soporta escaneos sobre ciertos puertos específicos,
entre rangos IP específicos, uso se paquetes Null, FIN, Xmasy ACK,
además SYN que es el paquete por defecto. Esto significa que se
mandan cierto tipo de paquetes a cada puerto y estos responderán con
alguna señal que permitirá a scanner encontrar versiones y servicios.
Conceptos importantes
•¿Que es un puerto?:Un puerto es una zona en la que dos ordenadores (hosts)
intercambian información
•¿Que es un servicio?:Un servicio es el tipo de información que se intercambia
con una utilidad determinada como ssho telnet.
•¿Que es un Firewall?:Un firewall acepta o no el trafico entrante o saliente de un
ordenador.
•¿Que son paquetes SYN?:Así por encima, pueden ser paquetes que abren un
intento de establecer una conexión TCP.
•Debemos tener en cuenta que para Nmapun puerto puede estar de tres
maneras:
open:el puerto es accesible y hay un demonio escuchando.
closed:el puerto es accesible pero no hay un demonio escuchando.
filtered:el puerto no es accesible, un firewall filtra el puerto.
Como Usarlo
nmap[IP ]
Es decir el comando nmapseguido de una ip o dominio. Este uso tan
basicosolo nos devuelve que puertos estanabiertos tras un scan
simple.
Ej. Server#nmap192.168.10.1
Parámetros Básicos NMPA
Caberesaltarqueexistenvariostiposdemodificadoresdescanlomasimportanteeslograridentificarla
combinaciónmasapropiada,losmodificadoresquesepuedenutilizarpararealizarelscansonlossiguientes:
•sTse intenta hacer un barrido de puertos por TCP la ventaja de esta técnica es que no requiere usuarios privilegiados, opuesto a sS
•sUse intenta hacer un barrido de puertos por UDP, es útil cuando se intentan descubrir puertos de nivel superior que pueden
estar detrás de un firewall, lenta pero permite hacer auditorias mas exactas.
•sAse usan mensajes de ACK para lograr que sistema responda y así dterminarsi el puerto esta abierto algunos Firewall no filtran
estos Mensajes y por ello puede ser efectivo en algunos casos.
•sXpuede pasar algunos Firewall con malas configuraciones y detectar servicios prestándose dentro de la red
•sNpuede pasar algunos Firewall con malas configuraciones y detectar servicios prestándose dentro de la red
•sFpuede pasar algunos Firewall con malas configuraciones y detectar servicios prestándose dentro de la red
•sPeste modificador ayuda a identificar que sistemas están arriba en la red (en funcionamiento) para luego poder hacer pruebas
mas especificas, similar a Ping.
•sVintenta identificar los servicios por los puertos abiertos en el sistema esto permite evaluar cada servicio de forma individual
para intentar ubicar vulnerabilidades en los mismos.
•sOcon esta opción se identifica que protocolos de nivel superior a capa tres (Red o Network) responden en el sistema, de esta
manera es mas fácil saber las características de la red o el sistema que se intenta evaluar.
Parámetros NMAP
•Adicionalmente a las opciones de scanse pueden especificar opciones que permiten explotar mas aun la herramienta, dentro de
las opciones que mas frecuentemente se usan están las de evitar el Ping o mostrar todos los resultados en pantalla al máximo
detalle, veamos cuales son estas opciones:
•bPara determinar si la victima es vulnerable al "bounceattack"
•nno hace conversiones DNS para hacer el -sPmas rapido
•vvhacer la salida de la herramienta detallada en pantalla
•f habilita la fracmentacionde esta forma es mucho mas complejo para un unfirewall u otro tipo de sistema lograr hacer el rastreo.
•oNredirige la salida a un archivo
•oXredirige la salida a un archivo XML
•--stylesheetcon esta opción se usa una hoja de estilo que hace mas fácil la lectura de la salida en XML
•P0indica que no se debe hacer ping a los sistemas objetivo antes de iniciar el análisis útil para evitar el bloque en algunos Firewall
•pse usa para especificar puertos de análisis o rango de puertos.
•Tse usa para especificar la velocidad general del scande esta forma se puede pasar inadvertido en algunos sistemas que detectan
la velocidad de los paquetes entrantes.
Veamos algunos ejemplos:
•nmap–sV–P0 –O –vv–o archivo.txt 192.168.1.1
El anterior comando ejecuta un barrido (scan) de puertos sobre la IP
seleccionada, evita que se ejecute Ping sobre la maquina, además de
esto intenta detectar el sistema operativo, para cada puerto según las
cabeceras que se retornan se detecten los servicios ejecutándose y la
información se dejara en el archivo.txt
•nmap192.168.1.0/24
El anterior comando escanea una red completa
•nmap192.168.1.100 -p 10-200
El anterior comando escanea un rango de puertos
Escaneo Ping
Uno de los más utilizados por muchos ya que permite determinar los hostsque se encuentran
activos en una red, probemos con nuestra red local (Ej: 192.168.0.1).
$ nmap-sP192.168.0.1/24
Nmapscanreportfordlinkrouter.interlink.net.ve (192.168.0.1)
Host isup (0.0027s latency).
Nmapscanreportfor192.168.0.100
Host isup (0.00037s latency).
Nmapscanreportfor192.168.0.102
Host isup (0.049s latency).
Nmapscanreportfor192.168.0.104
Host isup (0.015s latency).
Nmapdone: 256 IP addresses(4 hosts up) scannedin 16.16 seconds
Escaneo TCP Connect
Este se define como el escaneo de puertos más simple, este listará aquellos puertos abiertos y asequibles. Probemos con una de las
direcciones IP que encontramos antes para ver de qué se trata:
$ nmap–sT192.168.0.104
Nmapscanreportfor192.168.0.104
Host isup (0.012s latency).
Notshown: 991 closedports
PORT STATE SERVICE
80/tcpopen http
135/tcpopen msrpc
139/tcpopen netbios-ssn
443/tcpopen https
445/tcpopen microsoft-ds
2869/tcpopen icslap
3580/tcpopen nati-svrloc
10243/tcpopen unknown
31038/tcpopen unknown
Podremos notar algunos de los puertos abiertos para este hosty los servicios que corren en los mismos.
Escaneo TCP SYN
Este tipo de escaneo se basa en no establecer una conexión completa con el host
para descubrirlo, esto se logra al monitorear los primeros pasos al establecer una
conexión conocidos como el saludo de tres vías, este comando ejecuta la siguiente
lógica para realizar su magia:
nmapenvía al puerto del hostel paquete SYN (sincronizar) para notificar que
quiere establecer una conexión.
Si el hostresponde con un SYN/ACK (sincronizado y reconocido) entonces el puerto
esta abierto.
nmapenvía un paquete RST (resetear) para cerrar la conexión inmediatamente,
esto con la intención de no establecer completamente la conexión y de que el
intento de conexión no aparezca en las bitácoras de aplicación.
Este método se consideró inicialmente como stealth(sigiloso) por esta última
razón; sin embargo es de resaltar que varios firewalls modernos son capaces de
detectar un escaneo TCP SYN simple.
Obtener Sistema Operativo del Host
Es común la necesidad de saber a que nos enfrentamos cuando estamos tratando con el descubrimiento de redes, para esto
podemos habilitar la detección de sistema operativo de la siguiente manera:
$ nmap-O 192.168.0.102
Nmapscanreportfor192.168.0.102
Host isup (0.012s latency).
Notshown: 999 closedports
PORT STATE SERVICE
62078/tcpopen iphone-sync
MAC Address: **************** (Apple)
Devicetype: media device|phone
Running: Apple iOS4.X|5.X|6.X
OS CPE: cpe:/o:apple:iphone_os:4 cpe:/a:apple:apple_tv:4 cpe:/o:apple:iphone_os:5 cpe:/o:apple:iphone_os:6
OS details: Apple Mac OS X 10.8.0 -10.8.3 (Mountain Lion) oriOS4.4.2 -6.1.3 (Darwin 11.0.0 -12.3.0)
Network Distance: 1 hop
OS detectionperformed. Pleasereportanyincorrectresultsat http://nmap.org/submit/ .
Nmapdone: 1 IP address(1 host up) scannedin 59.95 seconds
Escaneo de lista
Este comando nos permitirá conocer los nombres de los hostso direcciones
IP de aquella dirección que indiquemos, esto incluye la resolución de nombre
DNS. Tengamos en cuenta que este tipo de escaneo no le hará pinga los
hosts ni escaneará sus puertos.
$ nmap-sLgoogle.com
Nmapscanreportforgoogle.com (190.142.193.30)
Otheraddressesforgoogle.com (notscanned): 190.142.193.25
190.142.193.39 190.142.193.44 190.142.193.50 190.142.193.59
190.142.193.45 190.142.193.20 190.142.193.35 190.142.193.29
190.142.193.40 190.142.193.49 190.142.193.34 190.142.193.24
190.142.193.55 190.142.193.54
Nmapdone: 1 IP address(0 hosts up) scannedin 0.65 seconds