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
coalmine — Piattaforma di gestione dell'orchestrazione di oggetti Cloud Canary | Kitploit
Strumenti/GitHubGitHub/johnearle/coalmine
Strumenti DifensiviSicurezza CloudGestione Identità e Accessi (IAM)Rilevamento IntrusioniRisposta agli Incidenti
GitHubjohnearle/coalmine

coalmine

Piattaforma di gestione dell'orchestrazione di oggetti Cloud Canary

Vedi Repository
826 mesi faNon ancora revisionato

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

Coalmine — Gestione dei Canary Token

Gestione dei Canary Token su Cloud — Distribuisci, monitora e ruota credenziali ingannevoli su AWS e GCP per rilevare accessi non autorizzati.

License

[!WARNING] Versione Alpha — Coalmine è in fase di sviluppo iniziale. La funzionalità di base è la priorità attuale e l'applicazione non dovrebbe essere considerata completamente testata per la sicurezza per l'uso in produzione.

Stato

FunzionaleSviluppo (Instabile)Da Fare
AWS IAM User CanariesGCP Service Account CanariesSupporto Azure
AWS S3 Bucket CanariesGCP Bucket CanariesIntegrazione SIEM
Monitoraggio CloudTrailMonitoraggio Log Audit GCP
Backend di Stato PostgreSQLRotazione Automatica
API REST (Chiave API + Autenticazione Sessione)
Dashboard WebUI
Avvisi Email e Webhook
Gestione Credenziali e Account
RBAC (Casbin)

Panoramica

Coalmine distribuisce e monitora automaticamente "canary token" — credenziali e risorse esca che attivano avvisi quando vengono acceduti da parte degli aggressori.

Provider Supportati:

  • AWS: Utenti IAM, Bucket S3
  • GCP: Account di Servizio, Bucket Cloud Storage

Funzionalità

  • Supporto Multi-Cloud — AWS e GCP da un'unica interfaccia
  • Modello Credenziali e Account — Gestisci credenziali e account cloud tramite CLI, API o sincronizzazione YAML
  • Rotazione Automatica — Le credenziali vengono ruotate a intervalli configurabili
  • Monitoraggio Centralizzato — Integrazione con CloudTrail e GCP Audit Log
  • Avvisi Flessibili — Notifiche via Email, Webhook e Syslog
  • Infrastruttura come Codice — Risorse gestite da OpenTofu
  • API REST — Accesso programmatico con chiave API o autenticazione di sessione
  • WebUI — Dashboard basata su browser su /ui
  • RBAC — Controllo degli accessi basato sui ruoli tramite Casbin
  • CLI — Struttura di sottocomandi raggruppati (coalmine <risorsa> <azione>)

Avvio Rapido

Prerequisiti

  • Docker e Docker Compose
  • Credenziali AWS (per canary AWS)
  • Credenziali GCP (per canary GCP)

1. Clona e Configura

root@kitploit:~
git clone https://github.com/yourorg/coalmine.git
cd coalmine
cp .env.example .env
# Modifica .env con le tue credenziali del database e cloud

2. Avvia i Servizi

root@kitploit:~
docker compose up -d

Questo avvia API, worker Celery, Redis e PostgreSQL. La WebUI è disponibile su http://localhost:8000/ui.

3. Registra Credenziali e Account

root@kitploit:~
# Aggiungi una credenziale AWS
docker compose exec app coalmine credentials add my-aws-cred AWS \
  --secrets '{"access_key_id": "...", "secret_access_key": "...", "region": "us-east-1"}'

# Aggiungi un account sotto quella credenziale
docker compose exec app coalmine accounts add prod-east --credential my-aws-cred \
  --account-id 111111111111

# Oppure sincronizza credenziali e account da un file YAML
docker compose exec app coalmine credentials sync --dry-run

4. Crea una Risorsa di Logging

root@kitploit:~
# Crea una destinazione di logging CloudTrail
docker compose exec app coalmine logs create my-trail AWS_CLOUDTRAIL \
  --account <ACCOUNT_ID>

# Elenca le risorse di logging
docker compose exec app coalmine logs list

5. Distribuisci un Canary

root@kitploit:~
# Crea un canary utente IAM AWS
docker compose exec app coalmine canary create my-canary AWS_IAM_USER \
  --account <ACCOUNT_ID> --logging-id <LOGGING_ID>

# Elenca i canary
docker compose exec app coalmine canary list

6. Verifica il Rilevamento

root@kitploit:~
# Attiva un avviso di test
docker compose exec app coalmine canary trigger my-canary

# Attendi il ciclo di monitoraggio (~1 min) poi controlla gli avvisi
docker compose exec app coalmine alerts list

Architettura

root@kitploit:~
┌─────────────┐   ┌─────────────┐   ┌─────────────┐
│     CLI     │   │  REST API   │   │   WebUI     │
│  (coalmine) │   │  (FastAPI)  │   │  (React)    │
└──────┬──────┘   └──────┬──────┘   └──────┬──────┘
       │                 │                 │
       └────────┬────────┴────────┬────────┘
                │                 │
                │          ┌──────▼──────┐
                │          │Auth / RBAC  │
                │          │  (Casbin)   │
                │          └──────┬──────┘
                │                 │
         ┌──────▼─────────────────▼──────┐
         │         Celery Workers        │
         │  (Canary · Monitoraggio · Logs)│
         └──────────────┬────────────────┘
                        │
      ┌─────────────────┼─────────────────┐
      │                 │                 │
┌─────▼─────┐   ┌──────▼──────┐   ┌──────▼──────┐
│ Template  │   │  Monitor    │   │ Notifiche   │
│ OpenTofu  │   │(CloudTrail/ │   │(Email/Hook/ │
│           │   │ Log Audit)  │   │   Syslog)   │
└─────┬─────┘   └──────┬──────┘   └─────────────┘
      │                │
┌─────▼─────┐   ┌──────▼──────┐
│ AWS / GCP │   │   Avvisi    │
│(Risorse)  │   │    (DB)     │
└───────────┘   └─────────────┘

          ┌─────────────────┐
          │   PostgreSQL    │
          │   (Inventario)  │
          └────────┬────────┘
                   │
          ┌────────▼────────┐
          │   Celery Beat   │
          │ (Pianificatore) │
          └─────────────────┘

Riferimento CLI

I comandi seguono lo schema: coalmine <risorsa> <azione> [opzioni]

Comandi Canary

Comandi Credenziali

Comandi Account

Comandi di Logging

ComandoDescrizione
logs create <nome> <tipo>Crea una risorsa di logging
logs listElenca le risorse di logging
logs scan --account <id>Scansiona CloudTrail esistenti

Comandi Avvisi

ComandoDescrizione
alerts list [--canary <nome>]Visualizza gli avvisi di sicurezza

Comandi Autenticazione

ComandoDescrizione
auth key listElenca le chiavi API
auth key add <nome>Aggiungi una chiave API
auth session listElenca le sessioni attive

Comandi Utente

ComandoDescrizione
user listElenca tutti gli utenti
user rolesElenca i ruoli disponibili

Comandi Attività

ComandoDescrizione
task listVisualizza le attività asincrone recenti
task status <task_id>Controlla il risultato di un'attività

Aiuto

root@kitploit:~
docker compose exec app coalmine --help
docker compose exec app coalmine canary --help

API REST

L'API è disponibile su http://localhost:8000 e richiede autenticazione tramite header chiave API o cookie di sessione.

Configurazione (config/api_keys.yaml)

root@kitploit:~
api_keys:
  - key: "your-api-key-here"
    name: "admin"
    permissions: ["read", "write"]
    scopes: ["all"]

Esempi di Richieste

