clase practica seguridad escaneo con nma pf

62

Upload: robert-puican-gutierrez

Post on 26-Jul-2015

629 views

Category:

Education


0 download

TRANSCRIPT

• Reconocimiento.

• Escaneo.

• Acceso.

• Mantener el acceso.

• Borrar actividades.

2

• El atacante obtiene la mayor cantidad deinformación del (los) posible (s) objetivo(s).

– Footprinting.

– Dumpster diving.

– Fingerprinting.

– Ingeniería social.

3

• Pasivo

– Obtener información sin interacción directacon la(s) victima(s).

• Activo

– Interacción directa a través de cualquiermedio.

4

• Fase en la cual el atacante obtieneinformación del sistema de la victima.

– Escaneos de puertos, de red y devulnerabilidades.

• Obtiene entre otras:

– IP’s, MAC’s.

– Sistema operativo.

– Puertos abiertos.

– Servicios.

– Etc. 5

• Port scanning.

– Comprueba los servicios corriendo en elequipo victima.

• Network scanning.

– Identificar host activos en la red.

• Vulnerability scanning.

– Identifica las vulnerabilidades del sistema ode los servicios activos.

6

• Half open can (No abre una full tcp conn).

• SYN/ACK scan.

• XMAS scan (Envía todas las banderas).

• FIN scan (Solo unix).

• ACK scan (Utiliza el valor del TTL).

• NULL scan (Solo unix).

• IDLE scan (IP Spoofing).

• Full open scan (Detectable).7

• El atacante penetra en el equipo victima,explota vulnerabilidades del sistema, dealguna aplicación en particular o en la red.

– Desbordamiento.

– DoS.

– Secuestro de sesión.

– Crackeo de contraseñas.

8

• El atacante intenta mantener el acceso,puede cargar, descargar o manipulardatos de aplicaciones o lasconfiguraciones.

– Backdoors.

– Rootkits.

– Troyanos.

9

• El hacker cual astuto ladrón destruyetodos los rastros dejados a su paso.

– Steganography.

– Tunneling.

– Alterar logs del sistema.

10

M.A. Ing. Robert E. Puican Gutiérrez

• Técnica usada para auditar máquinas yredes con el fin de detectar que puertosestán abiertos, cerrados o protegidos.

SYN

ACK

SYN / ACK

• TCP es un protocolo orientado a conexión, y como tal tiene unos estadosdefinidos según en qué punto de la conexión se encuentre el socket. Estosestados están detallados en el RFC #793 y son:

• LISTEN: Un servidor que espera conexiones de un cliente y escucha unpuerto, genera un socket con estado LISTEN. Cuando el cliente seconecte, se creará un socket con la conexión establecida y otro que quedea la escucha.

• SYN-SENT: Al enviar un paquete con el flag SYN levantado, como primerpaso para el saludo en tres tiempos de una conexión, el socket entra en elestado SYN-SENT.

• SYN-RECEIVED: Cuando tiene lugar el segundo paso del saludo en trestiempos y se responde al primer SYN con un SYN/ACK, los sockets tienenestado SYN-RECEIVED.

• ESTABLISHED: Una vez se completa el saludo en tres tiempos se entraen estado ESTABLISHED y se permanece en él durante todo el tiempoque dura la conexión.

• FIN-WAIT-1: El socket entra en este estado una vez envía el paquete conel flag FIN levantado pero aún no ha recibido la confirmación de esepaquete. Solamente se reciben datos.

• FIN-WAIT-2: Una vez recibida la confirmación ACK del paqueteFIN, entramos en este estado. Solamente se reciben datos.

• CLOSE-WAIT: Si somos nosotros los que recibimos el paquetecon el flag FIN levantado pero aún tenemos datos que enviar, elsocket entra en estado CLOSE-WAIT.

• CLOSING: Si ambos host desean finalizar la conexión a la vez,los sockets entran en estado CLOSING.

• LAST-ACK: Una vez enviados sendos paquetes con el flag FINlevantado en la finalización de una conexión TCP, cuando el últimoen haber enviado el paquete está pendiente de recibir laconfirmación, entra en estado LAST-ACK.

• TIME-WAIT: Una vez enviados sendos paquetes con el flag FINlevantado en la finalización de una conexión TCP, cuando elprimero en haber enviado el paquete envía la confirmación alúltimo paquete FIN, entra en estado TIME-WAIT para esperar untiempo prudencial que le permita cerciorarse de la recepción delmismo.

• ABIERTO– Una aplicación acepta conexiones TCP o paquetes UDP en este puerto. El

encontrar esta clase de puertos es generalmente el objetivo primario de realizarun sondeo de puertos. Las personas orientadas a la seguridad saben que cadapuerto abierto es un vector de ataque. Los atacantes y las personas que realizanpruebas de intrusión intentan aprovechar puertos abiertos, por lo que losadministradores intentan cerrarlos, o protegerlos con cortafuegos, pero sin quelos usuarios legítimos pierdan acceso al servicio. Los puertos abiertos tambiénson interesantes en sondeos que no están relacionados con la seguridad porqueindican qué servicios están disponibles para ser utilizados en una red.

• CERRADO– Un puerto cerrado es accesible: recibe y responde a las sondas de Nmap, pero

no tiene una aplicación escuchando en él. Pueden ser útiles para determinar siun equipo está activo en cierta dirección IP (mediante descubrimiento desistemas, o sondeo ping), y es parte del proceso de detección de sistemaoperativo. Como los puertos cerrados son alcanzables, o sea, no se encuentranfiltrados, puede merecer la pena analizarlos pasado un tiempo, en caso de quealguno se abra. Los administradores pueden querer considerar bloquear estospuertos con un cortafuegos. Si se bloquean aparecerían filtrados, como sediscute a continuación.

• FILTRADO– Nmap no puede determinar si el puerto se encuentra abierto porque un filtrado

de paquetes previene que sus sondas alcancen el puerto. El filtrado puedeprovenir de un dispositivo de cortafuegos dedicado, de las reglas de unenrutador, o por una aplicación de cortafuegos instalada en el propio equipo.Estos puertos suelen frustrar a los atacantes, porque proporcionan muy pocainformación. A veces responden con mensajes de error ICMP del tipo 3, código13 (destino inalcanzable: comunicación prohibida por administradores), pero losfiltros que sencillamente descartan las sondas sin responder son mucho máscomunes. Esto fuerza a Nmap a reintentar varias veces, considerando que lasonda pueda haberse descartado por congestión en la red en vez de habersefiltrado. Esto ralentiza drásticamente los sondeos.

• NO FILTRADO– Este estado indica que el puerto es accesible, pero que Nmap no puede

