Nmap idle-scan

Hoy os voy a hablar sobre una técnica de escaneo de puertos con nmap que intenta evitar el filtrado de firewall's. Es lo que se conoce como nmap idle-scan. idle-scan es el nombre con el que se conoce a la técnica de escaneo que haciendo uso de hosts zombies oculta completamente la IP origen del escaneo. No ofusca la IP origen de la conexión, sino que ni siquiera envía un sólo paquete al destino. Esta técnica es una de las mejores para saltarnos firewall's e IDS.
El funcionamiento de idle-scan es realmente una técnica compleja en cuanto a escaneos de puertos se refiere, pero se basa en las siguientes premisas (a groso modo):
  • Un sistema operativo escucha en determinados puertos TCP al igual que un servidor web escucha en el 80 o uno de correo en el 25.
  • Un puerto se considera abierto si un servicio está escuchando en dicho puerto, cerrado sino.
  • Para establecer una conexión a un puerto, se envía un paquete "SYN" al puerto. Si el puerto está abierto y a la escucha, enviará un "SYN/ACK", en caso contrario un "RST".
  • Una máquina que reciba un paquete "SYN/ACK" no solicitado responderá con un "RST". Un "RST" no solicitado será automáticamente ignorado.
  • Cada paquete IP tiene un número de identificación (identificación de fragmento). Muchos de los SO actuales incrementan este número por cada paquete que envían, por lo que la observación es este número puede indicar cuántos paquetes se enviaron desde la última conexión.
Realizando una combinación de todos las características anteriormente descritas es a nivel general en lo que se basa la técnica idle-scan, representada gráficamente a continuación.
nmap - idle-scan
Para poder usarlo tal como se muestra en la figura, debemos de seguir un par de sencillos pasos.
  1. Seleccionar un host 'zombie'
    Este host que debemos de seleccionar, para que la técnica funcione, debe tener el IPID incremental. Existen numerosas formas de averiguar si un equipo tiene o no el IPID incremental, una de ellas es directamente con el propio nmap (plugin ipidseq.nse). Otra es empleando metasploit. Para completar el ejemplo, vamos a emplear metasploit.
    shell> msfcli scanner/ip/ipidseq RHOSTS=192.168.0.0/24 E
    
    En ejecutar el comando anterior tardará un tiempo, así que sed pacientes. Cuando termine nos dará un listado de aquellos host's con el IPID incremental que haya en la red.
  2. Lanzar nmap
    Ahora que ya tenemos la víctima puente para poder lanzar el ataque y estar perfectamente camuflados, únicamente hay que lanzarlo.
    Vamos a suponer que el host zombie empleado sea el 192.168.0.201 y el equipo a escanear el 192.168.0.15. Si lanzamos un nmap directamente contra ese equipo, aparte de dejar rastros de la IP que hace el escaneo, puede que un posible firewall nos detecte e impida la conexión.
    shell> nmap -PN -P0 -p445 192.168.0.15
    PORT     STATE     SERVICE
    445/tcp  filtered  microsoft-ds
    
    Sin embargo, si empleamos el zombie, veremos los sigueinte,
    shell> nmap -PN -P0 -p445 -sI 192.168.0.201 192.168.0.15
    PORT     STATE     SERVICE
    445/tcp  open      microsoft-ds
    

¿Qué ventajas ofrece idle-scan?

  • Sigilo
    No se envía ningún paquete con la IP del atacante, por lo que su identidad está completamente a salvo.
  • Evasión
    Al no realizar ninguna conexión directa, tanto firewall como IDS tienen más difícil detectar como filtrar el escaneo. No existe una IP origen que bloquear, ya que puede que la IP "origen" sea un equipo de la propia red, el cual sí está permitido.
Más información sobre idle-scan en nmap.org

La entrada Nmap idle-scan la puede leer en Puppet Linux.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios