Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
canarytokens-docker — Configurazione Docker per configurare rapidamente i tuoi Canarytokens. | Kitploit
Strumenti/GitHubGitHub/thinkst/canarytokens-docker
Strumenti DifensiviSicurezza di ReteRilevamento IntrusioniRisposta agli Incidenti
GitHubthinkst/canarytokens-docker

canarytokens-docker

Configurazione Docker per configurare rapidamente i tuoi Canarytokens.

Vedi Repository
65811922 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Canarytokens in Docker

di Thinkst Applied Research

Panoramica

I Canarytokens aiutano a tracciare l'attività e le azioni sulla tua rete.

Se hai problemi, consulta le nostre FAQ qui, oppure apri una segnalazione e cercheremo di risponderti il prima possibile.

Indice

  • Codice di Condotta
  • Prerequisiti
  • Migrazione alla v3
  • Configurazione (in Ubuntu)
  • Persistenza dei dati
  • Come abilitare HTTPS
  • Abilitare l'Autenticazione di Base al tuo Sito Canarytokens
  • Cosa c'è di nuovo?
  • FAQ
  • Contribuire

Codice di Condotta

Questo progetto e tutti coloro che vi partecipano sono disciplinati dal Codice di Condotta. Partecipando, ti impegni a rispettare questo codice. Segnala comportamenti inaccettabili a [email protected].

Prerequisiti

  • Almeno un nome di dominio. Se vuoi abilitare il monitoraggio dell'apertura dei PDF, servono almeno due domini.
  • Host Docker esposto a Internet. Puoi installare Docker su un host Linux rapidamente.

Migrazione alla v3

  • A seconda che tu stia usando letsencrypt: docker compose -f docker-compose.yml down oppure docker compose -f docker-compose-letsencrypt.yml down
  • Se stai eseguendo una versione precedente di Docker, dovrai effettuare l'aggiornamento.
  • docker-compose non funziona più e dovrai eseguire docker network prune prima di avviare la tua istanza Canarytokens con docker compose. Canarytokens v2 funzionerà comunque.
  • Scarica l'ultima versione del repo canarytokens-docker.
  • E di conseguenza: docker compose -f docker-compose.yml up -d oppure docker compose -f docker-compose-letsencrypt.yml up -d

NB: il repo canarytokens-docker aggiornato non contiene più il Dockerfile per Canarytokens v2, quindi per eseguirlo è necessario usare l'immagine taggata thinkst/canarytokens:v2_latest. Consigliamo vivamente di passare alla v3. Contattaci se stai lottando con la migrazione.

Configurazione (in Ubuntu)

  • Avvia il tuo host Docker e annota l'IP pubblico.
  • Configura i tuoi domini in modo che i loro nameserver puntino all'IP pubblico dell'host Docker. Questa operazione richiede una modifica presso il tuo Registrar. La semplice modifica dei record NS nel file di zona non è sufficiente. Dovrai avere un record A del tuo dominio che punti al tuo IP pubblico.
  • Clona la configurazione Docker:
root@kitploit:~
$ git clone https://github.com/thinkst/canarytokens-docker
$ cd canarytokens-docker
  • Installa Docker compose (se non già presente):
root@kitploit:~
$ sudo apt-get install python3-pip python3-dev
$ sudo pip install -U docker-compose
#if this breaks with PyYAML errors, install the libyaml development package
# sudo apt-get install libyaml-dev
  • Distribuiamo due file .env che verranno usati per la configurazione, ovvero switchboard.env.dist e frontend.env.dist. Dovrai copiarli/rinominarli rispettivamente in switchboard.env e frontend.env (questo garantisce che la tua configurazione non venga cancellata se esegui un pull delle modifiche). Una volta fatto, puoi modificarli:
  1. Esamina entrambi i file di configurazione appena creati, switchboard.env e frontend.env, e compila la sezione Required Settings. Le Optional Settings non sono necessarie per il funzionamento e hanno valori predefiniti sensati, quindi non modificarle se non serve.

  2. Decidi poi quale provider email vuoi usare per inviare gli avvisi. Dovrai scegliere tra mailgun, SMTP e sendgrid. I dettagli richiesti si trovano nel file .env corrispondente.

  3. Genera un singolo seed univoco per la chiave WireGuard da impostare come CANARY_WG_PRIVATE_KEY_SEED sia in switchboard.env che in frontend.env con il comando:

