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
darc — Rastreador de darkweb que utiliza workers de requests y Selenium para obtener páginas, capturar encabezados y cookies, extraer enlaces y guardar capturas de pantalla renderizadas para la recopilación de OSINT. | Kitploit
Herramientas/GitHubGitHub/jarryshaw/darc
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoScripting y AutomatizaciónRecopilación de InformaciónSeguridad WebPrivacidadCrawler
GitHubjarryshaw/darc

darc

Rastreador de darkweb que utiliza workers de requests y Selenium para obtener páginas, capturar encabezados y cookies, extraer enlaces y guardar capturas de pantalla renderizadas para la recopilación de OSINT.

Ver Repositorio
2393929hace 18 díasRevisado 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
Sitio web

darc - Proyecto de rastreador de la darkweb

Para cualquier información técnica y/o de mantenimiento, por favor consulte amablemente |docs|_.

.. |docs| replace:: Documentación Oficial .. _docs: https://darc.jarryshaw.me

NB: A partir de la versión 1.0.0, las nuevas funcionalidades del proyecto no se desarrollarán en este repositorio público. Solo se aplicarán correcciones de errores y parches de seguridad a la actualización y a las nuevas versiones.

darc está diseñado como una navaja suiza para el rastreo de la darkweb. Integra requests para recopilar información de solicitudes y respuestas HTTP, como cookies, campos de encabezado, etc. También incluye selenium para proporcionar una página web completamente renderizada y una captura de pantalla de dicha vista.

.. image:: https://darc.jarryshaw.me/en/latest/_images/darc.jpeg

El proceso general de darc se puede describir de la siguiente manera:

Hay dos tipos de workers:

  • crawler -- ejecuta darc.crawl.crawler para proporcionar una vista fresca de un enlace y probar su conectabilidad

  • loader -- ejecuta darc.crawl.loader para proporcionar una vista en profundidad de un enlace y proporcionar más información visual