determinar si se encuentra abierto o cerrado. Solamente el sondeo ACK,utilizado para determinar las reglas de un cortafuegos, clasifica a los puertossegún este estado. El analizar puertos no filtrados con otros tipos de análisis,como el sondeo Window, SYN o FIN, pueden ayudar a determinar si el puerto seencuentra abierto.

• abierto|filtrado– Nmap marca a los puertos en este estado cuando no puede

determinar si el puerto se encuentra abierto o filtrado. Estoocurre para tipos de análisis donde no responden los puertosabiertos. La ausencia de respuesta puede también significar queun filtro de paquetes ha descartado la sonda, o que se eliminacualquier respuesta asociada. De esta forma, Nmap no puedesaber con certeza si el puerto se encuentra abierto o filtrado. Lossondeos UDP, protocolo IP, FIN, Null y Xmas clasifican a lospuertos de esta manera.

• cerrado|filtrado– Este estado se utiliza cuando Nmap no puede determinar si un

puerto se encuentra cerrado o filtrado, y puede apareceraparecer sólo durante un sondeo IPID pasivo.

• Esta técnica es quizá la más común en cualquier software deescaneo de puertos. La técnica consiste en usar la llamadaconnect() de TCP para intentar establecer una conexión concada uno de los puertos del host a escanear. Si la conexión seestablece, el puerto está abierto (escuchando conexiones); encaso de recibir un aviso de cierre de conexión (RST), el puertoestará cerrado; y en caso de no recibir respuesta, se deduce queel puerto está silencioso.

• Este tipo de escaneo es extremadamente rápido, pues puederealizarse de forma paralela para distintos puertos mediante el usode varios sockets. Además, es un escaneo fácil de implementar.

• Su principal desventaja es que es llamativo en exceso, puesresulta a todas luces llamativo establecer cientos o miles deconexiones en un margen de pocos segundos. Además, alrealizarse intentos completos de conexión, cualquier sistemaguardará registros.

• Comportamiento del escaneo:

• Puerto TCP Abierto

• En nmap podemos invocar un escaneo TCPconnect() mediante el comando:

• nmap -vv -P0 -sT xxx.xxx.xxx.xxx

SYN

ACK

SYN / ACK

• Comportamiento del escaneo:

• Puerto TCP Cerrado

• En nmap podemos invocar un escaneo TCPconnect() mediante el comando:

• nmap -vv -P0 -sT xxx.xxx.xxx.xxx

SYN

RST

• Comportamiento del escaneo:

• Puerto TCP Sin Respuesta

• En nmap podemos invocar un escaneo TCPconnect() mediante el comando:

• nmap -vv -P0 -sT xxx.xxx.xxx.xxx

SYN

• Esta técnica, también conocida como Half-open scan (es el escaneo medio abierto porexcelencia), es parecida a la anterior con la importante salvedad de no establecer completamentelas conexiones.

• En primer lugar, se envía un paquete SYN que finge intentar establecer una conexión y seespera la respuesta. Si llega un paquete SYN/ACK significa que el puerto está abierto; si llegaun paquete RST, el puerto está cerrado; y si no se recibe respuesta se asume que estásilencioso. En el caso de que el puerto esté abierto y recibamos el paquete SYN/ACK (es decir,están completos dos de los tres pasos del saludo en tres tiempos), nosotros no responderemoscon un paquete ACK como sería lo esperado, sino que mandaremos un paquete RST. ¿Paraqué? Pues precisamente para evitar que se complete el inicio de conexión y, por tanto, evitarque el sistema registre el suceso como un intento de conexión. En sistemas sin protecciónespecífica de cortafuegos o IDS, este escaneo suele pasar desapercibido.

• Una característica importante de este escaneo es que requiere elevados privilegios en elsistema para poder lanzarlo, debido a que este tipo de paquetes usan sockets TCP raw. Portanto, solo el root puede lanzar escaneos TCP SYN.

• La principal ventaja de este tipo de escaneo es que suele ser bastante discreto y ofrece unosresultados bastante buenos.

• Entre sus desventajas encontramos el que es algo lento de realizar, y que un sistema con unfirewall o un IDS (aunque algunos muy básicos no) lo detectará e identificará como escaneode puertos sin ninguna duda.

• Comportamiento del escaneo:

• Puerto TCP Abierto

• En nmap podemos invocar un escaneo TCPSYN mediante el comando:

– nmap -vv -P0 -sS xxx.xxx.xxx.xxx

SYN

RST

SYN / ACK

• Comportamiento del escaneo:

• Puerto TCP Cerrado

• En nmap podemos invocar un escaneo TCPSYN mediante el comando:

– nmap -vv -P0 -sS xxx.xxx.xxx.xxx

SYN

RST

• Comportamiento del escaneo:

• Puerto TCP Sin Respuesta

• En nmap podemos invocar un escaneo TCPSYN mediante el comando:

– nmap -vv -P0 -sS xxx.xxx.xxx.xxx

SYN

• El escaneo TCP FIN, también conocido como Stealth scan (se trata del escaneo silencioso másconocido), es uno de los más discretos que podemos encontrar dentro de las técnicasconvencionales. Se apoya en una particularidad de los estándares internacionales de TCP/IP.

• A la hora de realizar el escaneo, se envía un paquete FIN al puerto del host destino quequeremos escanear. Los estándares de TCP/IP dicen que al recibir un paquete FIN en un puertocerrado, se ha de responder con un paquete RST. Así pues, si recibimos RST por respuesta, elpuerto está cerrado, y en caso de no recibir respuesta (se ignora el paquete FIN) el puertopuede encontrarse abierto o silencioso.

• Ésto supone uno de los principales inconvenientes del escaneo TCP FIN, y es que los puertosque nos figuran como abiertos, pueden estar en realidad en estado silencioso (puesto queun puerto silencioso por definición ignora cualquier paquete recibido). Así pues, este tipo deescaneos no obtienen unos resultados fiables, y ese es su talón de Aquiles.

• Otra gran desventaja de este sistema de escaneo viene de cierta compañía de software que tienepor costumbre pasarse por el forro cualquier estándar informático... sí, esa misma que estáispensando: Microsoft. En los sistemas Windows, un puerto cerrado ignora los paquetes FIN, porlo que escanear un sistema de este tipo con SYN FIN nos generará una enorme lista depuertos abiertos, aunque realmente estén cerrados o silenciosos. Así que cuidado a la hora deusar esta técnica. Como ventaja, tenemos el que estos escaneos pasan desapercibidos en lagran mayoría de los firewalls, al no intentar establecer ninguna conexión. Un IDS bienconfigurado, lo detectará.

• Comportamiento del escaneo:

• Puerto TCP Abierto

• En nmap podemos invocar un escaneo TCP FINmediante el comando:

– nmap -vv -P0 -sF xxx.xxx.xxx.xxx

