
Script de Bash para reconocimiento pasivo que consulta RIRs y servidores de ruta BGP para descubrir netblocks, ASN y rangos CIDR de la organización objetivo durante la recopilación de inteligencia en pruebas de penetración.
Un script Bash de Linux para descubrir los netblocks, o rangos, (en notación CIDR) propiedad de la organización objetivo durante la fase de recopilación de inteligencia de una prueba de penetración. Esta información es mantenida por los cinco Registros Regionales de Internet (RIR):
ARIN (América del Norte)
RIPE (Europa/Asia/Oriente Medio)
APNIC (Asia/Pacífico)
LACNIC (América Latina)
AfriNIC (África)
Además de los netblocks y direcciones IP, los Números de Sistema Autónomo (ASN) también son de interés. Los ASN se utilizan como parte del Protocolo de Puerta de Enlace Fronteriza (BGP) para identificar de forma única cada red en Internet. Las organizaciones objetivo pueden tener sus propios ASN debido al tamaño de su red o como resultado de rutas de servicio redundantes desde proveedores de servicio interconectados. Estos ASN revelarán netblocks adicionales propiedad de la organización.
ipcalc (para consultas RIPE, APNIC, LACNIC, AfriNIC)
Una nota sobre LACNIC antes de entrar en el uso. LACNIC solo permite la consulta de rango de red, ASN, Org Handle o PoC Handle. Esto no nos ayuda a localizar estos valores basándonos en el nombre de la organización. Sin embargo, publican una lista de todos los rangos asignados en un servidor FTP de acceso público, junto con sus umbrales de limitación de velocidad. Por lo tanto, hay un archivo de datos acompañante, que el script verifica, utilizado para realizar consultas LACNIC localmente. El script incluye una opción de actualización -r, que se puede usar para actualizar estos datos en un intervalo de su elección. El tiempo de ejecución aproximado es de poco menos de 28 horas.
El script sin opciones especificadas consultará ARIN y un conjunto de servidores de ruta BGP. El servidor de ruta se selecciona al azar en tiempo de ejecución. La opción -h muestra la ayuda:

Las opciones se pueden usar en cualquier combinación, todas, o ninguna.
Desafortunadamente, ninguno de los "otros" RIR indica la notación CIDR real del rango,
por lo que se utiliza ipcalc para realizar esta función. Si no está instalado en su
sistema, el script lo instalará por usted.
En las indicaciones, ingrese el nombre de la organización, el dominio de correo electrónico y si se utilizan códigos de país como parte del correo. Si responde S a los códigos de país, se le preguntará si preceden al nombre de dominio o se añaden al TLD. Se creará un directorio para los archivos de salida en /tmp/. Si se encuentra que el directorio existe, se le preguntará si desea sobrescribir. Si responde N, se añadirá una marca de tiempo al nombre del directorio.

El script consulta cada RIR, así como un servidor de ruta BGP, preguntando en el camino si se localizaron registros. Al finalizar, se generarán tres archivos: un CSV basado en Org Handle, un CSV basado en PoC Handle y un archivo delimitado por líneas de todos los rangos localizados en notación CIDR.

Cancelar el script en cualquier momento eliminará cualquier archivo de trabajo temporal y el directorio creado para los archivos de salida resultantes.

Cabe señalar que, debido a la similitud en algunos nombres de organizaciones, podría obtener resultados no relacionados con el objetivo. Los archivos CSV proporcionarán los handles asociados y las URL para una validación adicional cuando sea necesario. También es posible que empleados de la organización objetivo hayan utilizado su dirección de correo corporativo para registrar sus propios dominios. Estos también se encontrarán dentro de los resultados.
docker build -t hardcidr .
Construyendo la imagen hardcidr
docker run -v $(pwd):/tmp -it hardcidr
Ejecutando el contenedor. La salida se guardará en el directorio actual.
Para más información, consulte la publicación del blog en el sitio web de TrustedSec: Enumeración de Enrutamiento Inter-Dominio con Estilo