Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
findcdn — Escanea dominios para identificar qué Red de Entrega de Contenido (CDN) utilizan mediante la huella digital de encabezados HTTPS, registros CNAME y datos WHOIS, con salida JSON y soporte de módulos. | Kitploit
Herramientas/GitHubGitHub/cisagov/findcdn
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoMapeo de RedesRecopilación de InformaciónUtilidades y FrameworksSuplantación de Huella DigitalAnálisis de DNS
GitHubcisagov/findcdn

findcdn

Escanea dominios para identificar qué Red de Entrega de Contenido (CDN) utilizan mediante la huella digital de encabezados HTTPS, registros CNAME y datos WHOIS, con salida JSON y soporte de módulos.

Ver Repositorio
1232313hace 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

findcdn

GitHub Build Status Coverage Status Total alerts Language grade: Python Known Vulnerabilities

findcdn, es una herramienta que puede escanear y detectar el tipo de Content Distribution Network (CDN) que utiliza un dominio. findcdn puede guardar los resultados en un archivo, usarse como módulo, o simplemente mostrar la salida en stdout.

findcdn ayuda a los usuarios de la herramienta a determinar con precisión qué CDN está utilizando un dominio. La lista de dominios soportados se encuentra en el archivo cdn_config.py en el repositorio. La biblioteca puede implementarse como una herramienta independiente o como un módulo importable en tu proyecto. En ambos casos, los resultados pueden escribirse en un archivo de salida.

Primeros pasos

findcdn requiere Python 3.7+. Python 2 no es compatible.

findcdn puede instalarse como módulo usando pip y el archivo requirements.txt del repositorio.

Instalación como módulo

findcdn puede instalarse mediante pip:

root@kitploit:~
pip install --requirement requirements.txt

Luego puede ejecutarse directamente:

root@kitploit:~
findcdn list github.com

Alternativamente, puedes instalarlo rápidamente en cualquier proyecto con:

root@kitploit:~
pip install git+https://github.com/cisagov/findcdn.git

Nota: Se recomienda usar un entorno virtual de Python para instalar módulos y mantener tu entorno limpio. Si deseas hacerlo, necesitarás pyenv y el plugin pyenv-virtualenv antes de instalar el módulo.

Uso independiente y ejemplos

root@kitploit:~
findcdn file <fileIn> [options]
findcdn list  <domain>... [options]
findcdn (-h | --help)

findcnd -h
findcdn file domains.txt -o output_cdn.txt -t 17 -d
findcdn list dhs.gov cisa.gov -o output_cnd.txt -v
findcdn list cisa.gov

Opciones

root@kitploit:~
  -h --help                    Show this message.
  --version                    Show the current version.
  -o FILE --output=FILE        If specified, then the JSON output file will be
                               created at the specified value.
  -v --verbose                 Includes additional print statements.
  --all                        Includes domains with and without a CDN
                               in output.
  -d --double                  Run the checks twice to increase accuracy.
  -t --threads=<thread_count>  Number of threads, otherwise use default.
  --timeout=<timeout>          Max duration in seconds to wait for a domain to
                               conclude processing, otherwise use default.
  --user_agent=<user_agent>    Set the user agent to use, otherwise
                               use default.

Salida de ejemplo

root@kitploit:~
user2@ubuntu:~$ findcdn list asu.edu -t 7 --double
Using 7 threads.
[Pending: 0 jobs]==[Threads: 2]: 100%|███████████████████████████████| 2/2 [00:00<00:00,  2.22it/s]
{
    "date": "06/19/2020, 13:00:38",
    "CDN_count": "1",
    "domains": {
        "asu.edu": {
            "IP": "'104.16.50.14'",
            "cdns": "'.cloudflare.com'",
            "cdns_by_names": "'Cloudflare'"
        }
    }
}
Domain processing completed.
1 domains had CDN's out of 1.

asciicast

Uso como biblioteca

Dado que findcdn puede instalarse como módulo, su capacidad de detección de CDN puede invocarse e implementarse en cualquier proyecto. Primero, importa findcdn en tu proyecto, como se muestra arriba. Luego, pásale una lista de dominios para analizar. Tras el procesamiento, el programa devolverá un objeto JSON que contiene los dominios introducidos y las CDN que utilizan.

La forma en que funciona findcdn se determina mediante las opciones pasadas; las opciones posibles actuales y un ejemplo se escriben a continuación para tu comodidad:

root@kitploit:~
findcdn.main(
    domain_list: List[str],  # List of domains to search
    output_path: str = None,  # if included, output results to JSON
    verbose: bool = False,  # Verbose mode (more printing!)
    all_domains: bool = False,  # Includes domains that dont have cdn's in the output
    interactive: bool = False,  # Includes a progress bar (normally used for command line)
    double_in: bool = False,  #D ouble the number of tries on a domain to increase accuracy
    threads: int = THREADS,  # Number of threads to use
    timeout: int = TIMEOUT,  # How long to wait on a domain
    user_agent: str = USER_AGENT,  # User Agent to use
)

Ejemplo

root@kitploit:~
import findcdn
import json

domains = ['google.com', 'cisa.gov', 'censys.io', 'yahoo.com', 'pbs.org', 'github.com']
resp_json = findcdn.main(domains, output_path="output.json", double_in=True, threads=23)

dumped_json = json.loads(resp_json)

for domain in dumped_json['domains']:
    print(f"{domain} has CDNs:\n {dumped_json['domains'][domain]['cdns']}")

Cómo funciona

findcdn está dividido en tres secciones:

  • El archivo ejecutor principal de findcdn
    • Valida y organiza los dominios introducidos
    • Orquesta el uso del CDN Engine usando una lista de dominios
    • Muestra las CDN de los dominios en JSON a stdout y a un archivo si se selecciona
  • El CDN Engine
    • Organiza todos los dominios en un "pot"
    • Chef usará la biblioteca de CDN Detection para obtener todas las CDN de cada dominio
    • Chef luego ejecuta un análisis para establecer el valor booleano has_cdn si detecta que un dominio tiene una CDN, y luego devuelve la lista de dominios al archivo ejecutor
  • CDN Detection
    • Extraerá datos de:
      • Cabeceras del servidor HTTPS
      • Registros CNAME
      • Datos WHOIS
    • A partir de cada uno de estos, ejecuta un escaneo de huellas para identificar cualquier CDN definida en cdn_config.py.

Historia

El propósito original de esta herramienta era detectar automáticamente si un dominio que usa una CDN es frontable. Debido a la importante sobrecarga que supone la detección de fronting, cambiamos el desarrollo de esta herramienta para que fuera exclusivamente una herramienta de detección de CDN. Usamos nuestra wiki para describir con más detalle qué es el Domain Fronting, nuestras notas de investigación, decisiones de diseño y guías para el fronting de dominios específicos. Si encuentras dominios frontables adicionales o cualquier fallo en las guías actuales, por favor considera ¡contribuir!

Resumen de cambios del proyecto

  • El proyecto ahora es para la detección de CDN.
    • Determinar la frontabilidad era inviable para todos los proveedores de CDN.
  • Los recursos, notas y guías ahora están disponibles en la wiki de este repositorio.
  • Cualquier comentario, mejora o guía adicional siempre es bienvenido.

Más información

Hay más información en nuestra página wiki. Te animamos a solicitar funcionalidades o contribuir con cualquier cosa que te gustaría ver añadida al proyecto o a la wiki.

Esto puede ser cualquiera de las siguientes cosas:

  • Información relacionada con el domain fronting
  • Guías para hacer fronting de diferentes dominios
  • Mejores métodos de detección de CDN
  • Actualizaciones generales de las páginas actuales de la wiki

Contribuir

¡Aceptamos contribuciones! Consulta CONTRIBUTING.md para más detalles.

Licencia

Este proyecto está en el dominio público mundial.

Este proyecto está en el dominio público dentro de los Estados Unidos, y los derechos de autor y derechos relacionados con la obra en todo el mundo se renuncian mediante la dedicación al dominio público CC0 1.0 Universal.

Todas las contribuciones a este proyecto se publicarán bajo la dedicación CC0. Al enviar una pull request, aceptas cumplir con esta renuncia al interés de derechos de autor.

Descargar herramienta