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
canarytokens-docker — Configuración de Docker para montar rápidamente tus propios Canarytokens. | Kitploit
Herramientas/GitHubGitHub/thinkst/canarytokens-docker
Herramientas DefensivasSeguridad de RedesDetección de IntrusionesRespuesta a Incidentes
GitHubthinkst/canarytokens-docker

canarytokens-docker

Configuración de Docker para montar rápidamente tus propios Canarytokens.

Ver Repositorio
65811920hace 2 mesesRevisado 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

Dockerized Canarytokens

por Thinkst Applied Research

Resumen

Los Canarytokens ayudan a rastrear la actividad y las acciones en tu red.

Si tienes algún problema, consulta nuestras FAQ aquí, o crea un issue e intentaremos responderte lo antes posible.

Tabla de contenido

  • Código de conducta
  • Requisitos previos
  • Migración a v3
  • Configuración (en Ubuntu)
  • Persistencia de datos
  • Cómo habilitar HTTPS
  • Habilitar autenticación básica en tu sitio de Canarytokens
  • ¿Qué hay de nuevo?
  • FAQ
  • Contribuciones

Código de conducta

Este proyecto y todos los que participan en él se rigen por el Código de conducta. Al participar, se espera que cumplas con este código. Por favor, reporta cualquier comportamiento inaceptable a [email protected].

Requisitos previos

  • Al menos un nombre de dominio. Si quieres habilitar el seguimiento de apertura de PDF, al menos dos dominios.
  • Host Docker con acceso a Internet. Puedes instalar Docker en un host Linux rápidamente.

Migración a v3

  • Dependiendo de si usas letsencrypt: docker compose -f docker-compose.yml down o docker compose -f docker-compose-letsencrypt.yml down
  • Si estás ejecutando una versión anterior de Docker, necesitarás actualizar.
  • docker-compose ya no funciona, y necesitarás ejecutar docker network prune antes de levantar tu instancia de Canarytokens con docker compose. Canarytokens v2 seguirá funcionando.
  • Descarga la última versión del repositorio canarytokens-docker.
  • Y en consecuencia: docker compose -f docker-compose.yml up -d o docker compose -f docker-compose-letsencrypt.yml up -d

NB: El repositorio actualizado canarytokens-docker ya no incluye el Dockerfile para Canarytokens v2, por lo que para ejecutarlo se requiere usar la imagen etiquetada thinkst/canarytokens:v2_latest. Recomendamos encarecidamente migrar a v3. Por favor, contáctanos si tienes problemas con la migración.

Configuración (en Ubuntu)

  • Inicia tu host Docker y anota la IP pública.
  • Configura tus dominios para que sus servidores de nombres apunten a la IP pública del host Docker. Esto requiere un cambio en tu registrador. Simplemente cambiar los registros NS en el archivo de zona no es suficiente. Necesitarás un registro A de tu dominio que apunte a tu IP pública.
  • Clona la configuración de Docker:
$ git clone https://github.com/thinkst/canarytokens-docker
$ cd canarytokens-docker
  • Instala Docker compose (si aún no está presente):
$ sudo apt-get install python3-pip python3-dev
$ sudo pip install -U docker-compose
#si esto falla con errores de PyYAML, instala el paquete de desarrollo libyaml
# sudo apt-get install libyaml-dev
  • Distribuimos dos archivos .env que se usarán para la configuración: switchboard.env.dist y frontend.env.dist. Deberás copiarlos/renombrarlos a switchboard.env y frontend.env respectivamente (esto garantiza que tu configuración no se pierda si descargas cambios). Una vez hecho esto, puedes editarlos:
  1. Revisa ambos archivos de configuración recién creados, switchboard.env y frontend.env, y completa la sección Required Settings. Las Optional Settings no son necesarias para el funcionamiento y tienen valores predeterminados sensatos, así que no las cambies a menos que sea necesario.

  2. A continuación, decide qué proveedor de correo quieres usar para enviar alertas. Deberás elegir entre mailgun, SMTP y sendgrid. Los detalles requeridos correspondientes se encuentran en el archivo .env correspondiente.

  3. Genera una única semilla de clave WireGuard para establecerla como CANARY_WG_PRIVATE_KEY_SEED tanto en switchboard.env como en frontend.env con el comando:

