CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

08/02/2013

Resultado de un ping lanzado a todas las direcciones de Internet

Red En el post anterior nos planteamos el ejercicio teórico del coste y viabilidad de escanear todas las direcciones IP de Internet y una vez calculado vimos que el coste de hacerlo era muy bajo. Por tanto, decidimos llevar a cabo un pequeño experimento: comprobar si era posible escanear toda Internet, por supuesto sin realizar ninguna acción dañina para nadie en la red.

Si bien la acción puede no ser totalmente inocua (algún IDS puede haberse quejado), hemos tratado de hacer el experimento lo menos dañino o problemático posible. En este sentido, lo más inocuo que se nos ha ocurrido es lanzar un ping (ICMP echo) a todas y cada una de las direcciones de Internet. Aunque sólo hemos enviado un único paquete por IP, hemos desordenado los escaneos para evitar que una red recibiera un alto número de paquetes consecutivos.

Para ello preparamos los dos hilos de ejecución, en cuyo trabajo he contado con la inestimable ayuda de Nacho López, un experimentado programador de C. En cualquier caso las mismas fuentes del ping podrían haber sido una buena fuente de inspiración:

Envia_echo-icmp ()

Recibe_echo_icmp ()

El proceso funciona de manera stateless: uno envía de manera ciega, y el otro simplemente va anotando los paquetes respuesta que le llegan, por lo que no se consume ninguna cantidad de memoria por cada conexión.

La mayor complejidad ha venido por el coste de recursos de almacenar en disco, debido a que era necesario ajustar bien y programar teniendo en cuenta el rendimiento de disco, de manera que cuando llegasen los resultados no perdiésemos paquetes. Tras 10 horas, obtuvimos los siguientes resultados:

Leer noticia completa en Security Art work.

Fuente: Security Art Work

CSIRT-CV