Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
zannotate — Utilidad para anotar conjuntos de datos de Internet con metadatos contextuales (p. ej., AS de origen, MaxMind GeoIP2, DNS inverso y WHOIS) | Kitploit
Herramientas/GitHubGitHub/zmap/zannotate
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoMapeo de RedesRecopilación de InformaciónInteligencia de AmenazasAnálisis de DNS
GitHubzmap/zannotate

zannotate

Utilidad para anotar conjuntos de datos de Internet con metadatos contextuales (p. ej., AS de origen, MaxMind GeoIP2, DNS inverso y WHOIS)

Ver Repositorio
12322hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ZAnnotate

ZAnnotate es una utilidad en Go que facilita anotar grandes conjuntos de datos de IP con metadatos de red. Actualmente esto incluye:

CLI FlagDescripciónRequiere API KeyRequiere descarga de datos
--censysInteligencia de internet de Censys (API en vivo)Sí
--cymruASN de origen/par y detalles de ASN de Cymru
--geoasnDatos de ASN de MaxMind GeoIPSí
--geoip2Datos de ciudad y geolocalización de MaxMind GeoIP2Sí
--greynoiseInteligencia de amenazas y datos de CVE de GreyNoise PsychicSí (para descargar)Sí
--ipinfoDatos de ASN y geolocalización de IPInfo.ioSí
--rdapConsultas RDAP (sucesor de WHOIS) (en vivo)
--rdnsConsultas de DNS inverso (en vivo)
--routingDatos de BGP/enrutamiento de una tabla de enrutamiento MRTSí
--spurSpur Intelligence (ASN, organización, clasificación de infraestructura, geolocalización)Sí

Ir a la configuración de los módulos: Censys · Cymru · GeoASN · GeoIP · GreyNoise · IPInfo.io · RDAP · RDNS/DNS inverso · Enrutamiento/BGP · Spur

Puedes usar cualquier combinación de anotadores; por ejemplo, aquí tienes anotaciones de DNS inverso e IPInfo juntas:

root@kitploit:~
echo "1.1.1.1" | zannotate --rdns --ipinfo --ipinfo-database=./data-snapshots/ipinfo_lite.mmdb
root@kitploit:~
{
   "ip":"1.1.1.1",
   "ipinfo":{"country":"Australia","country_code":"AU","continent":"Oceania","continent_code":"OC","asn":"AS13335","as_name":"Cloudflare, Inc.","as_domain":"cloudflare.com"},
   "rdns":{"domain_names":["one.one.one.one"]}
}

El --help tiene más detalles sobre cada anotador y sus flags disponibles.

root@kitploit:~
zannotate --help

Instalación

ZAnnotate puede instalarse usando make install

root@kitploit:~
make install

o, si no tienes make instalado, puedes usar el siguiente comando:

root@kitploit:~
cd cmd/zannotate && go install

En cualquier caso, esto instalará el binario zannotate en tu directorio $GOPATH/bin.

Comprueba que se instaló correctamente con:

root@kitploit:~
zannotate --help

Entrada/Salida

Entrada

IPs separadas por nueva línea

Por defecto, ZAnnotate espera direcciones IP delimitadas por nueva línea en la entrada estándar. Por ejemplo:

root@kitploit:~
printf "1.1.1.1\n8.8.8.8" | zannotate --rdns
root@kitploit:~
{"ip":"1.1.1.1","rdns":{"domain_names":["one.one.one.one"]}}
{"ip":"8.8.8.8","rdns":{"domain_names":["dns.google"]}}

JSON

Puede que quieras anotar datos que ya están en formato JSON. En ese caso, tendrás que usar el flag --input-file-type=json. Esto insertará un campo zannotate en el objeto JSON existente. Por ejemplo:

root@kitploit:~
echo '{"ip": "1.1.1.1"}' | zannotate --rdns --geoasn --geoasn-database=/path-to-geo-asn.mmdb --input-file-type=json
root@kitploit:~
{"ip":"1.1.1.1","zannotate":{"geoasn":{"asn":13335,"org":"CLOUDFLARENET"},"rdns":{"domain_names":["one.one.one.one"]}}}

Si tus objetos JSON tienen un campo distinto al ip por defecto para la dirección IP, puedes especificarlo con el flag --input-ip-field. Por ejemplo, si tus objetos JSON tienen un campo ip_address, puedes usar:

root@kitploit:~
echo '{"ip_address": "1.1.1.1"}' | zannotate --rdns --input-file-type=json --input-ip-field=ip_address
root@kitploit:~
{"ip_address":"1.1.1.1","zannotate":{"rdns":{"domain_names":["one.one.one.one"]}}}

CSV

Si tus datos de entrada están en formato CSV, puedes usar el flag --input-file-type=csv.

root@kitploit:~
printf "name,ip,date\n cloudflare,1.1.1.1,04-04-26\n google,8.8.8.8,04-04-26" | zannotate --rdns --input-file-type=csv
root@kitploit:~
{"name":" cloudflare","ip":"1.1.1.1","date":"04-04-26","zannotate":{"rdns":{"domain_names":["one.one.one.one"]}}}
{"name":" google","ip":"8.8.8.8","date":"04-04-26","zannotate":{"rdns":{"domain_names":["dns.google"]}}}

Al igual que con JSON, puedes usar el flag --input-ip-field para especificar una columna distinta de ip que contenga la dirección IP.

root@kitploit:~
printf "name,ip_address,date\n cloudflare,1.1.1.1,04-04-26\n google,8.8.8.8,04-04-26" | zannotate --rdns --input-file-type=csv --input-ip-field=ip_address
root@kitploit:~
{"date":"04-04-26","zannotate":{"rdns":{"domain_names":["dns.google"]}},"name":" google","ip_address":"8.8.8.8"}
{"date":"04-04-26","zannotate":{"rdns":{"domain_names":["one.one.one.one"]}},"name":" cloudflare","ip_address":"1.1.1.1"}

Salida

Por defecto, ZAnnotate lee direcciones IP delimitadas por nueva línea desde la entrada estándar y genera un objeto JSON por línea en la salida estándar, como:

root@kitploit:~
echo "1.1.1.1" | zannotate --rdns --geoasn --geoasn-database=/path-to-geo-asn.mmdb
root@kitploit:~
{"ip":"1.1.1.1","geoasn":{"asn":13335,"org":"CLOUDFLARENET"},"rdns":{"domain_names":["one.one.one.one"]}}

Si una dirección IP no puede ser anotada, ya sea por un error o por falta de datos, habrá un campo vacío para esa anotación. Por ejemplo, si una dirección IP es privada y, por lo tanto, no tiene datos de RDNS ni de ASN, la salida tendrá este aspecto:

root@kitploit:~
echo "127.0.0.1" | zannotate --rdns --geoasn --geoasn-database=/path-to-geo-asn.mmdb
root@kitploit:~
{"geoasn":{},"rdns":{},"ip":"127.0.0.1"}

Flags de salida JSON y CSV

El flag --output-annotation-field se puede usar para especificar un nombre de campo distinto para las anotaciones, en lugar de zannotate, tanto para entradas de archivos CSV como JSON.

Por ejemplo, usando la etiqueta de salida --output-annotation-field="info" con entrada JSON:

root@kitploit:~
printf "name,ip_address,date\n cloudflare,1.1.1.1,04-04-26\n google,8.8.8.8,04-04-26" | zannotate --rdns --input-file-type=csv --input-ip-field=ip_address --output-annotation-field="info"
root@kitploit:~
{"name":" cloudflare","ip_address":"1.1.1.1","date":"04-04-26","info":{"rdns":{"domain_names":["one.one.one.one"]}}}
{"ip_address":"8.8.8.8","date":"04-04-26","info":{"rdns":{"domain_names":["dns.google"]}},"name":" google"}

Módulos

[!NOTE] Las URLs y las instrucciones pueden cambiar con el tiempo. Estas están actualizadas a fecha de mayo de 2026.

Censys

Censys proporciona datos de hosts y redes a nivel de internet, incluida información sobre qué servicios se están ejecutando en una IP, qué certificados TLS tiene y más. Ofrecen un plan gratuito que permite un número limitado de consultas al mes, que puede usarse para enriquecer las anotaciones de IP con datos de Censys.

[!NOTE] La cuenta gratuita (a fecha de abril de 2026) permite una única solicitud concurrente y 100 solicitudes al mes. Una vez que hayas usado todos tus créditos, la API de Censys devolverá un error en solicitudes posteriores hasta que tus créditos se restablezcan a principios del mes siguiente o compres créditos adicionales. ZAnnotate terminará con un error si esto ocurre, para evitar fallos silenciosos; por lo tanto, si tienes un conjunto de datos grande que anotar, ten en cuenta el uso de tus créditos y prioriza anotar solo las IP para las que tengas créditos. Como la cuenta gratuita solo permite una solicitud concurrente, querrás dejar --censys-threads=1 a menos que pagues por un plan superior.

  1. Crea una cuenta en Censys.io y obtén un Personal Access Token (PAT) desde Configuración personal > Tokens de acceso personal.
  2. Anota con los datos de Censys:
root@kitploit:~
echo "8.8.8.8" | zannotate --censys --censys-pat="CENSYS_PAT_HERE"

Resultados truncados por brevedad:

root@kitploit:~
{
   "ip":"8.8.8.8",
   "censys": {
      "whois":{
         "network":{ "name":"Google LLC","cidrs":["8.8.8.0/24"],"created":"2023-12-28T00:00:00Z","updated":"2023-12-28T00:00:00Z","allocation_type":"ALLOCATION","handle":"GOGL"},
         "organization":{"state":"CA","postal_code":"94043","country":"US","tech_contacts":[{"handle":"ZG39-ARIN","name":"Google LLC","email":"[email protected]"}],
            "handle":"GOGL","street":"1600 Amphitheatre Parkway","abuse_contacts":[{"handle":"ABUSE5250-ARIN","name":"Abuse","email":"[email protected]"}],
            "admin_contacts":[{"handle":"ZG39-ARIN","name":"Google LLC","email":"[email protected]"}],
            "name":"Google LLC",
            "city":"Mountain View"}},
      "services":[{
         "port":53,"protocol":"DNS","transport_protocol":"udp","ip":"8.8.8.8","scan_time":"2026-04-10T02:55:53Z"}]}}

Cymru

Cymru proporciona información de ASN y de peering BGP para direcciones IP. Puedes usar el flag --cymru para consultar esta información a Cymru. Cymru ha configurado un servicio DNS para proporcionar esta información y, por defecto, ZAnnotate usará los resolutores DNS predeterminados de tu sistema para consultar. Si ves que se producen tiempos de espera con tu resolutor DNS local, puedes especificar resolutores personalizados con el flag --cymru-dns-servers. --cymru-threads y --cymru-timeout también están disponibles para configurar el rendimiento de las anotaciones de Cymru; los valores predeterminados están establecidos para obtener un buen rendimiento evitando tiempos de espera con la mayoría de resolutores DNS. Por defecto, el anotador de Cymru obtiene los AS de origen y pares, así como los detalles de AS de todos los ASN. Si deseas un subconjunto, están disponibles los siguientes flags: --cymru-annotate-origin-as, --cymru-annotate-peer-as y --cymru-annotate-as-details

root@kitploit:~
printf "1.1.1.1" | ./zannotate --cymru --cymru-dns-servers=1.1.1.1,1.0.0.1
root@kitploit:~
{"ip":"207.243.195.103","cymru":{"origin_asns":[7018],"peer_asns":[6939,1299,2914,3257,6461,6762],"asn_details":{"7018":{"asn":7018,"country_code":"US","registry":"arin","asn_allocation_date":"1996-07-30","asn_description":"ATT-INTERNET4 - AT&T Enterprises, LLC, US"},"6939":{"asn":6939,"country_code":"US","registry":"arin","asn_allocation_date":"1996-06-28","asn_description":"HURRICANE - Hurricane Electric LLC, US"},"1299":{"asn":1299,"country_code":"SE","registry":"ripencc","asn_allocation_date":"1993-09-01","asn_description":"TWELVE99 Arelion, fka Telia Carrier, SE"},"2914":{"asn":2914,"country_code":"US","registry":"arin","asn_allocation_date":"1998-12-07","asn_description":"NTT-DATA-2914 - NTT America, Inc., US"},"3257":{"asn":3257,"country_code":"US","registry":"ripencc","asn_allocation_date":"1994-09-30","asn_description""GTT-BACKBONE GTT, US"},"6461":{"asn":6461,"country_code":"US","registry":"arin","asn_allocation_date":"1996-04-22","asn_description":"ZAYO-6461 - Zayo Bandwidth, US"},"6762":{"asn":6762,"country_code":"IT","registry":"ripencc","asn_allocation_date":"1996-09-12","asn_description":"SEABONE-NET TELECOM ITALIA SPARKLE S.p.A., IT"}},"prefix_details":{"207.242.0.0/15":{"prefix":"207.242.0.0/15","origin_asns":[7018],"peer_asns":[1299,2914,3257,6461,6762,6939],"country_code":"US","registry":"arin","allocation_date":"1996-11-01" }}}}

GreyNoise Psychic

GreyNoise es una fuente de inteligencia de IP que proporciona metadatos como la clasificación de amenazas y los CVE asociados. Sus descargas de datos Psychic proporcionan su feed de datos en una base de datos adecuada para el enriquecimiento de datos sin conexión. Para usar su descarga con zannotate, tendrás que descargar un archivo con formato .mmdb usando tu clave de API de GreyNoise. A fecha de abril de 2026, registrarse con una cuenta gratuita da acceso a las descargas de datos.

  1. Regístrate para obtener una cuenta gratuita de GreyNoise aquí.
  2. Copia tu clave de API desde la sección correspondiente de tu cuenta.
  3. Descarga un archivo mmdb. El siguiente comando descarga datos de una fecha concreta (7 de abril de 2026). También puedes descargar datos de un rango de días y para modelos con distintos niveles de detalle; consulta la documentación de Psychic de GreyNoise para más detalles.
root@kitploit:~
curl -H "key: GREYNOISE_API_KEY_HERE" \
     https://psychic.labs.greynoise.io/v1/psychic/download/2026-04-07/3/mmdb \
     -o /tmp/m3.mmdb
  1. Prueba el enriquecimiento de datos de GreyNoise:

[!NOTE] Los siguientes ejemplos usan exactamente la descarga de datos del comando curl anterior. Los resultados que veas dependerán de los datos descargados.

root@kitploit:~
echo "14.1.105.157" | zannotate --greynoise --greynoise-database=/tmp/m3.mmdb
root@kitploit:~
{"greynoise":{"classification":"malicious","cves":["CVE-2015-2051","CVE-2016-20016","CVE-2018-10561","CVE-2018-10562","CVE-2016-6277","CVE-2024-12847"],"date":"2026-04-07","handshake_complete":true,"last_seen":"2026-04-07T00:00:00Z","seen":true,"tags":["Mirai TCP Scanner","Mirai","Telnet Protocol","Generic IoT Default Password Attempt","Web Crawler","Generic Suspicious Linux Command in Request","HNAP Crawler","Telnet Login Attempt","D-Link Devices HNAP SOAPAction Header RCE Attempt","MVPower CCTV DVR RCE CVE-2016-20016 Attempt","JAWS Webserver RCE","GPON CVE-2018-10561 Router Worm","Generic ${IFS} Use in RCE Attempt","CCTV-DVR RCE","NETGEAR Command Injection CVE-2016-6277","NETGEAR DGN setup.cgi CVE-2024-12847 Command Execution Attempt","CGI Script Scanner"],"actor":"unknown"},"ip":"14.1.105.157"}