dd bs=32 count=1 if=/dev/urandom 2>/dev/null | base64
  • Aquí hay ejemplos de archivos para una configuración que usa:
    • los dominios example1.com, example2.com y example3.com (PDFs) para los disparadores de canarytoken a través de switchboard

    • la IP pública 1.1.1.1 para los disparadores de switchboard

    • el dominio 'my.domain' para servir el frontend

    • el nombre de dominio de Mailgun 'x.y' y la clave API 'zzzzzzzzzz'

    • la semilla de clave WireGuard vk/GD+frlhve/hDTTSUvqpQ/WsQtioKAri0Rt5mg7dw=

    • frontend.env

#Estos dominios se usan para tokens de propósito general
CANARY_PUBLIC_IP=1.1.1.1
CANARY_DOMAINS=example1.com,example2.com

#Estos dominios se usan solo para tokens PDF
CANARY_NXDOMAINS=example3.com

#Requiere una clave de API de Google Cloud para generar un mapa de incidentes en la página de historial con la API de Google Maps JavaScript
CANARY_GOOGLE_API_KEY=<grab google maps api key>
LOG_FILE=frontend.log
  • switchboard.env (Ejemplo usando Mailgun para correo electrónico)
CANARY_PUBLIC_DOMAIN=mydomain.com
LOG_FILE=switchboard.log
CANARY_MAILGUN_DOMAIN_NAME=x.y
CANARY_MAILGUN_API_KEY=zzzzzzzzzz
[email protected]
CANARY_ALERT_EMAIL_FROM_DISPLAY="Example Canarytokens"
CANARY_ALERT_EMAIL_SUBJECT="Canarytoken"
CANARY_WG_PRIVATE_KEY_SEED=vk/GD+frlhve/hDTTSUvqpQ/WsQtioKAri0Rt5mg7dw=
  • Finalmente, descarga e inicia las imágenes:
$ docker compose up
  • El frontend y switchboard ahora se ejecutarán en primer plano. El frontend es accesible en http://example1.com/generate. Si deseas ejecutarlo en segundo plano, puedes usar
$ docker compose up -d

NOTA: Si solo posees un dominio y te gustaría usar tokens PDF, puedes usar subdominios para CANARY_NXDOMAINS. Usando example.com como dominio, puedes establecer CANARY_NXDOMAINS a nx.example.com. Luego inicia sesión en tu consola de administración de DNS (donde puedes editar los registros DNS de tu dominio) y agrega un registro NS de nx.example.com que apunte a example.com.

Persistencia de datos

Los tokens se guardan en un archivo de base de datos Redis que existe fuera de los contenedores Docker. Busca dump.rdb en el directorio canarytokens-docker/data.

Si quieres borrar todos tus tokens, elimina dump.rdb.

Cómo habilitar HTTPS

Tenemos un archivo docker-compose separado que automatizará (en su mayoría) la puesta en marcha de un servidor de Canarytokens con HTTPS. Necesitarás hacer lo siguiente:

  • Edita el certbot.env. Deberás proporcionar tu dominio y dirección de correo electrónico (son necesarios para el proceso de registro de certbot). Ej.:
# Specify a single domain name
MY_DOMAIN_NAME=example.com

# or multiple domains names with this different key (comment out MY_DOMAIN_NAME above if you do):
# MY_DOMAIN_NAMES=example.com anotherexample.net thirdexample.org

[email protected]
  • Ahora, cuando quieras levantar tu servidor, usarás docker compose -f docker-compose-letsencrypt.yml up, lo que ejecutará el servidor en primer plano para que puedas asegurarte de que todo se inicia correctamente.

  • Si todo está funcionando, es posible que quieras presionar CTRL+C, ejecutar docker compose -f docker-compose-letsencrypt.yml down para tener un estado limpio, y luego volver a ejecutar docker compose -f docker-compose-letsencrypt.yml up -d con el agregado -d para ejecutar el servidor en segundo plano (en modo demonio).

Descargar herramienta