El proceso general se puede describir de la siguiente manera para los workers de tipo crawler:

  1. darc.process.process_crawler: obtiene las URL de la base de datos de enlaces de requests (cf. darc.db.load_requests), y alimenta dichas URL a darc.crawl.crawler.

    NOTA:

    Si darc.const.FLAG_MP es True, la función se llamará con soporte de multiprocesamiento; si darc.const.FLAG_TH es True, la función se llamará con soporte de multihilo; si ninguno, la función se llamará en modo de un solo hilo.

  2. darc.crawl.crawler: analiza la URL usando darc.link.parse_link, y comprueba si es necesario rastrear la URL (cf. darc.const.PROXY_WHITE_LIST, darc.const.PROXY_BLACK_LIST, darc.const.LINK_WHITE_LIST y darc.const.LINK_BLACK_LIST); si es así, entonces rastrea la URL con requests.

    Si la URL proviene de un host completamente nuevo, darc primero intentará obtener y guardar robots.txt y los sitemaps del host (cf. darc.proxy.null.save_robots y darc.proxy.null.save_sitemap), y extraer y luego guardar los enlaces de los sitemaps (cf. darc.proxy.null.read_sitemap) en la base de datos de enlaces para su futuro rastreo (cf. darc.db.save_requests). Además, si se proporciona la API de envío, se llamará a darc.submit.submit_new_host y se enviarán los documentos recién obtenidos.

    Si robots.txt está presente, y darc.const.FORCE es False, darc comprobará si se permite rastrear la URL.

    NOTA:

    La ruta raíz (p. ej. / en https://www.example.com/) siempre se rastreará ignorando robots.txt.

    En este punto, darc llamará a la función hook personalizada de darc.sites para rastrear y obtener el objeto de respuesta final. darc guardará las cookies de sesión y la información de encabezado, usando darc.save.save_headers.

    NOTA:

    Si se lanza requests.exceptions.InvalidSchema, el enlace se guardará mediante darc.proxy.null.save_invalid. Se descarta el procesamiento posterior.

    Si el tipo de contenido del documento de respuesta no se ignora (cf. darc.const.MIME_WHITE_LIST y darc.const.MIME_BLACK_LIST), se llamará a darc.submit.submit_requests y se enviará el documento recién obtenido.

    Si el documento de respuesta es HTML (text/html y application/xhtml+xml), se llamará entonces a darc.parse.extract_links para extraer todos los enlaces posibles del documento HTML y guardar dichos enlaces en la base de datos (cf. darc.db.save_requests).

    Y si el código de estado de la respuesta está entre 400 y 600, la URL se guardará de vuelta en la base de datos de enlaces (cf. darc.db.save_requests). Si NO es así, la URL se guardará en la base de datos de enlaces de selenium para continuar con los siguientes pasos (cf. darc.db.save_selenium).

El proceso general se puede describir de la siguiente manera para los workers de tipo loader:

  1. darc.process.process_loader: mientras tanto, darc obtendrá URLs de la base de datos de enlaces de selenium (cf. darc.db.load_selenium), y alimentará dichas URLs a darc.crawl.loader.

    NOTA:

    Si darc.const.FLAG_MP es True, la función se llamará con soporte de multiprocessing; si darc.const.FLAG_TH es True, la función se llamará con soporte de multithreading; si ninguno, la función se llamará en modo de un solo hilo.

  2. darc.crawl.loader: analiza la URL usando darc.link.parse_link y comienza a cargar la URL usando selenium con Google Chrome.

    En este punto, darc llamará a la función hook personalizada de darc.sites para cargar y devolver el objeto original selenium.webdriver.chrome.webdriver.WebDriver.

    Si tiene éxito, se guardará el documento HTML de origen renderizado y se tomará y guardará una captura de pantalla de página completa.

    Si se proporciona la API de envío, se llamará a darc.submit.submit_selenium y se enviará el documento recién cargado.

    Posteriormente, se llamará a darc.parse.extract_links para extraer todos los enlaces posibles del documento HTML y guardar dichos enlaces en la base de datos de requests (cf. darc.db.save_requests).


Instalación

NOTA:

darc es compatible con todas las versiones de Python superiores e incluye 3.6. Actualmente, solo es compatible y está probado en Linux (Ubuntu 18.04) y macOS (Catalina).

Al instalar en versiones de Python inferiores a 3.8, darc usará |walrus|_ para compilarse a sí mismo por compatibilidad con versiones anteriores.

.. |walrus| replace:: walrus .. _walrus: https://github.com/pybpc/walrus

.. code-block:: shell

pip install python-darc

Asegúrese de tener Google Chrome y la versión correspondiente de Chrome Driver instalados en su sistema.

A partir de la versión 0.3.0, introdujimos Redis_ como backend de base de datos para la cola de tareas.

.. _Redis: https://redis.io

Desde la versión 0.6.0, introdujimos almacenamiento en base de datos relacional (p. ej. MySQL, SQLite, PostgreSQL, etc.) para el backend de base de datos de la cola de tareas, además de la base de datos Redis, ya que puede resultar demasiado costoso en memoria cuando la cola de tareas se vuelve muy grande.

.. _MySQL: https://mysql.com/ .. _SQLite: https://www.sqlite.org/ .. _PostgreSQL: https://www.postgresql.org/

Asegúrese de tener una de las bases de datos backend instalada, configurada y en ejecución al usar el proyecto darc.

Sin embargo, el proyecto darc se distribuye con soporte para Docker y Compose. Consulte la raíz del proyecto para los archivos relevantes y más información.

O bien, puede consultar y/o instalar desde el repositorio de Docker Hub_:

.. code-block:: shell

docker pull jsnbzh/darc[:TAGNAME]

.. _Docker Hub: https://hub.docker.com/r/jsnbzh/darc

o desde GitHub Container Registry, con imágenes más actualizadas y completas:

.. code-block:: shell

docker pull ghcr.io/jarryshaw/darc[:TAGNAME]

o la imagen de depuración

docker pull ghcr.io/jarryshaw/darc-debug[:TAGNAME]


Uso

El proyecto darc proporciona una CLI simple::

usage: darc [-h] [-v] -t {crawler,loader} [-f FILE] ...

the darkweb crawling swiss army knife

positional arguments: link links to craw

Descargar herramienta