viernes, 5 de junio de 2015

Casos prácticos Nmap

Descubrimientos de equipos en una subred

Este procedimiento revela como recabar información útil del estado de las máquinas conectadas a una misma subred con Nmap, conociendo si son o no alcanzables remotamente, así como la información que es posible obtener de ellas mediante consultas a un servidor de DNS. Para ello realizaremos lo siguiente:
  • Obtención de nombres de máquina de los objetivos
    • List Scan -sL
                    nmap -sL -v www.agapornizate.es/24
  • Determinación del estado de las máquinas
    • Ping Sweep -sn (sin opciones realiza -PA80, -PS443, -PE, -PP)
                    nmap -sn -v  www.agapornizate.es/24
    • Ping TCP ACK -PA (puerto 80 por defecto)
                    nmap -sn -PA -v  www.agapornizate.es/24
    • Ping TCP SYN -PS (puerto 80 por defecto)
                    nmap -sn -PS -v  www.agapornizate.es/24
    • Ping ICMP Echo -PE
                    nmap -sn -PE -v  www.agapornizate.es/24

 Análisis de puertos

Este procedimiento nos permitirá descubrir aquellos puertos que son accesibles en una máquina. No es recomendable lanzar este tipo de análisis en un conjunto grande de equipos, debiendo reducir antes el conjunto de objetivos. De la misma manera debemos tener en cuenta que es posible que una máquina no se haya mostrado como activa en el análisis anterior por diversos motivos (que esté correctamente aislada de la red, que se controlen los tipos de comunicaciones,...etc).
    • Enumeración de todos los puertos TCP abiertos y cerrados en una máquina local:
                    nmap -sS -p- -v localhost
    • Enumeración de los puertos TCP abiertos y cerrados en una maquina perteneciente a la misma subred local
                    nmap -sS -p- -r -v 10.0.10.5
    • Enumeración de los puertos TCP abiertos y cerrados en una maquina externa
                    nmap -sS --top-ports 1300 -v www.agapornizate.es
    • Descubrimiento de reglas del firewall
                   nmap -sS -p- -r -v www.agapornizate.es

Detección de servicios y sistema operativo

Este procedimiento nos permitirá descubrir tanto el sistema operativo que tienen los objetivos como que servicio está escuchando en cada puerto.
    • Identificación de versiones de servicios (-F para analizar solo los 100 puertos más comunes):
                    nmap -sS -sV -F -v www.agapornizate.es
    • Identificación precisa de servidores en una red:
                    nmap -sS -sV -p 22,25,80 -v www.agapornizate.es
    • Determinación precisa del estado de los puertos UDP:
                    nmap -sU -sV -p 53,68,80 -v 10.0.10.1
    • Inventario de plataformas instaladas en una red:
                    nmap -sS -sV -O -v -F 10.0.10.1/25

Técnicas de evasión de cortafuegos y IDS/IPS

A principios de los 90, se empezó a generalizar el uso de herramientas cortafuegos con el expreso propósito de reducir la conectividad. De este modo las redes se empezaron a aislar de internet con Proxies, NAT y la implantación de filtros de paquetes. En estos casos la preocupación es ser extremadamente silenciosos para pasar inadvertidos por un IDS/IPS. Cabe decir que cuando escaneamos en redes con una presencia de herramientas IDS/IPS tendremos que tener paciencia y habilidad, teniendo en cuenta que podremos obtener falsos positivos que tendremos que analizar para corregir la acción.
    • Escaneo de puertos de manera sigilosa:
nmap -sS -Pn -p 22,80 -f --data-length 99 --randomize-host -g 22 -T 1 -v www.agapornizate.es/30
    • Evasión mediante falsos positivos. Este ejemplo realiza un escaneo contra un solo objetivo, pero realizado aparentemente desde varias máquinas. El uso de señuelos generará muchos falsos positivos y oculta el verdadero origen del análisis.
nmap -sS -p 135-139,445,3389 -Pn -D 172.16.28.100,172.16.28.101,ME,172.16.28.102 -v www.agapornizate.es
    • Evasión mediante ocultación del origen. Se realiza un escaneo mediante la técnica Idle Scan valiéndose de un "Zombie".
nmap -sI 192.168.1.1 -p 23-25 -P0 -v 192.168.1.2

Técnicas de optimización de análisis

A la hora de realizar una acción tenemos que tener en cuenta la latencia de un equipo con el fin de ser más eficaces. Para saber la latencia tenemos que averiguar la RTT (Round Trip Time) del tráfico entre máquinas. Para esto podemos realizarlo con el comando ping o con el comando hpimg3 (es recomendable usar este último porque muchas máquinas tienen capado en tráfico ICMP echo request. Un ejemplo de uso es hping3 -S -p 80 www.agapornizate.es, es imprescindible conocer un equipo alcanzable con un servicio disponible).
Como curiosidad, si la latencia de una red local es superior a 20 ms de rtt medio y por supuesto no hay problemas de red saturada,...etc, podremos intuir que tenemos un firewall filtrando paquetes.
Como norma general, deberemos utilizar el doble de max-rtt-timeout respecto al rtt medio calculado, y una cantidad ligeramente superior al rtt medio para initial-rtt-timeout. Si la red no está saturada, max-retries lo configuraremos a 2 intentos pero si el objetivo está a muchos saltos de la red inicial o nos encontramos con tramos con saturación es conveniente incrementar el valor por ejemplo a 4.
Un ejemplo de aplicación en una red con una latencia media de 300ms, sería:
nmap -T4 -initial-rtt-timeout 350ms -max-rtt-timeout 600ms -max-retries 4 -min-parallelism 1 10.0.10.1/24
Nmap tiene plantillas predefinidas que ajustan estos valores a casos generales, estas son paranoid|sneaky|polite|normal|aggressive|insane



No hay comentarios:

Publicar un comentario