FIN

• Comportamiento del escaneo:

• Puerto TCP Cerrado

• En nmap podemos invocar un escaneo TCP FINmediante el comando:

– nmap -vv -P0 -sF xxx.xxx.xxx.xxx

FIN

RST

• Comportamiento del escaneo:

• Puerto TCP Silencioso

• En nmap podemos invocar un escaneo TCP FINmediante el comando:

– nmap -vv -P0 -sF xxx.xxx.xxx.xxx

FIN

• Esta técnica, frente a las demás técnicas orientadas a TCP, está orientada alprotocolo UDP y sus puertos.

• Aunque a priori parezca que los puertos UDP no son muy interesantes, servicioscomo el rpcbind de Solaris, TFTP, SNMP, NFS... usan todos ellos UDP comoprotocolo de transferencia.

• El sistema de escaneo consiste en mandar un paquete UDP vacío (0 bytes dedatos) al puerto que deseamos escanear. Si el puerto está cerrado, el sistemaresponderá con un paquete ICMP de tipo 3 (destino inalcanzable). En caso de noresponder, el puerto puede estar abierto o silencioso.

• Este sistema puede presentar un grave problema de carencia de velocidad segúnen qué sistemas, y es que en el RFC #1812-”Requirements for IP version 4routers” (ftp://ftp.rfc-editor.org/in-notes/rfc1812.txt)

• se recomienda limitar la capacidad de generación de mensajes ICMP de error.En sistemas Linux (consultar el fichero /ipv4/icmp.h de las fuentes del kernel) estalimitación está fijada en unos 20 mensajes por segundo. Sistemas como Solaris sonmás estrictos y tiene la limitación fijada en 2 por segundo. Pero hay un sistema que,para variar, no hace mucho caso a los estándares, por lo que no tiene ningunalimitación prefijada... sí: Windows. Un escaneo UDP a un sistema Windows resultaextremadamente rápido como consecuencia de ello.

• Comportamiento del escaneo:– host local ---{UDP}---> {O} Puerto UDP abierto en el host remoto

• SIN RESPUESTA

– Host local ---{UDP}---> {X} Puerto UDP cerrado en el hostremoto

– host local <---|ICMP #3|--- {X} Puerto UDP cerrado en el hostremoto

– host local ---{UDP}---> {~} Puerto UDP silencioso en el hostremoto

• SIN RESPUESTA

• En nmap podemos invocar un escaneo UDP mediante elcomando:– nmap -vv -P0 -sU xxx.xxx.xxx.xxx

• La mayoría de las técnicas de escaneo nos permiten identificar con exactitud lospuertos abiertos o cerrados, pero generalmente los puertos silenciosos no sepueden identificar con claridad. El escaneo ACK está destinado a identificar deforma precisa cuándo un puerto se encuentra en estado silencioso. Esta técnicaes usada también para poder escanear hosts que estén detrás de un firewall quebloquee los intentos de conexión (paquetes SYN).

• Su funcionamiento se basa en el envío de paquetes ACK con números desecuencia y confirmación aleatorios. Cuando reciba el paquete, si el puerto seencuentra abierto, responderá con un paquete RST, pues no identificará laconexión como suya; si el puerto está cerrado responderá con un paquete RST,pero si no se obtiene respuesta (obviamente primero debemos asegurarnos que elhost está en línea) podemos identificar claramente el puerto como filtrado (puertosilencioso).

• Normalmente el escaneo ACK se realiza como apoyo a un escaneo anterior, paradeterminar los puertos silenciosos y poder identificar mediante una combinación detécnicas el estado real de todos ellos. Por ejemplo, ante un host con un firewallque bloquee intentos de conexión (SYN), podemos realizar un FIN scan paradeterminar los puertos cerrados, y después un ACK scan para determinar quépuertos están abiertos y cuáles silenciosos.

• Esta técnica también es usada como variante del ping (ICMP echo) de toda la vida,para saber si un host está activo (recibiremos respuesta RST) o no (cuando nohay respuesta o la respuesta es destino inalcanzable).

• Comportamiento del escaneo:– host local ---[ACK]---> [O] Puerto TCP abierto en el host remoto– host local <---[RST]--- [O] Puerto TCP abierto en el host remoto– host local ---[ACK]---> [X] Puerto TCP cerrado en el host remoto– host local <---[RST]--- [X] Puerto TCP cerrado en el host remoto– host local ---[ACK]---> [~] Puerto TCP silencioso en el host

remoto• SIN RESPUESTA

• En nmap podemos invocar un escaneo ACK mediante elcomando:– nmap -vv -sA xxx.xxx.xxx.xxx

• Este escaneo tiene muchos puntos en común con el escaneoFIN. Su funcionamiento base es el mismo: enviamos un paquetemalformado (en este caso se trata de un paquete TCP con todoslos flags desactivados) y esperamos la respuesta. En caso de queel puerto destino esté cerrado, nos responderá con un paqueteRST; y en caso de no recibir nada (nuestro paquete es ignorado),se trata de un puerto abierto o silencioso.

• La ventaja frente al escaneo FIN radica en que ciertos firewallsvigilan los paquetes de finalización de conexión además de los deestablecimiento, de forma que el escaneo nulo podrá realizarse allídónde el FIN no sería posible. El resto de ventajas y desventajasson las mismas que en el escaneo FIN.

• Comportamiento del escaneo:– host local ---[ ]---> [O] Puerto TCP abierto en el host remoto

• SIN RESPUESTA

– Host local ---[ ]---> [X] Puerto TCP cerrado en el host remoto– host local <---[RST]--- [X] Puerto TCP cerrado en el host remoto– host local ---[ ]---> [~] Puerto TCP silencioso en el host remoto

• SIN RESPUESTA

• En nmap podemos invocar un escaneo Null mediante elcomando:– nmap -vv -P0 -sN xxx.xxx.xxx.xxx

• El escaneo Xmas se basa también en el principio de larespuesta RST por parte de un puerto cerrado al recibirun paquete incorrecto (como el escaneo FIN). En elcaso del escaneo Xmas, se trata de un paquete conlos flags FIN, URG y PSH activados (aunque ciertasimplementaciones activan FIN, URG, PSH, ACK y SYNe incluso algunas activan todos los flags). Podría decirseque es lo contrario del escaneo Null, pero logrando elmismo efecto.

• Al igual que el escaneo Null, se usa bajo ciertascircunstancias en las que el escaneo FIN no es posible;y también comparte con éstos sus particularidades.

• Comportamiento del escaneo:– host local ---[xmas]---> [O] Puerto TCP abierto en el host remoto

• SIN RESPUESTA

– Host local ---[xmas]---> [X] Puerto TCP cerrado en el hostremoto