root@kitploit:~
# Elenca canary
curl -H "X-API-Key: your-api-key" http://localhost:8000/api/v1/canaries

# Crea un canary
curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "api-canary", "resource_type": "AWS_IAM_USER", "account_id": "...", "logging_id": "..."}' \
  http://localhost:8000/api/v1/canaries

Documentazione API

La documentazione interattiva dell'API è disponibile su http://localhost:8000/docs (Swagger UI).

Configurazione

Tutta la configurazione risiede nella directory config/. Vedi config/README.md per i dettagli.

Credenziali (config/credentials.yaml)

root@kitploit:~
credentials:
  my-aws-cred:
    provider: AWS
    auth_type: STATIC
    secrets:
      access_key_id: ${AWS_ACCESS_KEY_ID}
      secret_access_key: ${AWS_SECRET_ACCESS_KEY}
      region: ${AWS_DEFAULT_REGION:-us-east-1}
    accounts:
      - name: prod-east
        account_id: "111111111111"

Sincronizza con: docker compose exec app coalmine credentials sync

Output degli Avvisi (config/alert_outputs.yaml)

root@kitploit:~
outputs:
  email_admin:
    type: "email"
    enabled: true
    smtp_host: "smtp.example.com"
    smtp_port: 587
    to_addrs: ["[email protected]"]
  
  webhook_siem:
    type: "webhook"
    enabled: true
    url: "https://siem.example.com/webhook"

Tipi di Risorsa

Sviluppo

root@kitploit:~
# Esegui tutti i test
docker compose run --rm app pytest -v

# Esegui solo test unitari
docker compose run --rm app pytest tests/unit/ -v

# Esegui test di integrazione
docker compose run --rm app pytest tests/integration/ -v

# Visualizza i log del worker
docker compose logs -f worker

# Ricostruisci dopo modifiche al codice
docker compose build && docker compose up -d

Considerazioni sulla Sicurezza

  • Non commettere mai le credenziali — Usa file .env o gestori di segreti
  • Ruota le credenziali amministrative — Le credenziali cloud usate per gestire i canary
  • Isolamento di rete — Esegui Coalmine in un segmento di rete sicuro
  • Principio del minimo privilegio — Le credenziali canary dovrebbero avere permessi minimi
  • Sicurezza delle chiavi API — Conserva le chiavi API in modo sicuro, ruotale regolarmente

Licenza

Licenza Apache 2.0 — Vedi il file LICENSE per i dettagli.

Contributi

Vedi CONTRIBUTING.md per le linee guida sui contributi.

Scarica lo strumento
ComandoDescrizione
canary create <nome> <tipo>Crea un nuovo canary
canary listElenca tutti i canary
canary delete <nome_o_id>Elimina un canary
canary creds <nome>Ottieni le credenziali del canary
canary trigger <nome_o_id>Testa il rilevamento del canary
ComandoDescrizione
credentials listElenca tutte le credenziali
credentials add <nome> <provider>Aggiungi una credenziale
credentials update <nome_o_id>Aggiorna una credenziale
credentials remove <nome_o_id>Rimuovi una credenziale
credentials validate <nome_o_id>Convalida lo stato della credenziale
credentials sync [--dry-run]Sincronizza dalla configurazione YAML
ComandoDescrizione
accounts list [--credential <nome>]Elenca tutti gli account
accounts add <nome>Aggiungi un account
accounts update <nome_o_id>Aggiorna un account
accounts enable <nome_o_id>Abilita un account
accounts disable <nome_o_id>Disabilita un account
accounts remove <nome_o_id>Rimuovi un account
accounts validate <nome_o_id>Convalida lo stato dell'account
TipoProviderDescrizione
AWS_IAM_USERAWSUtente IAM con chiavi di accesso
AWS_BUCKETAWSBucket S3 con logging
GCP_SERVICE_ACCOUNTGCPAccount di servizio con chiavi
GCP_BUCKETGCPBucket Cloud Storage