Anda di halaman 1dari 5

NMap para escaneo de puertos Parte I

NMap es una herramienta muy completa e indispensable para cualquier hacker y/o profesional seguridad informtica (desde mi punto de vista, que evidentemente es meramente subjetivo), permite ejecutar diferentes tipos de escaneos sobre maquinas remotas e inclusive sobre redes completas, permitiendo recolectar informacin especifica de los objetivos escaneados, de esta forma podremos obtener una visin global sobre los servicios, puertos e inclusive caractersticas de seguridad propias de cada una de las maquinas que escaneamos. Esta ser la primera entrada sobre este tema que intentar explicar de la forma mas clara y precisa posible. Para poder comprenderlo, son necesarios unos conocimientos bsicos sobre el protocolo TCP/IP y UDP que se asume que el lector dispone de antemano.

TIPOS DE ESCANEO EN NMAP escaneo -sP: Tambin conocido como Ping Scanning, con este mecanismo podemos identificar cuales maquinas se encuentran activas, no identificamos servicios como tal, solamente determinamos el estado de una o varias maquinas en un segmento de red, Este mtodo funciona de la siguiente forma: 1. Por defecto enva un paquete ICMP ECHO REQUEST para determinar si un host en particular se encuentra online, si es as, la maquina retornar un paquete ICMP ECHO REPLY 2. Si no hay respuesta por parte del servidor, es probable que se encuentre cado o que los paquetes ICMP se encuentren bloqueados, en este caso nmap intentar realizar un TCP Ping. 3. Si se hace uso de un TCP Ping, se enva un paquete SYN o un ACK a cualquier puerto especificado (por defecto al 80) de este modo si el host responde con un paquete RST o SYN|ACK, el sistema remoto se encuentra activo, en el caso que no responda, se encuentra cado o el puerto (puertos) se encuentran filtrados. Cuando este mtodo es ejecutado por un usuario con privilegios de root, los valores por defecto son ICMP y ACK, sin embargo cuando se trata de un usuario con privilegios limitados, se har uso de un procedimiento TCP connect(), lo que quiere decir que se establecer una conexin completa, lo que es fcilmente detectable por un IDS correctamente configurado. El tipo de escaneo ICMP puede ser deshabilitado con la opcin -P0 (P cero), de este modo se har uso de un TCP ping con ACK. escaneo -sT: Este tipo de escaneo es uno de los mas completos, debido a que realiza una conexin con el Host(s) que estn siendo escaneados, el mecanismo por medio del cual se realiza esta conexin, es utilizando el mtodo connect() del protocolo TCP, por lo tanto se realiza lo que se conoce como un three way

handshake, lo que quiere decir que el host remoto reconoce y acepta una peticin de conexin por parte de un sistema externo por medio del intercambio de los siguientes paquetes: 1.Maquina Local Envi SYN 2.Maquina Remota Reconoce SYN y Notifica con un paquete de reconocimiento SYN | ACK y trata de abrir una conexin entre ambas maquinas 3.Cliente responde al intento de conexin con un SYN indicando que ha recibido la notificacin de reconocimiento por parte de la maquina remota y que ahora esta en disponibilidad para intercambiar paquetes de datos. Este tipo de escaneo nos dar una informacin detallada y exacta de los host que pretendemos escanear, indicando que puertos se encuentran abiertos, sin embargo tiene una desventaja grande y es precisamente que una maquina remota puede detectar fcilmente este tipo de escaneo si en ella se encuentra en ejecucin un sistema de deteccin de intrusos (IDS) o un firewall ya que este tipo de sistemas normalmente tratan de realizar una traza de eventos sobre las llamadas a la funcin connect() y de esta forma queda registrada la maquina que ha intentado realizar una conexin. escaneo -sS: Con este tipo de escaneo se intenta mitigar la clara desventaja que existe en un escaneo con sT, para que de esta forma no se dejen trazas en la maquina a la que nos conectamos, la forma en la que esto se consigue, es bsicamente siguiendo el mismo modelo de un three way handshake, variando un poco en los flags que son enviados a la maquina remota de la siguiente forma: 1. Maquina local enva un paquete SYN a la maquina remota. 2. La Maquina Remota recibe un paquete SYN y enva un paquete de sincronizacin/reconocimiento para establecer la conexin entre ambos host, para esto intenta abrir la conexin entre ambas maquinas. 3. La Maquina local recibe un paquete SYN|ACK indicando que la maquina remota tiene el puerto de la peticin abierto y esperando conexin, dado que la maquina remota intenta abrir una conexin la respuesta de la maquina local, sera evidentemente una interrupcin de dicha conexin para que el mtodo connect() de la pila TCP no llegue a ser invocado y por lo tanto nuestra peticin no sea registrada por un firewall o IDS, para conseguir esto, la maquina local envi en respuesta al paquete SYN|ACK un paquete RST para finalizar la conexin de forma inmediata. Ahora bien, es posible que el puerto en la maquina remota se encuentre cerrado, si esto ocurre, la respuesta sera un paquete RST (en lugar de uno SYN|ACK), de este modo nmap permitir definir puertos cerrados, filtrados y abiertos. nmap -sS 127.0.0.1 nmap -sS 192.168.1.30- 192.168.1.40 Aunque es muy util, los IDS y Firewall mas modernos, ya detectan este tipo de comportamientos cuando se ejecuta repetidas veces, un IDS o Firewall pueden determinar que se trata de un posible escaneo de puertos y generar una traza en su log. Para realizar este tipo de escaneo es necesario tener privilegios de root. escaneo -sF: Se trata de un escaneo que evita el envi de paquetes SYN, tal como se ha indicado anteriormente, este tipo de escaneo permite conocer si un puerto se encuentra abierto o no sin necesidad de establecer una conexin TCP estndar, el mecanismo de un escaneo -sF consiste bsicamente en el envo de un paquete FIN (cierre de conexin) con el que la maquina remota responder con un paquete RST dado que el puerto no esta abierto o suprimir/ignorar el paquete dado que espera un paquete SYN. nmap -sF 127.0.0.1 nmap -sF 192.168.1.30- 192.168.1.40 escaneo -sI: Idle Scanning, se trata de una tcnica avanzada de escaneo que hace uso de host zoombies que son los que realmente realizan el ataque a una maquina remota, consiste en el uso de maquinas sensibles de ser usadas como zoombies que son aquellas que utilizan un numero de secuencia de paquetes IP predecible (IPID), nmap chequea el numero de secuencia en el zoombie y predice el siguiente nmero de secuencia