– host local <---[RST]--- [X] Puerto TCP cerrado en el host remoto

– host local ---[xmas]---> [~] Puerto TCP silencioso en el hostremoto

• SIN RESPUESTA

• En nmap podemos invocar un escaneo Xmas medianteel comando:– nmap -vv -P0 -sX xxx.xxx.xxx.xxx

• Este tipo de escaneo tiene una base parecida a los anteriormentecitados FIN, Null y Xmas, pero con la sustancial diferencia de queen este caso los paquetes malformados fingen ser un error en latransacción de una conexión legítima. Mediante esta técnica, seenvía un paquete SYN/ACK al puerto que deseamos escanear enel host remoto. Si el puerto se encuentra cerrado, nos responderácon un paquete RST. En caso de estar abierto o silencioso,simplemente ignorará el paquete y no obtendremos respuesta.

• Como ventaja, este tipo de escaneo evade la mayoría de firewallse IDS sencillos, pero comparte con los escaneos anteriormentecitados sus problemas, principalmente la falta de fiabilidad a lahora de determinar los puertos abiertos o silenciosos.

• Comportamiento del escaneo:– host local ---[SYN/ACK]---> [O] Puerto TCP abierto en

el host remoto• SIN RESPUESTA

– Host local ---[SYN/ACK]---> [X] Puerto TCP cerradoen el host remoto

– host local <---[RST]--- [X] Puerto TCP cerrado en elhost remoto

– host local ---[SYN/ACK]---> [~] Puerto TCP silenciosoen el host remoto

• SIN RESPUESTA

• En nmap no se encuentra implementado estetipo de escaneo.

• Un ping sweep (también llamado barrido de ping) no es en realidad una técnica de escaneo de puertos... sinomás bien una técnica de escaneo de hosts.

• Es el momento de hablar de una opción de nmap que he incluido en el ejemplo de todos los escaneos de los quehemos hablado hasta ahora. Es la opción -P0. Veamos qué dice la guía de referencia rápida de nmap (nmap -h)al respecto de este comando...

– P0 Don't ping hosts (needed to scan www.microsoft.com and others)

• Efectivamente, mediante esta opción logramos que, antes de realizar el escaneo de puertos propiamente dicho, elsoftware no compruebe si el host está activo. Y os preguntaréis, ¿para qué demonios me gustaría a mí que nose realizara esa comprobación? Pues es una técnica muy común el denegar, vía firewall, la salida de paquetesICMP echo reply. Así, al realizar un ping a un host, éste no responde y puede parecer que esté inactivo. Probada realizar un ping a www.microsoft.com y luego visitad su web.

• Ahora imaginad que el objetivo de nuestro escaneo va a ser toda una red (por ejemplo 192.168.0.0/24), en lugarde un único host. Lo primero que nos interesará es saber qué hosts están activos, pues si escaneamos toda lared con la opción -P0, perderemos mucho tiempo mandando paquetes y esperando la respuesta de equipos queen realidad están inactivos. Pero cabe la posibilidad de que algunos equipos nos hagan creer que están inactivoscuando en realidad no lo están... y aquí es donde entran las diversas técnicas de ping sweep.

• Mediante esta técnica, se realiza un barrido comprobando qué host dentro de un rango se encuentranactivados. Los métodos para comprobar esto son varios:

• TCP echo: Envío de paquetes TCP al puerto echo (TCP/7). Si recibe respuesta, el host está activo.• UDP echo: Envío de paquetes UDP al puerto echo (UDP/7). Si recibe respuesta, el host está activo.• TCP ACK: Envío de paquetes TCP ACK. Si se obtiene respuesta RST, el host está activo.• TCP SYN: Envío de paquetes TCP SYN. Si se obtiene respuesta RST o SYN/ACK, el host está activo.• ICMP echo: Este es el ping de toda la vida. ICMP echo request e ICMP echo reply.

• Aunque todas ellas son válidas, incluso el ping clásico, las más efectivasson TCP ACK y TCP SYN. TCP echo y UDP echo no son muy usadas niútiles, pues prácticamente ningún host tendrá abierto el puerto echo y si lotiene, es poco probable que bloquee los intentos de ping normales.

• En nmap podemos invocar un ping sweep mediante estos comandos:– TCP ACK: nmap -vv -sP -PT xxx.xxx.xxx.xxx/xx– TCP SYN: nmap -vv -sP -PS xxx.xxx.xxx.xxx/xx– ICMP echo: nmap -vv -sP -PI xxx.xxx.xxx.xxx/xx– TCP ACK e ICMP echo en paralelo: nmap -vv -sP -PB xxx.xxx.xxx.xxx/xx

• La técnica TCP ACK e ICMP echo en paralelo realiza a la vez ambastécnicas, de forma que se pueda evadir un firewall que implementeprotección contra una de esas técnicas. Este modo es el usado por nmapen caso de no especificar ninguno (nmap -vv -sP xxx.xxx.xxx.xxx/xx).

• Es útil reforzar la exploración del modo -PB con un ping TCP SYN (-PS),pues ciertos firewalls bloquean tanto los intentos de ping ICMP echo comoTCP ACK.

• Uno de los primeros pasos en cualquier misión de reconocimiento de red es el de reducir un (muchas vecesenorme) conjunto de rangos de direcciones IP en una lista de equipos activos o interesantes. Analizar cada puertode cada una de las direcciones IP es lento, y usualmente innecesario. Por supuesto, lo que hace a un sistemainteresante depende ampliamente del propósito del análisis. Los administradores de red pueden interesarse sóloen equipos que estén ejecutando un cierto servicio, mientras que los auditores de seguridad pueden interesarseen todos y cada uno de los dispositivos que tengan una dirección IP. Un administrador puede sentirse cómodocon obtener un listado de equipos en su red interna mediante un ping ICMP, mientras que un consultor enseguridad realizando un ataque externo puede llegar a utilizar un conjunto de docenas de sondas en su intento desaltarse las restricciones de los cortafuegos.

• Siendo tan diversas las necesidades de descubrimiento de sistemas, Nmap ofrece una gran variedad de opcionespara personalizar las técnicas utilizadas. Al descubrimiento de sistemas («Host Discovery») se lo suele llamarsondeo ping, pero va más allá de la simple solicitud ICMP echo-request de los paquetes asociados al querido ynunca bien ponderado ping. Los usuarios pueden evitar el paso de ping utilizando un sondeo de lista (-sL) odeshabilitando el ping (-P0), o enviando combinaciones arbitrarias de sondas TCP SYN/ACK, UDP e ICMP amúltiples puertos de la red remota. El propósito de estas sondas es el de solicitar respuestas que demuestren queuna dirección IP se encuentra activa (está siendo utilizada por un equipo o dispositivo de red). En varias redessolo un pequeño porcentaje de direcciones IP se encuentran activos en cierto momento. Esto es particularmentecomún en las redes basadas en direccionamiento privado RFC1918, como la 10.0.0.0/8. Dicha red tiene más de16 millones de direcciones IP, pero la he visto siendo utilizada por empresas con menos de mil máquinas. Eldescubrimiento de sistemas puede encontrar dichas maquinas en un rango tan grande como el indicado.