root@kitploit:~
dd bs=32 count=1 if=/dev/urandom 2>/dev/null | base64
  • Ecco alcuni file di esempio per una configurazione che utilizza:
    • i domini example1.com, example2.com ed example3.com (PDF) per i trigger di canarytoken tramite switchboard

    • l'IP pubblico 1.1.1.1 per i trigger di switchboard

    • il dominio 'my.domain' per servire il frontend

    • il nome di dominio Mailgun 'x.y' e la chiave API 'zzzzzzzzzz'

    • il seed della chiave WireGuard vk/GD+frlhve/hDTTSUvqpQ/WsQtioKAri0Rt5mg7dw=

    • frontend.env

root@kitploit:~
#These domains are used for general purpose tokens
CANARY_PUBLIC_IP=1.1.1.1
CANARY_DOMAINS=example1.com,example2.com

#These domains are only used for PDF tokens
CANARY_NXDOMAINS=example3.com

#Requires a Google Cloud API key to generate an incident map on the history page with the Maps JavaScript API
CANARY_GOOGLE_API_KEY=<grab google maps api key>
LOG_FILE=frontend.log
  • switchboard.env (Esempio di utilizzo di Mailgun per l'email)
root@kitploit:~
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=
  • Infine, scarica e avvia le immagini:
root@kitploit:~
$ docker compose up
  • Il frontend e lo switchboard saranno ora in esecuzione in primo piano. Il frontend è accessibile all'indirizzo http://example1.com/generate. Se desideri eseguire tutto in background, puoi usare
root@kitploit:~
$ docker compose up -d

NOTA: se possiedi un solo dominio e desideri usare i token PDF, puoi usare sottodomini per CANARY_NXDOMAINS. Usando example.com come dominio, puoi impostare CANARY_NXDOMAINS su nx.example.com. Poi accedi alla console del tuo gestore DNS (dove puoi modificare i record DNS del dominio) e aggiungi un record NS di nx.example.com che mappa a example.com.

Persistenza dei dati

I token vengono salvati in un file di database Redis che si trova al di fuori dei contenitori Docker. Cerca dump.rdb nella directory canarytokens-docker/data.

Se vuoi cancellare tutti i tuoi token, elimina dump.rdb.

Come abilitare HTTPS

Abbiamo un file docker-compose separato che automatizzerà (in gran parte) la messa in funzione di un server Canarytokens con HTTPS. Dovrai fare quanto segue:

  • Modifica il file certbot.env. Dovrai fornire il tuo dominio e il tuo indirizzo email (sono necessari per il processo di registrazione di certbot). Es.:
root@kitploit:~
# 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]
  • Quando vuoi avviare il server, userai docker compose -f docker-compose-letsencrypt.yml up che eseguirà il server in primo piano così puoi assicurarti che tutto si avvii correttamente.

  • Se tutto è in esecuzione, potresti voler premere CTRL+C, eseguire docker compose -f docker-compose-letsencrypt.yml down per tornare a uno stato pulito, e poi rieseguire docker compose -f docker-compose-letsencrypt.yml up -d con l'aggiunta di -d per eseguire il server in background (in modalità daemon)

  • Tieni presente che usando il metodo HTTPS verranno usati l'email e il nome di dominio specificati per registrare il certificato. Puoi leggere il processo di let's encrypt (usando certbot) qui. Il processo prevede la verifica che tu sia il proprietario del dominio specificato e la registrazione presso let's encrypt.

  • C'È UN LIMITE DI FREQUENZA. Quindi non continuare ad avviare e fermare questo server, altrimenti raggiungerai rapidamente il limite di generazione dei certificati let's encrypt. Per evitarlo, a scopo di test puoi aggiungere --staging al comando ./certbot-auto in cerbot-nginx/start.sh per verificare se let's encrypt ti rilascia il certificato.

Abilitare l'Autenticazione di Base al tuo Sito Canarytokens

Puoi seguire questi passaggi se desideri avere un sito canarytokens pubblico ma vuoi una qualche autenticazione di base per accedervi.

  1. git clone https://github.com/thinkst/canarytokens-docker.git
  2. Vai alla cartella nginx:
    • per HTTP:
    root@kitploit:~
    cd canarytokens-docker/nginx
    
    • per HTTPS:
    root@kitploit:~
    cd canarytokens-docker/certbot-nginx
    
  3. sudo htpasswd -c .htpasswd user dove user può essere qualsiasi nome utente tu voglia usare.
  4. sudo chown <user>:<user> .htpasswd dove user è l'utente Linux locale
  5. modifica il nginx.conf appropriato e
root@kitploit:~
server {
    ...
    location ~* (/generate|/manage|/download|/history|/settings|/resources|/legal).* {
        auth_basic           "Basic Auth Restricted Canrytokens"; <---- ADD
        auth_basic_user_file /etc/nginx/.htpasswd;                 <---- ADD
  1. modifica il Dockerfile appropriato e aggiungi sotto COPY nginx.conf ...
root@kitploit:~
COPY .htpasswd /etc/nginx/.htpasswd
  1. ricostruisci le immagini usando:
    • per HTTP:
    root@kitploit:~
    docker compose build
    
    • per HTTPS:
    root@kitploit:~
    docker compose -f docker-compose-letsencrypt.yml build
    

riavvia i tuoi contenitori Docker e goditi il risultato!

Grazie, @mamisano per aver individuato uno sciocco problema usando quanto sopra 🙏

Cosa c'è di nuovo?

Terremo traccia qui di alcune nuove funzionalità/aggiunte, così da rendere rapido e semplice vedere cosa è stato aggiunto di recente.

  • abbiamo spostato la sezione "Cosa c'è di nuovo?" su Github Discussions. Dai un'occhiata qui.

  • ora abbiamo la possibilità di inviare i log degli errori a un webhook di tua scelta, sperando di avvisare te o il tuo team dei guasti, invece di lasciare che questi errori vivano solo in un file di log. È sufficiente fornire l'URI del webhook corrispondente nel valore ERROR_LOG_WEBHOOK del tuo file switchboard.env. (2021-04-09)

  • abbiamo rinominato i file .env distribuiti in switchboard.env.dist e frontend.env.dist. Questo garantisce che la tua configurazione locale non venga cancellata quando esegui il pull delle modifiche dal repo. (Usiamo ancora switchboard.env e frontend.env per la configurazione; significa solo che i nuovi cloni del repo richiedono agli utenti di copiare/rinominare i file dist)

  • abbiamo aggiunto una variabile extra in switchboard.env chiamata CANARY_IPINFO_API_KEY. Questa ti permette di usare la tua API key di ipinfo.io se lo desideri (tieni presente che ipinfo.io ha un piano gratuito fino a 1000 richieste al giorno).

  • ora abbiamo il supporto Slack. Quando fornisci un webhook, basta inserire l'URL del tuo webhook Slack. (Grazie a @shortstack).

  • abbiamo aggiunto una nuova variabile d'ambiente a frontend.env chiamata che ti permette di specificare un URL privato o diverso per il token AWS ID. Questo significa che puoi cambiare facilmente account. (2018-10-17)

FAQ

Abbiamo una FAQ qui

Contribuire

Ti invitiamo a consultare i documenti Codice di Condotta e Contribuire prima di inviare una pull request.

Non vediamo l'ora di ricevere i tuoi preziosi contributi.

Scarica lo strumento
CANARY_AWSID_URL
  • se intendi costruire l'immagine per eseguirla su un altro sistema con architettura diversa, puoi costruire le immagini con docker compose build --build-arg ARCH=<target arch>/, notando la barra in avanti alla fine dell'argomento. L'immagine non verrà costruita correttamente se questa non viene inclusa.