asn-search, herramienta de reconocimiento

Recon

Uno de los pasos en la fase de reconocimiento o colección de datos sobre un objetivo, es averiguar que IPs están asociadas con el mismo. Para ello, una forma muy usada es buscar los ASN asociados a éste, y a partir de ahí usar alguna herramienta a la que le podamos pasar dicha información y nos de las IPs asociadas.

Una web que ofrece datos bastante precisos es Electric Hurricane. De ahí podemos sacar la lista de ASNs, volcarla a un fichero y luego mandar dicho fichero a alguna herramienta como nmap, amass, etc.

Este fin de semana me entretuve un rato jugando con este modelo y decidí automatizar el proceso del volcado de ASNs de Electric Hurricane. Para ello inicialmente intenté ejectuar curl para la extracción de dichos datos, pero esto no resultó ya que la página que muestra datos ejecuta javascript para los mismos, luego intenté hacer web scrapping, esta opción tampoco funcionó y tampoco quería usar algo como Selenium, así que por último intenté usar un navegador en modo headless, y así pude grabar la página con los datos y luego a través de un script en python extraer la información. Para automatizar todo y no tener dependencias de navegador, python, etc, decidí montar todo este tinglado en Docker (sí, es otra dependencia, pero más limpia :) ).

Podéis encontrar el proyecto en github, y lo podéis usar de la siguiente manera:

docker run -it --cap-add=SYS_ADMIN tuxotron/asn-search aol

aol
AS15445
AS13084
62.51.0.0/16

Para volcarlo a un fichero sólo tienes que redirigir la salida a un fichero y luego usarlo como fuente de alguna otra herramienta.

De vez en cuando te encontrarás con el siguiente error:

[0227/012256.257103:ERROR:headless_shell.cc(481)] Failed to serialize document: Uncaught

Por lo visto es un error en Chromium con la opción headless.

De todas formas, si te da ese error, ejecuta el comando varias veces más y debería de funcionar.

No es más que un proyecto de fin de semana… Happy Hacking!