• Si no se proveen opciones de descubrimiento de sistemas, Nmap envía un paquete TCP ACK al puerto 80 y unICMP Echo Request a cada máquina objetivo. Una excepción a este comportamiento es cuando se utiliza unanálisis ARP, para los objetivos que se encuentren en la red Ethernet local. Para usuarios de shell UNIX que noposean privilegios, un paquete SYN es enviado en vez del ACK, utilizando la llamada al sistema connect(). Estosvalores por omisión son el equivalente a las opciones -PA -PE. Este descubrimiento de sistemas es generalmentesuficiente cuando se analizan redes locales, pero para auditorías de seguridad se recomienda utilizar un conjuntomás completo de sondas de descubrimiento.

• Las opciones -P* (que permiten seleccionar los tipos de ping) pueden combinarse.Puede aumentar sus probabilidades de penetrar cortafuegos estrictos enviandomuchos tipos de sondas utilizando diferentes puertos o banderas TCP y códigosICMP. Recuerde que el ARP discovery (-PR) se realiza por omisión contra objetivosde la red Ethernet local incluso si se especifica otra de las opciones -P*, porque esgeneralmente más rápido y efectivo.

• Las siguientes opciones controlan el descubrimiento de sistemas.• -sL (Sondeo de lista)

– El sondeo de lista es un tipo de descubrimiento de sistemas que tan solo lista cada equipode la/s red/es especificada/s, sin enviar paquetes de ningún tipo a los objetivos. Por omisión,Nmap va a realizar una resolución inversa DNS en los equipos, para obtener sus nombres.Es sorprendente cuanta información útil se puede obtener del nombre de un sistema. Porejemplo fw.chi.playboy.com es el cortafuegos de la oficina en Chicago de PlayboyEnterprises. Adicionalmente, al final, Nmap reporta el número total de direcciones IP. Elsondeo de lista es una buena forma de asegurarse de que tenemos las direcciones IPcorrectas de nuestros objetivos. Si se encontraran nombres de dominio que no reconoces,vale la pena investigar un poco más, para evitar realizar un análisis de la red de la empresaequivocada.

– Ya que la idea es simplemente emitir un listado de los sistemas objetivo, las opciones demayor nivel de funcionalidad como análisis de puertos, detección de sistema operativo, oanálisis ping no pueden combinarse con este sondeo. Si desea deshabilitar el análisis pingaún realizando dicha funcionalidad de mayor nivel, compruebe la documentación de laopción -P0.

• -sP (Sondeo ping)– Esta opción le indica a Nmap que únicamente realice descubrimiento de sistemas mediante

un sondeo ping, y que luego emita un listado de los equipos que respondieron al mismo. Nose realizan más sondeos (como un análisis de puertos o detección de sistema operativo). Adiferencia del sondeo de lista, el análisis ping es intrusivo, ya que envía paquetes a losobjetivos, pero es usualmente utilizado con el mismo propósito. Permite un reconocimientoliviano de la red objetivo sin llamar mucho la atención. El saber cuántos equipos seencuentran activos es de mayor valor para los atacantes que el listado de cada una de las IPy nombres proporcionado por el sondeo de lista.

– De la misma forma, los administradores de sistemas suelen encontrar valiosa esta opción.Puede ser fácilmente utilizada para contabilizar las máquinas disponibles en una red, omonitorizar servidores. A esto se lo suele llamar barrido ping, y es más fiable que hacer pinga la dirección de broadcast, ya que algunos equipos no responden a ese tipo de consultas.

– La opción -sP envía una solicitud de eco ICMP y un paquete TCP al puerto 80 por omisión.Cuando un usuario sin privilegios ejecuta Nmap se envía un paquete SYN (utilizando lallamada connect()) al puerto 80 del objetivo. Cuando un usuario privilegiado intenta analizarobjetivos en la red Ethernet local se utilizan solicitudes ARP (-PR) a no ser que seespecifique la opción --send-ip.

– La opción -sP puede combinarse con cualquiera de las opciones de sondas dedescubrimiento (las opciones -P*, excepto -P0) para disponer de mayor flexibilidad. Si seutilizan cualquiera de las opciones de sondas de descubrimiento y número de puerto, seignoran las sondas por omisión (ACK y solicitud de eco ICMP). Se recomienda utilizar estastécnicas si hay un cortafuegos con un filtrado estricto entre el sistema que ejecuta Nmap y lared objetivo. Si no se hace así pueden llegar a pasarse por alto ciertos equipos, ya que elcortafuegos anularía las sondas o las respuestas a las mismas.

• -P0 (No realizar ping)– Con esta opción, Nmap no realiza la etapa de descubrimiento. Bajo

circunstancias normales, Nmap utiliza dicha etapa para determinar quémáquinas se encuentran activas para hacer un análisis más agresivo.Por omisión, Nmap sólo realiza ese tipo de sondeos, como análisis depuertos, detección de versión o de sistema operativo contra los equiposque se están «vivos». Si se deshabilita el descubrimiento de sistemascon la opción -P0 entonces Nmap utilizará las funciones de análisissolicitadas contra todas las direcciones IP especificadas. Por lo tanto, sise especifica una red del tamaño de una clase B cuyo espacio dedireccionamiento es de 16 bits, en la línea de órdenes, se analizarácada una de las 65.536 direcciones IP. El segundo carácter en laopción -P0 es un cero, y no la letra O. Al igual que con el sondeo delista, se evita el descubrimiento apropiado de sistemas, pero, en vez dedetenerse y emitir un listado de objetivos, Nmap continúa y realiza lasfunciones solicitadas como si cada IP objetivo se encontrara activa.

• -PS [lista de puertos] (Ping TCP SYN)– Esta opción envía un paquete TCP vacío con la bandera SYN puesta. El puerto destino por

omisión es el 80 (se puede configurar en tiempo de compilación cambiando el valor deDEFAULT_TCP_PROBE_PORT en nmap.h), pero se puede añadir un puerto alternativo comoparámetro. También se puede especificar una lista de puertos separados por comas (p.ej. -PS22,23,25,80,113,1050,35000). Si hace esto se enviarán sondas en paralelo a cada uno de lospuertos.