(necesario para el envi de paquetes SYN y SYN|ACK) de este modo nmap realiza el envo de un paquete SYN con la informacin de la maquina zoombie contra la maquina objetivo, de este modo, la maquina objetivo entender que el paquete viene desde la maquina zoombie y no desde donde realmente se ha llevado a cabo (es decir nuestra maquina). Para determinar si un puerto se encuentra abierto en una maquina objetivo, se enva un paquete SYN, a lo que la maquina objetivo retornar un paquete SYN|ACK (si se encuentra abierto) a la maquina zoombie, esta a su vez responder con un paquete RST, ya que no tiene registro de haber abierto dicha conexin, si el puerto se encuentra cerrado, la maquina objetivo responder con un paquete RST indicando que el puerto se encuentra cerrado, ante dicho paquete la maquina zoombie no responder nada. Posteriormente nmap consulta los valores de las secuencias IPID en la maquina zoombie y podr determinar si un determinado puerto se encuentra abierto o cerrado en la maquina objetivo, si el IPID se ha incrementado en 2 esto corresponde al paquete recibido desde el objetivo mas el paquete RST del zoombie, lo que indica que el puerto se encuentra abierto en el objetivo, si ha aumentado en 1 indica que se ha recibido un RST desde el objetivo a la maquina zoombie y la maquina zoombie evidentemente no responder ante tal paquete, por lo tanto se asume que el puerto se encuentra cerrado. escaneo -sN: Funciona igual que el -sF con la diferencia que no enva un paquete con el flag FIN sino que en lugar de esto enva un paquete se envi sin ningn tipo de marca o flag. escaneo -sU: Se trata de un escaneo tipo UDP, con esto nmap intentara enviar paquetes UDP de cero bytes y la respuesta sern mensajes ICMP, de esta forma si el retorno es un mensaje de Puerto inalcanzable, se da por el hecho que el puerto esta cerrado, como se vea anteriormente en el escaneo tipo -sP si la maquina remota tiene un firewall que bloquea este tipo de paquetes, el comportamiento de este tipo de escaneo retorna valores poco fiables (todos los puertos aparecen abiertos) Otra desventaja de este escaneo es el desempeo, dado que la mayora de sistemas operativos (en especial los basados en UNIX) limitan el numero de mensajes ICMP que se pueden en enviar en un periodo de tiempo dado, (considerando que se pueden escanear 65535 puertos UDP, la ejecucin puede tardar bastante) sin embargo sistemas como Windows no limitan este tipo de mensajes, por lo tanto escanear un sistema basado en windows resulta mucho mas sencillo y rpido. No es frecuentemente utilizado, pero puede dar informacin interesante sobre servicios que se encuentran escuchando en UDP (como troyanos, backdoors, etc.) escaneo -sO: Escaneo para determinar los protocolos basados en IP en el objetivo, para esto nmap envi un paquete IP sin ningn tipo de informacin adicional en las cabeceras del paquete, la respuesta del host ser un mensaje ICMP de Protocolo inalcanzable en el caso de que el protocolo no sea soportado sobre la maquina remota, en otro caso, se asume que el puerto esta abierto y el protocolo es soportado sobre la maquina remota, del mismo modo que con el escaneo tipo UDP, algunos sistemas y firewalls filtran este tipo de mensajes y en dichos casos se dan falsos positivos dado que todos los puertos aparecern como abiertos, (aunque por razones obvias no lo estn), tambin es posible que el sistema objetivo tenga un sistema operativo que limite el numero mximo de mensajes ICMP en un periodo de tiempo determinado, sin embargo en este caso, no afecta demasiado el rendimiento dado que solamente 256 protocolos son posibles (se trata de un campo de 8-bits en el encabezado del paquete IP), as que a diferencia del escaneo UDP este no debera tardar demasiado. escaneo -sV: Con este tipo de escaneo podemos determinar los servicios que se encuentran en ejecucin en un host o grupo de hosts, puede determinar con un nivel de detalle adicional a la opcin -O sobre el sistema operativo que se encuentra en ejecucin en un determinado Host. Se trata de un escaneo bastante agresivo y en la medida de lo posible, debera evitarse su uso si nuestra intencin es pasar desapercibidos. nmap -sV 127.0.0.1 nmap -sV 192.168.1.30- 192.168.1.40 escaneo -sA: Se trata de un escaneo que permite determinar si un firewall se encuentra filtrando un puerto de manera activa, su funcionamiento es simple, se enva un paquete ACK, si el objetivo responde con un RST (dado

que normalmente se espera un paquete SYN y no un ACK) el puerto es catalogado como no filtrado en el caso de que la maquina remota no responda al paquete, se trata de un puerto filtrado por un firewall. Cabe anotar que este tipo de escaneo no retorna ningn tipo de puerto abierto, solamente determina los puertos que se encuentran filtrados o no filtrados por un firewall en la maquina remota. Un firewall Con estado solamente espera paquetes entrantes SYN y los de sin estado tracea las conexiones y tambin bloquea paquetes ACK no solicitados, de esta forma podemos saber que tipo de firewall se encuentra en la maquina objetivo y recolectar informacin sobre la maquina a la que queremos escanear. escaneo -sW: Window Scan, Se trata de un escaneo similar al -sA, con la diferencia de que en ocasiones puede determinar si un puerto se encuentra abierto o no, dependiendo de las anomalas del protocolo TCP sobre el tamao de ventana (window size) en algunos SO. escaneo -sR: Permite determinar si un puerto abierto (TCP o UDP) tiene un servicio RPC activo, trata de determinar el programa y versin del mismo, normalmente se ejecuta acompaado alguno de los otros escaneos anteriormente descritos. escaneo -sL: Realiza el listado de IPs y nombres sin realizar un escaneo activo o un TCP ping contra la maquina objetivo.

