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/

sábado, 5 de enero de 2008

Un par de links... (Vi y DabbleDB)

Bueno, tengo ganas de postear un par de links interesantes:

  • "Why, oh WHY, do those #?@! nutheads use vi?
    Tengo que confesarlo: Uso el Glorioso VIM para la gran mayoría de las cosas que hago con texto (programar, configurar servidores, etc.). Pero al comienzo de mi camino en Linux, viniendo yo de los editores "comunes" (Shift para seleccionar, Ctrl+C/Ctrl+V para Copiar/Pegar, etc.) el Vi/Vim me parecía una cosa completamente anticuada y sin sentido tener que apretar 'i' para escribir (un asco, bah).
    Gracias a Gabi, aprendí que el camino del Vi es un camino de ida y terminé adoptándolo por su enorme capacidad para editar y manipular el texto, y la verdad es que hoy en día siento que es irremplazable para un montón de cosas. Sin embargo, todavía me cuesta explicar en unos pocos minutos por qué "bancarse" su curva de aprendizaje (ver imagen abajo, je), y más me cuesta aún hacer un resumen corto de las características que más me gustan (de las que conozco). Este artículo me lo resuelve, y está muy bueno!



  • DabbleDB: Leyendo esta entrevista al creador de Django (un framework Python para desarrollar sitios web), me encontré con el comentario de que "DabbleDB es grandioso". Y gracias a las bondades del hipertexto, entré a su página y observé la demo de 7 minutos. Me dejó bastante sorprendido: Está Impresionante!!!! Quiero eso!!! (Habrá algo así pero libre?)
    Básicamente DabbleDB es un manejador/organizador de datos, que pueden estar desestructurados y uno los va "acomodando" ("estructurando" queda confuso, je) por un lado, y por otro lado sirve como excelente gestor de consultas y vistas, todo "point-and-click" y sin meter una línea de código, bien genérico. Miren la demo.

Bueno, es todo por ahora...
Hasta la próxima!

Marcelo