– La bandera SYN indica al sistema remoto que quiere establecer una conexión. Normalmente, si elpuerto destino está cerrado se recibirá un paquete RST (de «reset»). Si el puerto está abiertoentonces el objetivo responderá con el segundo paso del saludo en tres pasos TCP respondiendocon un paquete TCP SYN/ACK. El sistema donde se ejecuta Nmap romperá la conexión que seestá estableciendo enviando un paquete RST en lugar de enviar el paquete ACK que completaríael saludo TCP. Nmap no envía este paquete, sino que lo envía el núcleo del sistema donde seejecuta Nmap respondiendo al paquete SYN/ACK que no esperaba.

– A Nmap no le importa si el puerto está abierto o cerrado. Si, tal y como se acaba de describir, llegauna respuesta RST ó SYN/ACK entonces Nmap sabrá que el sistema está disponible y responde.

– En sistemas UNIX, generalmente sólo el usuario privilegiado root puede enviar paquetes TCPcrudos. Los usuarios no privilegiados tienen una forma de evitar esta restricción utilizando lallamada al sistema «connect()» contra el puerto destino. Esto hace que se envíe el paquete SYN alsistema, para establecer la conexión. Si la llamada «connect()» devuelve un resultado de éxitorápidamente o un fallo ECONNREFUSED entonces se puede deducir que la pila TCP que tienebajo ésta ha recibido un SYN/ACK o un RST y que puede marcar el sistema como disponible. Elsistema se puede marcar como no disponible si el intento de conexión se mantiene parado hastaque vence un temporizador. Esta es también la forma en la que se gestiona esto en conexionesIPv6 ya que Nmap aún no puede crear paquetes IPv6 crudos.

• PA [lista de puertos] (Ping TCP ACK)– El ping TCP ACK es muy parecido al ping SYN que se acaba de tratar. La diferencia es que en

este caso se envía un paquete con la bandera ACK en lugar de la SYN. Este paquete indica que sehan recibido datos en una conexión TCP establecida, pero se envían sabiendo que la conexión noexiste. En este caso los sistemas deberían responder con un paquete RST, lo que sirve paradeterminar que están vivos.

– La opción -PA utiliza el mismo puerto por omisión que la sonda SYN (el puerto 80) y tambiénpuede tomar una lista de puertos destino en el mismo formato. Si un usuario sin privilegios intentahacer esto, o se especifica un objetivo IPv6, se utiliza el procedimiento descrito anteriormente.Aunque en este caso el procedimiento no es perfecto porque la llamada «connect()» enviará unpaquete SYN en lugar de un ACK.

– Se ofrecen tanto mecanismos de sondeo con ping SYN y ACK para maximizar las posibilidades deatravesar cortafuegos. Muchos administradores configuran los enrutadores y algunos cortafuegossencillos para que se bloqueen los paquetes SYN salvo para aquellos destinados a los serviciospúblicos, como pudieran ser el servidor web o el servidor de correo de la organización. Esto evitaque se realicen otras conexiones entrantes al mismo tiempo que permite a los usuarios realizarconexiones salientes a Internet. Este acercamiento de filtrado sin estados toma pocos recursos delos cortafuegos/enrutadores y está ampliamente soportado por filtros hardware y software. Elprograma de cortafuegos Netfilter/iptables de Linux ofrece la opción --syn para implementar esteacercamiento sin estados. Cuando se han implementado reglas de filtrado como éstas es posibleque se bloqueen las sondas ping SYN (-PS) cuando éstas se envíen a un puerto cerrado. Sinembargo, en estos casos, las sondas ACK podrían saltarse las reglas y llegar a su destino.

– Otros tipos de cortafuegos comunes utilizan reglas con estados que descartan paquetes noesperados. Esta funcionalidad se encontraba antes fundamentalmente en los cortafuegos de gamaalta pero se ha hecho cada vez más común. El sistema Netfilter/iptables de Linux soporta estaposibilidad a través de la opción --state, que hace categorías de paquetes en base a su estado deconexión. En estos sistemas es más probable que funcione una sonda SYN, dado que lospaquetes ACK no esperados se reconocen como falsos y se descartan. Una solución a este dilemaes enviar sondas SYN y ACK especificando tanto la opción -PS como -PA.

• -PU [lista de puertos] (Ping UDP)– El ping UDP es otra opción para descubrir sistemas. Esta opción envía un paquete UDP

vacío (salvo que se especifique --data-length) a los puertos indicados. La lista de puertos sedebe dar en el mismo formato que se ha indicado anteriormente para las opciones -PS y -PA. Si no se especifica ningún puerto se utiliza el puerto 31338 por omisión. Se puedeconfigurar este puerto por omisión en el momento de compilar cambiandoDEFAULT_UDP_PROBE_PORT en nmap.h. Se utiliza un puerto alto y poco común poromisión porque no es deseable enviar este sondeo a otro tipo de puertos.

– La sonda UDP debería generar un paquete ICMP de puerto no alcanzable si da contra unpuerto cerrado en el equipo objetivo. Si llega éste entonces Nmap puede identificar esesistema como vivo y alcanzable. Otros errores ICMP, como el de sistema o redinalcanzables o TTL excedido indican un sistema que está muerto o que no es alcanzable.Si no llega ninguna respuesta también se entiende que el sistema no está disponible. Si sealcanza un puerto abierto la mayoría de los servicios simplemente descartarán el paquetevacío y no devolverán ninguna respuesta. Ésta es la razón por la que se utiliza el puerto poromisión 31338 ya que es poco probable que esté utilizándose. Algunos servicios, comochargen, responderán con un paquete UDP vacío lo que ayuda a Nmap a determinar que elsistema está disponible.

– La principal ventaja de este tipo de sondeos es que atraviesan cortafuegos y filtros que sóloanalizan TCP. Yo, por ejemplo, una vez fui propietario de un encaminador de banda anchainalámbrico BEFW11S4. El interfaz externo de este dispositivo filtraba por omisión todos lospuertos TCP, pero las sondas UDP podían generar mensajes de puerto no alcanzable ypermitían detectar al dispositivo.

• -PE; -PP; -PM (Tipos de ping ICMP)– Nmap puede enviar los paquetes estándar que envía el programa ping además de los tipos

de descubrimiento de equipos con TCP y UDP. Nmap envía paquetes ICMP tipo 7 («echorequest») a las direcciones IP objetivos y espera recibir un tipo 0 («Echo Reply») de lossistemas que estén disponibles. Lamentablemente para los exploradores de redes, muchossistemas y cortafuegos ahora bloquean esos paquetes en lugar de responder como requiereel estándar RFC 1122. Por ésta razón los sondeos que sólo utilizan el protocolo ICMP noson muy fiables para analizar sistemas desconocidos en Internet. Aunque pueda ser unaforma eficiente y práctica de hacerlo para administradores que tengan que monitorizar unared interna. Utilice la opción -PE para activar este comportamiento de solicitud de eco.

