Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
InfraGuard — InfraGuard è un proxy e gestore di reindirizzamento Command & Control che protegge la tua infrastruttura Red Team dall'attribuzione delle minacce. | Kitploit
Strumenti/GitHubGitHub/whispergate/infraguard
Strumenti di PhishingGenerazione di PayloadProxy Web e IntercettazioneEvasione IDS/IPSSicurezza di ReteCommand and ControlThreat IntelligenceRed TeamingRisposta agli IncidentiAnti-BotAnalisi DNS
16310455 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
GitHub
whispergate/infraguard

InfraGuard

InfraGuard è un proxy e gestore di reindirizzamento Command & Control che protegge la tua infrastruttura Red Team dall'attribuzione delle minacce.

Vedi RepositorySito web
![InfraGuard Logo](https://raw.githubusercontent.com/whispergate/infraguard/HEAD/images/infraguard_logo.svg)

Tracker di infrastruttura red team e redirector C2 -- un'alternativa moderna a [RedWarden](https://github.com/mgeeky/RedWarden).

InfraGuard si colloca tra Internet e il tuo teamserver C2, convalidando ogni richiesta in entrata rispetto al tuo profilo C2 malleabile e bloccando tutto ciò che non è conforme. Scanner, bot e sonde del blue team vengono reindirizzati a un sito esca, mentre il traffico beacon legittimo passa attraverso il tuo teamserver.

![Mythic Callbacks Xenon](https://assets.kitploit.com/production/public/readmes/13111/138183b23f18b337f98125de6d7a1becdf8ac4d627f0f7511db4a9fb960c0da0.png)
![InfraGuard Dashboard](https://assets.kitploit.com/production/public/readmes/13111/3630e89649f317ab65d29811a9d6259f71c632607d076297e0c8f52a1a4af02a.png)

## Architettura

![Architecture Diagram](https://assets.kitploit.com/production/public/readmes/13111/647e44e4a50935ac1c3c0b10bef42ec8906b897938a005928fc01537f6a57837.png)

## Funzionalità

### Proxying e Listener

- **Proxying multi-dominio** -- proxy di più domini contemporaneamente, ciascuno con profili C2, upstream e regole indipendenti
- **Listener multi-protocollo** -- listener HTTP/HTTPS, HTTP/3 (QUIC), WebSocket, gRPC, DNS, MQTT e TCP-tunnel in esecuzione simultanea con intelligence IP condivisa e tracciamento degli eventi
- **Circuit breaker** -- protezione dagli errori per-upstream con stati closed/open/half-open; ricade sull'azione di drop del dominio quando i backend sono irraggiungibili
- **Failover di protocollo** -- failover e failback automatici tra i protocolli dei listener ordinati per priorità

### Supporto ai profili C2

- **Validazione dei profili C2** -- analizza e applica i profili Cobalt Strike, Mythic, Brute Ratel C4, Sliver, Havoc, Nighthawk e PoshC2 come regole del redirector
- **Profili hot-swappable** -- scambia il profilo C2 attivo di un dominio a runtime dalla dashboard senza riavviare il proxy
- **Procedura guidata di generazione dei profili** -- genera nuovi profili C2 da zero per tutti gli 8 tipi supportati tramite un modulo guidato, oppure importa e carica profili esistenti con rilevamento automatico del tipo e validazione
- **Generazione di profili assistita dall'AI** -- l'integrazione opzionale con Ollama fornisce un pannello di chat nella dashboard per assistenza nella creazione dei profili e consigli OPSEC

### Pipeline di filtraggio

- **Pipeline di filtraggio basata su punteggio** -- 10 filtri contribuiscono ciascuno con un punteggio da 0.0 a 1.0; una soglia configurabile determina blocco/consenso. Filtri: JA3, IP, bot, header, DNS, geo, profilo, replay, enumerazione, sandbox.
- **Filtraggio delle impronte TLS JA3** -- blocca Masscan, ZGrab2, Shodan, curl, Python requests e Nmap a livello di handshake TLS prima che venga scambiato qualsiasi dato HTTP; funziona tramite header del reverse-proxy o protocollo asyncio personalizzato; la modalità allowlist opzionale impone il JA3 del beacon
- **Rilevamento di sandbox e browser headless** -- accumulo di punteggio su segnali HTTP: UA HeadlessChrome, Accept-Language mancante, Chrome senza sec-ch-ua, UA di scanner Safe Links e msnbot, ordinamento Accept non-browser
- **Rilevamento di enumerazione dei percorsi** -- tracciamento degli URI univoci per-IP in una finestra scorrevole; blocca dirbuster/ffuf/gobuster prima che mappino lo spazio degli URI
- **Rilevamento di enumerazione di sottodomini DNS** -- traccia le risposte NXDOMAIN per IP client; blocca automaticamente gli IP di origine al superamento della soglia
- **Anti-bot / anti-crawling** -- oltre 40 pattern noti di User-Agent di scanner/bot, rilevamento di anomalie negli header
- **Protezione dal replay** -- rifiuta le richieste duplicate tramite hash del contenuto; gli hash sono persistiti su SQLite così la protezione sopravvive ai riavvii
- **Azioni di drop** -- redirect, reset TCP, proxy verso sito esca o tarpit (risposta slow-drip per far perdere tempo allo scanner)

### Intelligence

- **Intelligence IP** -- blocklist CIDR integrate per 19 range di vendor di sicurezza (Shodan, Censys, Rapid7, ecc.), filtraggio GeoIP, corrispondenza di parole chiave su reverse DNS
- **Feed di threat intel** -- aggiornamento automatico delle blocklist da fonti pubbliche (abuse.ch, Emerging Threats, Spamhaus DROP, Binary Defense) con intervallo di aggiornamento configurabile e caching su disco
- **Blocco dinamico degli IP** -- blocca gli IP al di fuori dei range in whitelist; auto-whitelist degli IP dopo N richieste C2 valide
- **Arricchimento della whitelist** -- i CIDR in whitelist vengono arricchiti automaticamente con dati ASN, organizzazione, paese e continente all'avvio tramite database GeoIP
- **Rilevamento di burn** -- monitoraggio dei log di Certificate Transparency tramite crt.sh, auto-monitoraggio della reputazione del dominio tramite URLhaus/OpenPhish/Google Safe Browsing e rilevamento di analisti cross-dominio quando un singolo IP accede a più domini dell'operatore
- **Punteggio di confidenza del burn** -- punteggio continuo da 0 a 100 basato su 6 segnali ponderati: diversità JA3, picchi di volume, nuovi ASN, esposizione nei log CT, hit di reputazione e tentativi di autenticazione falliti. Include azioni raccomandate: monitorare, ruotare o burn immediato.
- **Iniezione di canary token** -- pixel di tracciamento, link honeypot e form honeypot iniettati automaticamente nelle pagine esca per rilevare l'indagine del blue team
- **Monitoraggio DNS passivo** -- interroga CIRCL PDNS per la risoluzione esterna dei tuoi domini; rileva nuovi record, picchi di NXDOMAIN e prima esposizione

### Distribuzione dei payload

- **Route di distribuzione dei contenuti** -- servi payload, esche e file statici a percorsi specifici tramite PwnDrop, file store di Mythic, filesystem locale o backend proxy HTTP; distribuzione condizionale opzionale per servire contenuti reali ai target ed esche agli scanner
- **Staging dei file Mythic** -- il backend `mythic_file` fa da proxy a `/direct/download/{uuid}` di Mythic su URL puliti; UUID fisso o modalità proxy; controllo degli accessi fornito dallo stack di filtri di InfraGuard
- **Token payload monouso** -- token emessi automaticamente quando un beacon viene inserito dinamicamente in whitelist; applicazione atomica monouso su SQLite impedisce il replay degli URL da parte di analisti o sandbox; TTL e numero massimo di utilizzi configurabili
- **Rate limiting per-route** -- limitatore di velocità di download per-IP a finestra scorrevole sulle route dei contenuti; superato il limite viene servita l'esca scanner configurata o un 429
- **Guardie di distribuzione** -- keying dell'ambiente per le route dei contenuti: richiedi IP del beacon, allowlist UA, valori di header richiesti, header vietati; i controlli falliti servono l'azione di drop del dominio, non un 403 grezzo
- **Token di campagna di phishing** -- proteggi le pagine di phishing dietro token per-campagna incorporati nei link email; lista statica di token o token auto-validanti firmati HMAC con TTL configurabile

### Resilienza

- **Rotazione dell'infrastruttura** -- rotazione blue-green con un clic tramite Terraform su 5 provider cloud con controlli pre-flight, rollback e stato cifrato con age
- **Pianificazione della rotazione** -- policy di rotazione automatizzate: intervallo fisso, attivata da burn, soglia di conteggio richieste e rolling scaglionato
- **Watchdog di auto-rotazione** -- interroga a intervalli il punteggio di burn e la scadenza dei certificati; ruota automaticamente quando viene superata la soglia di burn o un certificato ha meno di N giorni rimanenti, oppure ricade in modalità solo-allerta con un limite di costo
- **Circuit breaker** -- tracciamento degli errori per-upstream con stati HEALTHY / PROBING / TRIPPED e timeout di recupero configurabile, mostrati in tempo reale nel widget Upstreams della dashboard
- **Domain fronting** -- routing C2 basato su CDN tramite split dell'header SNI/Host con stripping degli header CDN e protezione SSRF
- **Dead man's switch** -- TTL dell'heartbeat dell'operatore che arresta automaticamente l'inoltro C2 se l'operatore non effettua il check-in
- **Mirror purple-team** -- duplicato fire-and-forget degli eventi consentiti verso un collector blue-team per il punteggio dell'engagement
- **Backend di stato condiviso (Redis)** -- cache di replay cross-node opzionale, whitelist dinamica, beacon session bag e rate-limit di drop così le repliche scalate orizzontalmente vedono lo stesso stato
- **Edge proxy** -- Cloudflare Worker e AWS Lambda per il domain fronting attraverso l'infrastruttura CDN, blocco geografico edge e riscrittura dell'host

### Dashboard e strumenti per l'operatore

- **Dashboard web** -- SPA in tempo reale con pagina di login, feed delle richieste live, statistiche per dominio, IP bloccati principali, streaming di eventi via WebSocket e azioni inline di blocco/whitelist/sblocco
- **Gestione delle pagine esca** -- elenca, visualizza in anteprima e modifica le pagine HTML esca direttamente dalla dashboard; **Canary Overview** per-dominio (toggle pixel / link nascosto / form nascosto) e un pannello **Canary Hits** che mostra ogni scanner o sandbox che ha scaricato una risorsa esca
- **Token esca con endpoint di callback dedicati** -- pixel di tracciamento iniettato, link nascosto e form nascosto generano ciascuno un evento `canary_hit` su `/_ig/px|hp|hf?c=<token>`; gli hit finiscono nel DB di tracciamento con `filter_result=canary_hit` e vengono trasmessi in tempo reale alla pagina Decoys e a qualsiasi plugin di alerting sottoscritto
- **Scheda Plugins** -- elenca i plugin caricati con toggle runtime `enable / disable` (senza riavvio) e un **Plugin Marketplace** per aggiungere con un clic uno dei 29 plugin integrati; ogni modifica persiste su `config.yaml` e finisce come commit nel repo di config-history
- **Command Post** -- dashboard di aggregazione multi-istanza che unisce statistiche, richieste ed eventi live da più nodi InfraGuard in un'unica vista, con una **Fleet Map** (MapLibre) che traccia ogni proxy più ogni IP sorgente bloccato alla sua lat/lon geolocalizzata e un toggle plugin fan-out per operazioni cross-istanza
- **Terminal UI** -- TUI basata su Textual con schermata di login, polling API live, log delle richieste con colori
- **Report di engagement** -- report HTML, JSON o CSV autonomi con suddivisioni per-dominio, efficacia dei filtri e audit trail dell'operatore
- **Metriche Prometheus** -- endpoint `/metrics` che espone contatori di richieste, istogrammi di latenza degli upstream, stato del circuit breaker, freschezza dei feed, connessioni attive e il gauge `infraguard_active_beacons` su cui scala l'HPA di Helm
- **OpenTelemetry** -- esportatore opt-in di tracce + metriche OTLP; il profilo compose di observability avvia un collector OTEL più Prometheus + dashboard di panoramica Grafana auto-provisionata
- **Helm chart Kubernetes** -- proxy, dashboard, Redis StatefulSet, ServiceMonitor e HPA sul gauge dei beacon attivi; fornito in `deploy/helm/infraguard/`

### Integrazioni e plugin

- **Integrazione SIEM** -- plugin integrati per Elasticsearch, Wazuh e Syslog (CEF/JSON) con inoltro in batch
- **Alert webhook** -- plugin integrati per Discord (embed), Slack (Block Kit), webhook generico, **PagerDuty** (Events API v2, dedup con chiave) e **Telegram** (chat operativa bidirezionale: `/status`, `/sessions`, `/kill`, `/ack` dal telefono)
- **Plugin di rilevamento** -- regole YARA sui corpi delle richieste, lookup GreyNoise Community, classificatore ML di bot (regressione logistica su JA4 + UA + timing), canary di risposta (canarytokens.org), fingerprinting p0f v3, arricchimento JA4/JA4H, arricchimento GeoIP
- **Manipolatori di risposta** -- riscrittore HTML, watermark dei payload, stripper di firme, JS challenge, cache mimicry, slow tarpit, shadow-block (restituisce 200 agli scanner così non si adattano mai)
- **Integrazione Phishing.club** -- ricevitore webhook firmato HMAC che acquisisce eventi di phishing e inserisce automaticamente in whitelist gli IP dei target che cliccano
- **Sistema di plugin** -- architettura event-driven con hook `on_event`, configurazione per-plugin e filtraggio degli eventi; ogni plugin può essere attivato o caricato dalla scheda **Plugins** della dashboard senza riavvio, e la modifica persiste su `config.yaml` con un commit di audit nella config-history

### Configurazione e deployment

- **Cifratura della configurazione** -- cifratura age (file completo) e SOPS (per-valore) con supporto al file `.env`
- **Validazione della configurazione** -- strumento CLI di diff e oltre 20 controlli di validazione di sicurezza, operativi e TLS
- **Gestione delle API key** -- crea, revoca e ruota le API key con rate limit per-chiave, tracciamento dell'utilizzo e quote
- **Generazione della configurazione dei backend** -- genera configurazioni Nginx, Caddy o Apache con TLS, filtraggio IP, controlli sugli header, alias e header personalizzati
- **Ingestione di regole** -- importa blocklist IP e pattern User-Agent da file `.htaccess` e `robots.txt` esistenti
- **Deployment Docker** -- Dockerfile + docker-compose con Let's Encrypt opzionale, downloader GeoIP, server payload PwnDrop e assistente AI Ollama
- **Supporto GeoIP** -- tutti e tre i database GeoLite2 (City, ASN, Country) con download automatico in Docker
- **Fallback TLS self-signed** -- genera automaticamente i certificati quando i percorsi configurati non esistono
- **Supporto variabili d'ambiente** -- file `.env` caricato automaticamente; la sintassi `${VAR}` funziona in tutti i valori e le chiavi di configurazione
- **Endpoint di health configurabile** -- cambia il percorso del controllo di salute per evitare il fingerprinting
- **Logging strutturato** -- log strutturati in formato JSON tramite structlog
- **Tracciamento e persistenza** -- SQLite in modalità WAL per logging delle richieste, statistiche, registro dei nodi, hash di replay e token dei payload

## Guida all'installazione

Consulta la [Wiki Page](https://infraguard.whispergate.org/docs/getting-started/installation/) per l'installazione

## Riferimento CLI```
infraguard --version                                Show version
infraguard --help                                   Show help

infraguard run -c config.yaml                       Start the reverse proxy
infraguard run -c config.yaml --port 8443           Override listen port
infraguard run -c config.yaml --host 0.0.0.0        Override bind address

infraguard dashboard -c config.yaml                 Start the web dashboard
infraguard dashboard -c config.yaml --port 9090     Override dashboard port

infraguard tui                                      Launch TUI with login screen
infraguard tui --url http://host:8080 --token TOK   Auto-connect to dashboard
infraguard tui -c config.yaml                       Read URL/token from config

infraguard command-post -c command-post.yaml         Start multi-instance dashboard
infraguard command-post --instance name:url:token    Add instance via CLI (repeatable)

infraguard profile parse <file>                     Parse and display a C2 profile
infraguard profile parse <file> --format json        Output as JSON
infraguard profile parse <file> --type brute_ratel   Force profile type
infraguard profile convert <file> -o out.json        Convert profile to JSON

# Supported --type values: auto, cobalt_strike, mythic, brute_ratel, sliver, havoc, nighthawk, poshc2
# Auto-detection: .profile = CS, .toml = Havoc, .yaml = PoshC2, .json = auto-detect by keys

infraguard ingest <files...>                         Ingest .htaccess/robots.txt rules
infraguard ingest <files...> --format blocklist      Output as IP blocklist
infraguard ingest <files...> --format json           Output as JSON
infraguard ingest <files...> -o banned_ips.txt       Write blocklist to file

infraguard generate nginx -c config.yaml             Generate Nginx config
infraguard generate caddy -c config.yaml             Generate Caddyfile
infraguard generate apache -c config.yaml            Generate Apache VirtualHost

infraguard init -o config.yaml                       Generate starter config
infraguard validate -c config.yaml                   Validate config file

infraguard simulate-beacon -c config.yaml --domain <d> Run one synthetic beacon
                                                     through the loaded filter
                                                     pipeline in-process
infraguard drop-preview -c config.yaml --domain <d>   Render the drop-action
                                                     response without any live
                                                     traffic (decoy / redirect
                                                     / tarpit preview)
infraguard events tail -c config.yaml                 Tail the tracking DB as a
                                                     structured event stream
infraguard profile transpile <in> --to <c2>           Convert a C2 profile
                                                     between formats using the
                                                     shared profile IR
infraguard preflight -c config.yaml                   Adversary-emulation
                                                     self-test: DNS, cert,
                                                     upstream, decoy dir,
                                                     writes a Markdown report

infraguard config set <domains.<d>.upstream> <value>  Mutate config from CLI;
                                                     writes .bak, atomic file
                                                     replace, and commit to the
                                                     config-history git repo
infraguard config log                                 Show mutation history
infraguard config revert HEAD~N                       Roll back N mutations
```
### Opzioni del generatore

Il comando `generate` accetta flag aggiuntivi per la personalizzazione dell'operatore:

| Flag | Descrizione |
|---|---|
| `--listen-port PORT` | Sovrascrive la porta di ascolto (predefinita: dalla configurazione) |
| `--ssl-cert PATH` | Sovrascrive il percorso del certificato SSL |
| `--ssl-key PATH` | Sovrascrive il percorso della chiave SSL |
| `--redirect-url URL` | Sovrascrive l'URL di reindirizzamento per le richieste bloccate |
| `--default-action redirect\|404` | Azione per le richieste non corrispondenti |
| `--no-ip-filter` | Omette i blocchi di autorizzazione/negazione IP |
| `--no-header-check` | Omette le regole di validazione degli header |
| `--alias DOMAIN:ALIAS` | Aggiunge un alias del nome server (ripetibile) |
| `--header NAME:VALUE` | Aggiunge un header di risposta personalizzato (ripetibile) |

## Command Post (Dashboard Multi-Istanza)

Quando si eseguono più istanze di InfraGuard su VPS o provider cloud diversi, il Command Post aggrega statistiche, richieste ed eventi live da tutti i nodi in un'unica dashboard.```
┌─────────────────────────────┐
│    Command Post Dashboard   │
│    http://localhost:9090    │
└──────────┬──────────────────┘
           │ parallel fetch
     ┌─────┼──────┬──────────┐
     ▼     ▼      ▼          ▼
   IG-1   IG-2   IG-3   ... IG-N
```
![InfraGuard Command Post](https://assets.kitploit.com/production/public/readmes/13111/97b0b192f3c200dc9f6a38cbaa39926100c4214f689c19c496d6cc2da54a44d7.png)

### Avvio rapido```bash
# Via config file
infraguard command-post -c config/command-post.yaml

# Via CLI args
infraguard command-post \
  --instance "prod:https://ig1.example.com:8080:TOKEN1" \
  --instance "staging:https://ig2.example.com:8080:TOKEN2" \
  --port 9090

# Via Docker
docker compose --profile command-post up -d command-post
```
### Configurazione

Crea `config/command-post.yaml`:```yaml
instances:
  - name: "prod-cs"
    url: "https://ig1.example.com:8080"
    token: "${IG_PROD_TOKEN}"
  - name: "prod-mythic"
    url: "https://ig2.example.com:8080"
    token: "${IG_MYTHIC_TOKEN}"
  - name: "staging"
    url: "https://ig3.example.com:8080"
    token: "${IG_STAGING_TOKEN}"

port: 9090
# auth_token: "${COMMAND_POST_TOKEN}"
```
### Cosa mostra

- **Statistiche aggregate** -- richieste totali, consentite, bloccate sommate su tutte le istanze
- **Barra di stato delle istanze** -- stato verde/rosso per ogni nodo connesso
- **Log delle richieste interlacciato** -- richieste da tutte le istanze ordinate per timestamp, ciascuna contrassegnata con il nome della sua istanza
- **IP bloccati principali aggregati** -- aggregati su tutte le istanze
- **Statistiche per dominio** -- domini da tutte le istanze con tassi di blocco ricalcolati
- **Feed eventi live** -- eventi WebSocket multiplexati da tutti i nodi
- **Azioni di blocco/whitelist** -- distribuite a tutte le istanze o a una specifica

### Endpoint API

| Endpoint | Metodo | Descrizione |
|---|---|---|
| `/api/instances` | GET | Elenca tutte le istanze con stato di salute |
| `/api/stats` | GET | Statistiche aggregate da tutte le istanze |
| `/api/requests` | GET | Log delle richieste interlacciato da tutte le istanze |
| `/api/intel/whitelist` | POST | Aggiunge un IP alla whitelist su tutte le istanze |
| `/api/intel/blocklist` | POST | Blocca un IP su tutte le istanze |
| `/api/intel/blocklist` | DELETE | Sblocca un IP su tutte le istanze |
| `/ws/events` | WS | Eventi live multiplexati da tutte le istanze |

## Deployment Docker

### Avvio rapido```bash
cp .env.example .env
# Edit .env with your domain, teamserver, and token
docker compose up -d
```
Questo avvia due servizi:
- **proxy** -- il redirector sulle porte 443 e 80
- **dashboard** -- l'interfaccia web sulla porta 8080

### Con Let's Encrypt```bash
# Set in .env:
#   INFRAGUARD_LETSENCRYPT=true
#   INFRAGUARD_DOMAIN=cdn.example.com
#   [email protected]

# Obtain the initial certificate
docker compose --profile letsencrypt up certbot

# Start the proxy (will use the LE cert)
docker compose up -d proxy dashboard

# Start auto-renewal (checks every 12 hours)
docker compose --profile letsencrypt up -d certbot-renew
```
Requisiti per Let's Encrypt:
- La porta 80 deve essere raggiungibile da internet
- `INFRAGUARD_DOMAIN` deve risolvere all'IP pubblico di questo host
- `INFRAGUARD_DOMAIN_EMAIL` deve essere un indirizzo email valido

### Con database GeoIP```bash
# Download all three GeoLite2 databases (City, ASN, Country)
docker compose --profile geoip up geoip-update

# Then start normally - databases are mounted at /app/geoip/
docker compose up -d proxy dashboard
```
### Con PwnDrop (distribuzione del payload)```bash
# Start PwnDrop alongside the proxy
docker compose --profile pwndrop up -d pwndrop

# Access PwnDrop admin UI at https://localhost:8443
# InfraGuard reaches it internally at http://pwndrop:80
```
Poi configura le route dei contenuti nella tua configurazione per inoltrare i percorsi del payload a PwnDrop:```yaml
domains:
  cdn.example.com:
    content_routes:
      - path: "/downloads/*"
        backend:
          type: "pwndrop"
          target: "http://pwndrop:80"
          auth_token: "${PWNDROP_TOKEN}"
```
### Con Ollama (generazione del profilo assistita dall'IA)```bash
# Start the Ollama service
docker compose --profile ollama up -d ollama

# Pull the default model (~5 GB)
docker compose --profile ollama exec ollama ollama pull qwen3:8b

# The dashboard's AI chat panel will connect automatically
```
La variabile d'ambiente della dashboard `INFRAGUARD_OLLAMA_URL` è preconfigurata in docker-compose.yml. Quando Ollama è in esecuzione, l'interruttore dell'Assistente AI appare nella pagina dei decoy e dei profili della dashboard.

### Scalabilità```bash
# Run multiple redirector nodes
docker compose up -d --scale proxy-node=3
```
Decommenta il servizio `proxy-node` in `docker-compose.yml` per abilitarlo.

### Volumi

| Volume | Scopo |
|---|---|
| `./config` | File di configurazione (montati in sola lettura) |
| `./examples` | Profili C2 (montati in sola lettura) |
| `./rules` | Blocklist importate e file sorgente delle regole (montati in sola lettura) |
| `./data` | Database SQLite e profili generati (persistiti) |
| `certs` | Certificati TLS (condivisi tra proxy e certbot) |
| `geoip` | Database GeoLite2 (popolati dal servizio `geoip-update`) |
| `pwndrop-data` | File caricati e database di PwnDrop |
| `ollama-data` | Pesi dei modelli e configurazione di Ollama |

> Su host Linux, esegui `chown -R 1000:1000 config/` se vuoi che le modifiche guidate dalla dashboard
> (drop-action, cambio profilo, attivazione/disattivazione plugin) vengano persistite in `config.yaml`. L'uid
> non-root del container necessita dei permessi di scrittura sul mount.

## Deployment su Kubernetes

Il chart Helm in `deploy/helm/infraguard/` distribuisce il proxy, la dashboard, il
StatefulSet Redis e un HPA che scala il proxy sulla metrica personalizzata
`infraguard_active_beacons` (richiede `prometheus-adapter` nel cluster). Consulta la pagina
[Kubernetes Deployment](https://infraguard.whispergate.org/docs/deployment/kubernetes/)
della wiki per la guida completa.```bash
# One-shot install
helm install infraguard deploy/helm/infraguard \
    --namespace infraguard --create-namespace \
    -f my-values.yaml

# Get the API token the chart minted
kubectl get secret -n infraguard infraguard-secrets \
    -o jsonpath='{.data.INFRAGUARD_API_TOKEN}' | base64 -d
```
Le probe del chart colpiscono `/health` sul listener HTTPS con `scheme: HTTPS`, quindi
il container necessita di un blocco `tls:` nella configurazione (il fallback self-signed va bene).

## Contributi

- Mgeeky - Idea originale ([RedWarden](https://github.com/mgeeky/RedWarden))
- curi0usJack - [Regole .htaccess](https://gist.github.com/curi0usJack/971385e8334e189d93a6cb4671238b10)
- Profili
  - threatexpress - [jquery-c2.3.14.profile](https://github.com/threatexpress/malleable-c2/blob/master/jquery-c2.3.14.profile)
  - InfinityCurve - [Profilo Havoc](https://github.com/whispergate/infraguard/blob/main/examples/kaine.toml)
- Framework C2
  - [Cobalt Strike](https://www.cobaltstrike.com/) - Supporto profilo Malleable C2
  - [Mythic](https://github.com/its-a-feature/Mythic) - Supporto profilo HTTPX + file staging
  - [Brute Ratel C4](https://bruteratel.com/) - Supporto profilo di configurazione server
  - [Sliver](https://github.com/BishopFox/sliver) - Supporto profilo HTTP C2
  - [Havoc](https://www.infinitycurve.org/) - Supporto profilo TOML
  - [Nighthawk](https://nighthawkc2.io/) - Supporto configurazione listener JSON
  - [PoshC2](https://github.com/nettitude/PoshC2) - Supporto configurazione YAML

Se desideri contribuire al progetto, crea un nuovo branch con il nome della versione e specifica lo stesso nome della versione nella pull request. Es. branch=v1.2.3 | [v1.2.3] Aggiunto elemento blah.

## Licenza

Licenza BSD 2-Clause. Vedi [LICENSE](https://github.com/whispergate/infraguard/blob/main/LICENSE) per i dettagli.

Copyright (c) 2026, Whispergate
Scarica lo strumento