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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
crawlergo — Un potente rastreador de navegador para escáneres de vulnerabilidades web | Kitploit
Herramientas/GitHubGitHub/qianlitp/crawlergo
ReconocimientoEscáneres de VulnerabilidadesRecopilación de InformaciónSeguridad WebCrawler
GitHubqianlitp/crawlergo

crawlergo

Un potente rastreador de navegador para escáneres de vulnerabilidades web

Ver Repositorio
3.0k49330hace 1 añoRevisado 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

crawlergo

chromedp BlackHat EU Arsenal

Un potente rastreador de navegadores para escáneres de vulnerabilidades web

Documento en inglés | 中文文档

crawlergo es un rastreador de navegadores que utiliza el modo chrome headless para la recolección de URLs. Engancha posiciones clave de toda la página web en la etapa de renderizado del DOM, rellena y envía formularios automáticamente, con disparo inteligente de eventos JS, y recopila tantas entradas expuestas por el sitio web como sea posible. El módulo incorporado de deduplicación de URLs filtra una gran cantidad de URLs pseudoestáticas, manteniendo una velocidad rápida de análisis y rastreo para sitios web grandes, y finalmente obtiene una colección de alta calidad de resultados de solicitudes.

crawlergo actualmente soporta las siguientes características:

  • Renderizado del entorno del navegador chrome
  • Relleno inteligente de formularios, envío automatizado
  • Recolección completa de eventos DOM con disparo automatizado
  • Deduplicación inteligente de URLs para eliminar la mayoría de las solicitudes duplicadas
  • Análisis inteligente de páginas web y recolección de URLs, incluyendo contenido de archivos javascript, comentarios de página, archivos robots.txt y Fuzz automático de rutas comunes
  • Soporte para enlace de Host, corrección y adición automática de Referer
  • Soporte para proxy de solicitudes del navegador
  • Soporte para enviar los resultados a escáneres pasivos de vulnerabilidades web

Screenshot

Installation

Por favor, lea y confirme descargo de responsabilidad cuidadosamente antes de instalar y usar.

Build

  • compilación para la plataforma actual
make build
  • compilación para todas las plataformas
make build_all
  1. crawlergo solo depende del entorno de chrome para funcionar, vaya a descargar para obtener la nueva versión de chromium.
  2. Vaya a página de descargas para obtener la última versión de crawlergo y extráigala en cualquier directorio. Si está en linux o macOS, otorgue a crawlergo permisos de ejecución (+x).
  3. O puede modificar el código y compilarlo usted mismo.

Si está utilizando un sistema linux y chrome le indica dependencias faltantes, consulte TroubleShooting a continuación.

Quick Start

¡Adelante!

Suponiendo que su directorio de instalación de chromium es /tmp/chromium/, configure 10 pestañas abiertas al mismo tiempo y rastree testphp.vulnweb.com:

bin/crawlergo -c /tmp/chromium/chrome -t 10 http://testphp.vulnweb.com/

Uso con Docker

También puede usar esto con docker sin complicaciones:

git clone https://github.com/Qianlitp/crawlergo
docker build . -t crawlergo
docker run crawlergo http://testphp.vulnweb.com/

Usando Proxy

bin/crawlergo -c /tmp/chromium/chrome -t 10 --request-proxy socks5://127.0.0.1:7891 http://testphp.vulnweb.com/

Llamando a crawlergo con python

Por defecto, crawlergo imprime los resultados directamente en la pantalla. A continuación, configuramos el modo de salida a json, y el código de ejemplo para llamarlo usando python es el siguiente:

#!/usr/bin/python3
# coding: utf-8

import simplejson
import subprocess


def main():
    target = "http://testphp.vulnweb.com/"
    cmd = ["bin/crawlergo", "-c", "/tmp/chromium/chrome", "-o", "json", target]
    rsp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    output, error = rsp.communicate()
	#  "--[Mission Complete]--"  es la cadena separadora de fin de tarea
    result = simplejson.loads(output.decode().split("--[Mission Complete]--")[1])
    req_list = result["req_list"]
    print(req_list[0])


if __name__ == '__main__':
    main()

Resultados del rastreo

Cuando el modo de salida se establece en json, el resultado devuelto, después de la deserialización JSON, contiene cuatro partes:

  • all_req_list: Todas las solicitudes encontradas durante esta tarea de rastreo, que contienen cualquier tipo de recurso de otros dominios.
  • req_list: Devuelve los resultados del dominio actual de esta tarea de rastreo, deduplicados pseudoestáticamente, sin enlaces de recursos estáticos. Es un subconjunto de all_req_list.
  • all_domain_list: Lista de todos los dominios encontrados.
  • sub_domain_list: Lista de subdominios encontrados.

Ejemplos

crawlergo devuelve la solicitud completa y la URL, que se pueden usar de diversas maneras:

  • Usado en conjunto con otros escáneres pasivos de vulnerabilidades web

    Primero, inicie un escáner pasivo y establezca la dirección de escucha en: http://127.0.0.1:1234/

    A continuación, suponiendo que crawlergo está en la misma máquina que el escáner, inicie crawlergo y establezca los parámetros:

    --push-to-proxy http://127.0.0.1:1234/

  • Enlace de Host (no disponible para versiones altas de chrome) (example)

  • Cookies personalizadas (example)

  • Limpieza periódica de procesos zombie generados por crawlergo (example), contribuido por @ring04h

Evitar la detección de headless

crawlergo puede evitar la detección del modo headless por defecto.

https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html

Solución de problemas

  • 'Fetch.enable' no se encontró

    Fetch es una función compatible con la nueva versión de chrome, si se produce este error, significa que su versión es demasiado baja, actualice la versión de chrome.

  • chrome se ejecuta con dependencias faltantes como xxx.so

    // Ubuntu
    apt-get install -yq --no-install-recommends \
         libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
         libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
         libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libgbm1 \
         libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libnss3
         
    // CentOS 7
    sudo yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 \
         libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 \
         ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y
    
    sudo yum update nss -y
    
  • El mensaje de ejecución muestra Navigation timeout / navegador no encontrado / no conoce la ruta del ejecutable del navegador correcta

    Asegúrese de que la ruta del ejecutable del navegador esté configurada correctamente, escriba: chrome://version en la barra de direcciones y busque la ruta del archivo ejecutable:

Descargar herramienta