– Nmap no hace sólo ésto, aunque la solicitud eco es la consulta estándar de ping ICMP. Elestándar ICMP (RFC 792) también específica solicitudes de huellas de tiempo, deinformación y de máscara de red, que corresponden con los códigos 13, 15 y 17respectivamente. Aunque el objetivo de estas solicitudes es obtener la máscara de red ofecha actual de un sistema también pueden utilizarse para descubrir sistemas. Un sistemaque responde es por que está vivo y disponible. Nmap no implementa los paquetes desolicitud de información en sí, ya que no están muy soportados. El estándar RFC 1122insiste en que “un equipo NO DEBE implementar estos mensajes”. Las consultas de huellade tiempo y máscara de red se pueden enviar con las opciones -PP y -PM, respectivamente.Si se recibe una respuesta de huella de tiempo (código ICMP 14) o de máscara de red(código 18) entonces es que el sistema está disponible. Estas dos consultas pueden serútiles cuando los administradores bloquean los paquetes de consulta eco explícitamentepero se olvidan de que se pueden utilizar otras consultas ICMP con el mismo fin.

• -PR (Ping ARP)– Una de las formas de uso más comunes de Nmap es el sondeo de una red de área local

Ethernet. En la mayoría de las redes locales hay muchas direcciones IP sin usar en unmomento determinado. Esto es así especialmente en las que utilizan rangos de direccionesprivadas definidas en el RFC1918. Cuando Nmap intenta enviar un paquete IP crudo, comopudiera ser una solicitud de eco ICMP, el sistema operativo debe determinar primero ladirección (ARP) correspondiente a la IP objetivo para poder dirigirse a ella en la tramaEthernet. Esto es habitualmente un proceso lento y problemático, dado que los sistemasoperativos no se escribieron pensando en que tendrían que hacer millones de consultasARP contra sistemas no disponibles en un corto periodo de tiempo.

– El sondeo ARP hace que sea Nmap y su algoritmo optimizado el que se encargue de lassolicitudes ARP. Si recibe una respuesta, no se tiene ni que preocupar de los paquetesbasados en IP dado que ya sabe que el sistema está vivo. Esto hace que el sondeo ARPsea mucho más rápido y fiable que los sondeos basados en IP. Por ello se utiliza poromisión cuando se analizan sistemas Ethernet si Nmap detecta que están en la red local.Nmap utiliza ARP para objetivos en la misma red local aún cuando se utilicen distintos tiposde ping (como -PE o -PS). Si no quiere hacer un sondeo ARP tiene que especificar la opción--send-ip.

• -n (No realizar resolución de nombres)– Le indica a Nmap que nunca debe realizar resolución DNS inversa de las direcciones IP

activas que encuentre. Ya que DNS es generalmente lento, esto acelera un poco las cosas.

• -R (Realizar resolución de nombres con todos los objetivos)– Le indica a Nmap que deberá realizar siempre la resolución DNS inversa de las

direcciones IP objetivo. Normalmente se realiza esto sólo si se descubre que elobjetivo se encuentra vivo.

• --system-dns (Utilizar resolución DNS del sistema)– Por omisión, Nmap resuelve direcciones IP por si mismo enviando las consultas

directamente a los servidores de nombres configurados en el sistema, y luegoespera las respuestas. Varias solicitudes (generalmente docenas) sonrealizadas en paralelo para mejorar el rendimiento. Especifica esta opción sidesea que sí utilice la resolución del sistema (una IP por vez utilizando lallamada getnameinfo()). Este método es más lento y raramente útil, a no ser quehubiera un error en el código DNS de Nmap (por favor, notifíquelo si ese fuera elcaso). Éste es el método por omisión para los sondeos IPv6.

• --dns-servers <servidor1[,servidor2],...> (Servidores a utilizar para lasconsultas DNS)

– Nmap generalmente determina los servidores DNS de su archivo resolv.conf(UNIX) o del registro (Win32). Puede utilizar esta opción para especificar suspropios servidores. Esta opción no se utiliza si utiliza la opción --system-dns oestá realizando un sondeo IPv6. La resolución a través de más de un servidor deDNS es generalmente más rápida que la consulta a uno solo.

• El parametro ‘-sS’ este parametro solo se puede usar con privilegios de rooty te scanea en modo stealth, y todos los puertos que puedes tener.Veamos el siguiente ejemplo:

– nmap -sS 67.15.192.2

• Este parametro, puedes utilizarlo cuando quieres ver los puertos que tieneabierto de un host en especifico y que servicios son los que corre esepuerto.

• El parametro ‘-sT’ se utiliza igual que el parametro ‘-sS’ solo que este notrabaja en modo stealth y no necesitas tener privilegios de root para usarlo.y en vista que se utiliza para lo mismo no es necesario poner un ejemplodel mismo.

• El paramero ‘-sU’ este parametro es utilizado para scanear puerto UDPtrabaja de igual modo que los parametros anteriores solo que en lugar deescanear TCP escanea UDP, esta mas que claro.

• El parametro es ‘-sP’ este parametro es utilizado para pingear al host y versi esta up o esta down, veamos el siguiente ejemplo:

– nmap -sP 67.15.192.2

• *Los siguientes parametros son ‘-sX,-sF,-sN’, los 3parametros tienen el mismo funcionamiento, veamos lossiguientes ejemplos de cada parametro:– nmap -sX 67.15.192.2

• *El siguiente parametro es ‘-sV’ es utilizado paradeterminar el servicio y app (nombres/versiones).

• Otro parametro es el ‘-sR’ es utilizado para explorar elRPC, como en el siguiente ejemplo:– nmap -sR 67.15.192.2

• *el siguiente parametro u opcion es ‘-O’ este es utilizadopara hacer un fingerprinting al host remoto y detectarque sistema operativo esta usando, veamos el siguienteejemplo de este parametro:– nmap -O 67.15.192.2

• *El siguiente parametro es ‘-sV’ es utilizado para determinar el servicio y app(nombres/versiones).

• Otro parametro es el ‘-sR’ es utilizado para explorar el RPC, como en el siguiente ejemplo:– nmap -sR 67.15.192.2

• *el siguiente parametro u opcion es ‘-O’ este es utilizado para hacer un fingerprinting al hostremoto y detectar que sistema operativo esta usando, veamos el siguiente ejemplo de esteparametro:

– nmap -O 67.15.192.2

• *Ahora Veamos el siguiente parametro que es ‘-p’ es para scanear un rango de ports enespecifico, por ejemplo utilizando la siguiente sintaxys:

– nmap -p 1-10,80,110,22 67.15.192.2

• Para que lo tengan mas claro veamos el siguiente ejemplo:– nmap -p 80,22,110,5000 67.15.192.2

• *Otro parametro es ‘-F’ este es utilizado para explorar solo los puertos enumerados del nmap-services. Veamos el ejemplo:

– nmap -F 67.15.192.2

• *Bien ahora otro parametro y muy importante es el ‘-v’ el cual es utilizado para obtenerinformacion de un host, y tambien puedes agregarle otra v para que obtenga mas informacion yes recomendable . Por ejemplo:

– nmap -v 67.15.192.2

• *Otro parametro es ‘-P0' este parametro es utilizado para que no pingee al host.

• *otro parametro e importante es guardar logs de tus scaneos realizadoseste es el parametro ‘oN,-oX,-oG’ la sintaxys es la siguiente:

– Sintaxys: -oG logfile– Por ejemplo: nmap parametros ‘ip’ -oG log.txt

• unas de las utilidades ke se puede hacer con el famoso scaner nmap esesto, por ejemplo: si quieres scanear un rango determinado solamenteutilizas este comando

– nmap -v ip -p 80– o bien para guardar el log solo tendrias que poner el parametro ‘-oG log.txt’.

• Este famoso scanner tiene funciones que son muy interesante y lascombinaciones que se les puede dar y lo rápido que es el scanner otrafuncionalidad que le puedes dar ala hora scanear un determinado host esutilizando este comando

– nmap -sS -P0 -O ip -oG log.txt

• también pueden hacer esto si quieren scanear un rango en specifico porejemplo:

– nmap -p 22 200.92.*.* -oG log.txt

• La sintaxis básica de nmap es:– nmap [tipo de scan] [opciones]

• Por ejemplo si tenemos un host en nuestra red, con direccion ip 192.168.0.1 y deseamos conocer que puertostiene abiertos, ejecutamos:

– nmap 192.168.0.1

• Si queremos, conocer que tipo de sistema operativo, esta corriendo el host al que le realizamos el scaneo, sólobasta agregar el parámetro -O a el comando nmap.

– nmap -O 192.168.0.1

• Pero como hace nmap, para reconocer el sistema operativo, que se esta ejecutando en el host destino?.• Básicamente, cada sistema operativo, responde diferente, cuando se le envían paquetes tcp específicos, así se

logra determinar con una buena exactitud,que sistema operativo se esta ejecutando.• Al ejecutar nmap, contra un host con sistema operativo Windows XP, se produjo este resultado:• Veamos un par de opciones más interesantes que posee nmap.• Identificando los hosts activos, en nuestra red.• Supongamos, que tenemos una red, 192.168.0.x, y deseamos conocer que hosts se encuentran activos,

fácilmente, lo podemos saber con nmap, esto lo podemos conocer al realizar un ping scan.– nmap -sP 192.168.0.1-255

• *Nota: esta herramienta puede ser utilizada para realizar auditorias de seguridad en una red, pero también puedeser utilizada para fines delictivos, ya que esta herramienta pone al descubierto, puertos abiertos en lascomputadoras de una red, así como también es posible conocer como se encuentra organizada, y de cuantascomputadoras consta una red.

• Realizando Stealth Scans .• Con este tipo de scan, se pretende no ser detectado por software de detección de scaneos, se envían paquetes a los hosts con ciertos

"flags" TCP activados o desactivados para evitar ser detectados.• sN: Stealth, Null Scan, este tipo de scan pone en off todos los flags.• sF: Stealth FIN Scan, este tipo de scan usa paquetes con el flag FIN activado para las pruebas.• sX: Stealth Xmas Tree Scan, este tipo de scan envia paquetes con los flag FIN, URG, y PUSH activados.• sp: Ping Scan, realiza un scan dentro de un rango especifico de hosts. útil para conocer que hosts se encuentran en linea sin ser

detectados.• Si deseamos hacer un stealth scan del tipo Xmas Tree, y ademas deseamos conocer que sistema operativo esta corriendo el host de

destino, ejecutamos:– nmap -sX -O 192.168.1.2

• Despistalo con un Decoy Scan:• -D: Esta opción se utiliza para tratar de engañar al host, al cual se esta "scaneando", que los scans se estan generando desde otros

hosts, que se especifican en la opción -D.• En el siguiente ejemplo, realizamos un Stealth Xmas Tree scan (-sX) hacia el host 192.168.0.1, en los puertos 25(SMTP), 53(DNS), le

indicamos a nmap que no genere pings hacia el host, y tratamos de engañar al host (-D, Decoy), haciendole creer que los scans se estangenerando desde los hosts 1.2.3.4 y 5.6.7.8.

– nmap -p 25,53 -sX -P0 -D 1.2.3.4,5.6.7.8 192.168.0.1

• Guardando los resultados de tus scans.• Nmap permite guardar los resultados de un scan, en varios tipos de formato de archivo: Normal, XML, Grepable, All, y en formato "S"

(s|<ipT kiDd|3 f0rM iNto THe fiL3 U sPecfy 4s an arGuMEnT!, o mejor conocido como formato Script Kiddie!).• Si deseamos hacer un stealth scan del tipo Xmas Tree, también deseamos conocer que sistema operativo esta corriendo el host de

destino, y ademas deseamos guardar el resultado de este scan en un archivo llamado "scanresult.txt", ejecutamos:– nmap -sX -O 192.168.1.2 -oN scanresult.txt

• Ahora si lo que deseamos es realizar el scan anterior pero dentro de un rango de hosts específicos, digamos del host 192.168.1.1 hastala ip 192.168.1.255 , y deseamos guardar el resultado del scan en un archivo de texto normal entonces ejecutamos:

– nmap -sX -O 192.168.1.1-255 -oN scanresult.txt

• supongamos que la victima tiene este ip :200.12.23.34• para hacer un scan simple de este host basta con hacer esto:

– nmap 200.12.23.34

• Determinar si ciertos puertos están disponibles en la victima entonces hacemos esto.– nmap -p 21,23,110,143 200.12.23.34

• Si esta vez quiero determinar que SO esta corriendo la victima la opción es hacer esto :– nmap -sS -O 200.12.23.34

• notese que estoy utilizando la opción -sS para evitar ser detectado al hacer el scan, pero tambiénpuede funcionar de esta forma pero serás automáticamente registrado en log del sistema victima:

– nmap -O 200.12.23.34

• Para determinar si la victima es vulnerable al "bounce attack" entonces lo utilizamos asi:– nmap -b 200.12.23.34

• o de esta forma si el host tiene sensibles mecanismos de detección de intrusos.– nmap -P0 -b 200.12.23.34

• Ahora si deseo realizar un scan muy suave para no ser detectado por algún firewall utilizo estasopciones con el -f ya que algunos firewall poseen métodos para detectar este tipo de scan.

– nmap -sF -f -p 21 23 110 143 200.12.23.34