Ten en cuenta que muchas IP no estarán en el conjunto de datos de GreyNoise, por lo que puedes ver una salida como la siguiente:

root@kitploit:~
echo "1.1.1.1" | zannotate --greynoise --greynoise-database=/tmp/m3.mmdb
root@kitploit:~
{"ip":"1.1.1.1","greynoise":{}}

IPInfo.io

IPInfo.io ofrece un conjunto de datos gratuito que incluye datos de ASN y geolocalización, limitados al nivel de país. Los planes de pago ofrecen datos de geolocalización más granulares.

  1. Regístrate para obtener una cuenta gratuita en IPInfo.io.
  2. Ve a la página de descarga de datos
  3. Descarga el archivo mmdb Página de descarga de IPInfo
  4. Ejemplo de uso desde CLI
root@kitploit:~
echo "1.1.1.1" | zannotate --ipinfo --ipinfo-database=./path-to-ipinfo-db.mmdb
root@kitploit:~
{"ip":"1.1.1.1","ipinfo":{"country":"Australia","country_code":"AU","continent":"Oceania","continent_code":"OC","asn":"AS13335","as_name":"Cloudflare, Inc.","as_domain":"cloudflare.com"}}

MaxMind GeoIP ASN y City (anteriormente GeoIP2)

MaxMind proporciona conjuntos de datos de geolocalización de IP y de ASN tanto en versión gratuita (GeoLite) como de pago (GeoIP). Además, tanto los conjuntos de datos GeoLite como GeoIP tienen dos modos de acceso: un archivo de base de datos descargable que puede consultarse localmente y una API web. El módulo GeoIP de ZAnnotate es compatible con la base de datos local tanto en versiones GeoLite como GeoIP.

Lo siguiente asume que quieres usar los conjuntos de datos gratuitos de GeoLite, pero el proceso es similar para los datos de pago de GeoIP.

  1. Formulario de registro para MaxMind GeoLite Access
  2. Inicia sesión en tu cuenta
  3. Ve a la sección "GeoIP / GeoLite" > "Descargar archivos" y descarga los archivos zip de los conjuntos de datos GeoLite ASN o GeoLite City.

Página de descarga de GeoLite

  1. Descomprime, coloca los archivos .mmdb en algún lugar y prueba con lo siguiente.

MaxMind GeoIP City

root@kitploit:~
echo "171.67.71.209" | zannotate --geoip2 --geoip2-database=./path-to-geolite2.mmdb
root@kitploit:~
{
   "ip":"171.67.71.209",
   "geoip2":{
      "city":{"name":"Vallejo","id":5405380},
      "country":{"name":"United States","code":"US","id":6252001},
      "continent":{"name":"North America","code":"NA","id":6255149},
      "postal":{"code":"94590"},
      "latlong":{"accuracy_radius":50,"latitude":38.1043,"longitude":-122.2442,"metro_code":807,"time_zone":"America/Los_Angeles"},
      "represented_country":{},
      "registered_country":{"name":"United States","code":"US","id":6252001},
      "metadata":{}}
}

MaxMind GeoLite ASN

root@kitploit:~
echo "171.67.71.209" | zannotate --geoasn --geoasn-database=/path-to-asn-file.mmdb
root@kitploit:~
{"ip":"171.67.71.209","geoasn":{"asn":32,"org":"STANFORD"}}

RDAP (sucesor de WHOIS)

RDAP (Registration Data Access Protocol) es un protocolo utilizado para acceder a los datos de registro de recursos de internet, como direcciones IP y nombres de dominio, y es el sucesor de WHOIS. ZAnnotate puede consultar servidores RDAP para obtener datos de registro de IPs.

root@kitploit:~
echo "1.1.1.1" | zannotate --rdap

Resultados truncados por brevedad:

root@kitploit:~
{
   "ip":"1.1.1.1",
   "whois": {
     "DecodeData": {},
     "Lang": "",
     "Conformance": [
       "history_version_0",
       "nro_rdap_profile_0",
       "cidr0",
       "rdap_level_0"
     ],
     "ObjectClassName": "ip network"
   }
}

Esto debería darte la misma salida que una consulta directa a un servidor RDAP, por ejemplo:

root@kitploit:~
rdap 1.1.1.1
root@kitploit:~
IP Network:
  Handle: 1.1.1.0 - 1.1.1.255
  Start Address: 1.1.1.0
  End Address: 1.1.1.255
  IP Version: v4
  Name: APNIC-LABS
  Type: ASSIGNED PORTABLE
...<further output truncated for brevity>

DNS inverso (RDNS)

ZAnnotate puede realizar consultas de DNS inverso para cada dirección IP. No se requiere descarga de datos; --rdns consulta directamente servidores DNS en vivo.

root@kitploit:~
printf "1.1.1.1\n8.8.8.8" | zannotate --rdns
root@kitploit:~
{"ip":"1.1.1.1","rdns":{"domain_names":["one.one.one.one"]}}
{"ip":"8.8.8.8","rdns":{"domain_names":["dns.google"]}}

Si una IP no tiene un registro PTR, el campo rdns estará vacío:

root@kitploit:~
echo "127.0.0.1" | zannotate --rdns
root@kitploit:~
{"ip":"127.0.0.1","rdns":{}}

Tablas de enrutamiento BGP

  1. Ve a https://archive.routeviews.org/route-views2/bgpdata/
  2. Selecciona un directorio de mes (p. ej. 2025.09)
  3. Selecciona el directorio RIBS/
  4. Descarga un archivo MRT comprimido (p. ej. rib.20250923.1200.bz2)
  5. Descomprime el archivo con:
root@kitploit:~
bzip2 -d ./path-to-downloaded-file/rib.20250923.1200.bz2
  1. Pruébalo con:
root@kitploit:~
echo "1.1.1.1" | zannotate --routing --routing-mrt-file=/tmp/rib.20250923.1200
root@kitploit:~
{"ip":"1.1.1.1","routing":{"prefix":"1.1.1.0/24","asn":13335,"path":[3561,209,3356,13335]}}

Spur IP Enrichment + Intelligence

spur.us proporciona inteligencia por IP, como ASN y organización, clasificación de infraestructura (p. ej., centro de datos, CDN, móvil) y metadatos de geolocalización. Podemos consultar spur.us junto con otras fuentes para enriquecer las anotaciones y ayudar a identificar despliegues de centros de datos/Anycast, CDN y la titularidad de los ISP.

  1. Obtén una clave de API de Spur. Dependiendo de los precios actuales, puede que tengas que registrarte en una cuenta de pago; consulta spur.us/pricing para más detalles.
  2. Establece tu clave de API como variable de entorno:
root@kitploit:~
export SPUR_API_KEY=your_api_key_here

(Si quieres que sea permanente, añade la línea anterior a tu perfil de shell, p. ej. ~/.bashrc o ~/.zshrc)

  1. Pruébalo con:
root@kitploit:~
echo "1.1.1.1" | zannotate --spur
root@kitploit:~
{"ip":"1.1.1.1","spur":{"as":{"number":13335,"organization":"Cloudflare, Inc."},"infrastructure":"DATACENTER","ip":"1.1.1.1","location":{"city":"Anycast","country":"ZZ","state":"Anycast"},"organization":"Taguchi Digital Marketing System"}}
Descargar herramienta