Idle Scanning Se trata de una tcnica de escaneo de puertos annima de modo tal, que no enviamos ningn paquete nuestro a la maquina destino para conseguir el rastreo de los puertos disponibles de la maquina objetivo. El mecanismo por el cual encontramos un puerto abierto, es enviar una solicitud SYN (establecimiento de sesin) a la que posteriormente el servidor contestar con un paquete SYN | ACK (Reconocimiento de la sesin) con lo cual el servidor nos reconoce como un cliente activo, esta tcnica es bastante simple, consiste en ocultar la identidad del atacante por medio de una maquina intermedia denominada Zoombie, por medio de esta maquina se realizar el ataque a la maquina remota, el hecho de que la maquina se llame zoombie es debido a que se debe de seleccionar una que tenga poca carga o este inactiva y debe ofrecer valores IPID predecibles, Estos valores son los nmeros secuenciales de frame que se generan cuando se realizan peticiones SYN, SYN|ACK cada uno de estos paquete tiene asociado un nmero, este nmero nos permitir saber si un determinado puerto se encuentra abierto o no, ejemplos de este tipo maquinas pueden ser: Impresoras, Maquinas bajo Windows o versiones antiguas de Linux, las ultimas versiones de Linux son inmunes a ser tratadas como zoombies. Con nmap es posible realizar este tipo de ataques especificando la maquina zoombie, nmap verificar dicha maquina y si es posible ser utilizada como zoombie, esto es posible utilizando la opcin -sI, por ejemplo: nmap -P0 -p- -sI <maquina_zoombie> <maquina_atacada> Probablemente pensaras, y que maquina Zoombie puedo establecer en el comando? Podemos hacer uso de MetaSploit para detectar las maquinas que pueden ser utilizadas como zoombie de nuestra red por medio del modulo auxiliary/scanner/ip/ipidseq, por otro lado tambin podemos hacer uso de proxychains y tortunnel para realizar nuestro ataque de forma anonima, as aunque posiblemente queden rastros en la maquina Zoombie, no seran realmente los datos correspondientes a nuestra mquina, dado que esta es la virtud que tiene Tor, estos topicos los tratar en una proxima entrada.

Anda mungkin juga menyukai