martes, 15 de enero de 2008

PortBunny: Escáner de Puertos Rápido!

Port Bunny es un escáner de puertos, que si bien al principio (nobleza obliga) mucho crédito no le dí (¿cómo un port scanner en kernel mode??), luego de ver atentamente el video de su presentación (sí, son 44 minutos 100% interesantes!), más los slides, sinceramente aprendí un montón de TCP, NMap (el escáner de referencia), cómo funciona un port scanner por dentro, y por supuesto, de Port Bunny mismo, je.

Y qué tiene Port Bunny de nuevo con respecto al todopoderoso NMap? Bueno (miren el video), esta gente hace un estudio pormenorizado de cómo circula el tráfico por la red, cuál es la medida de óptima (más rápida) de llevar a cabo el escaneo de puertos (sin perder paquetes), y por último el problema de falta de timing que presentan los hosts que filtran o dropean paquetes apropósito (o no).

Entonces, se plantea que si bien TCP ya resuelve esto mediante su control de congestiones, un port scanner no clasifica, ya que los Syn scans y otros scans (salvo el connect) no llegan a ser conexiones completas TCP: el control de congestión se hace sobre el tráfico de la conexión ya establecida, no sobre un "medio-inicio", "medio-fin", un "ack", etc.

Sin embargo, la idea de llevar estas técnicas implementadas en TCP al nivel de un port scanner, se logra basándose en que al menos un puerto del host que está siendo escaneado nos va a responder correctamente con un ACK (ya que está abierto), por lo que el control de tiempo y congestión se realiza insertando en el escaneo un paquete "con éxito de vuelta", llamado trigger, cada cierta cantidad N de pruebas ("probes"), para tratar de optimizar el uso de la red entre los hosts y terminar el escaneo lo antes posible, con óptimos resultados.

Está claro que acá no se habla de ser stealth (que los IDSs/IPSs no te detecten), sino que el objetivo es no desperdiciar tiempo en el port scanning; saber cuál es la carga del enlace hasta el destino y qué tiempo tenemos hasta ahí para esperar o no por una respuesta.

Si los confundió, perdon, miren el video y me cuentan. Ah, por cierto, según sus estadísticas, PortBunny le pasa el trapo por bastante a Nmap (tarda mucho menos en completar el escaneo) , así que puede estar bueno probarlo y ver si los resultados son los mismos. Al menos en teoría, no encuentro elementos para creer lo contrario...

Me faltaba, es Open Source (GPLv2), y sólo para Linux (no dice qué versión, requiere los headers del kernel para insertarlo como módulo), y su uso parece ser muy sencillo.

Saludos!
Marcelo

PD: Gracias al Blog de Laramie (no, no son los cigarros, je), que cuando postea algo de seguridad, está buenísimo. URL: http://laramies.blogspot.com/

No hay comentarios.: