Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
InfraGuard — InfraGuard est un proxy de redirection et gestionnaire Command & Control qui protège votre infrastructure Red Team contre l'attribution des menaces. | Kitploit
Outils/GitHubGitHub/whispergate/infraguard
Outils de PhishingGénération de PayloadsProxies Web et InterceptionÉvasion IDS/IPSSécurité RéseauCommandement et ContrôleRenseignement sur les MenacesRed TeamingRéponse aux IncidentsAnti-BotAnalyse DNS
16310il y a 5 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHub
whispergate/infraguard

InfraGuard

InfraGuard est un proxy de redirection et gestionnaire Command & Control qui protège votre infrastructure Red Team contre l'attribution des menaces.

Voir le dépôtSite web

Logo InfraGuard

Traqueur d'infrastructure d'équipe rouge et redirecteur C2 -- une alternative moderne à RedWarden.

InfraGuard se place entre Internet et votre serveur d'équipe C2, validant chaque requête entrante par rapport à votre profil C2 malleable et bloquant tout ce qui ne s'y conforme pas. Les scanners, bots et sondes de l'équipe bleue sont redirigés vers un site leurre tandis que le trafic légitime des beacons passe jusqu'à votre serveur d'équipe.

Rappels Mythic Xenon Tableau de bord InfraGuard

Architecture

Diagramme d'architecture

Fonctionnalités

  • Proxy multi-domaines -- proxy plusieurs domaines simultanément, chacun avec des profils C2, des amonts et des règles indépendants
  • Validation du profil C2 -- analyse et applique les profils Cobalt Strike, Mythic, Brute Ratel C4, Sliver, Havoc, Nighthawk et PoshC2 comme règles de redirecteur
  • Écouteurs multi-protocoles -- écouteurs HTTP/HTTPS, DNS, MQTT et WebSocket fonctionnant simultanément avec un partage d'informations IP et un suivi des événements
  • Pipeline de filtrage basé sur des scores -- 10 filtres (JA3, IP, bot, en-tête, DNS, géo, profil, rejeu, énumération, sandbox) contribuent chacun à un score de 0.0 à 1.0 ; seuil configurable pour déterminer le blocage/l'autorisation
  • Filtrage des empreintes TLS JA3 -- bloque Masscan, ZGrab2, Shodan, curl, Python requests et Nmap au niveau de la couche de négociation TLS avant tout échange HTTP ; fonctionne via un en-tête de proxy inverse (ssl_fingerprint nginx, JA3 natif HAProxy) ou un protocole asyncio personnalisé ; mode liste blanche optionnel qui impose le JA3 du beacon
  • Détection de sandbox/navigateur sans tête -- modèle d'accumulation de scores via les signaux HTTP : UA HeadlessChrome, Accept-Language manquant, Chrome sans sec-ch-ua, UA de scanners Safe Links/msnbot, ordre Accept non navigateur ; bloque Microsoft Safe Links, Cuckoo, ANY.RUN et les scanners d'URL VirusTotal
  • Détection d'énumération de chemins -- suivi des URI uniques par IP dans une fenêtre glissante ; bloque durement dirbuster/ffuf/gobuster avant qu'ils ne cartographient l'espace URI ; seuils de blocage et de suspicion configurables
  • Détection d'énumération de sous-domaines DNS -- suit les réponses NXDOMAIN par IP client ; ajoute immédiatement l'IP source à la liste de blocage en cas de dépassement de seuil ; bloque Amass, subfinder, dnsrecon au niveau de l'écouteur DNS
  • Anti-bot / anti-crawling -- plus de 40 motifs connus d'User-Agent de scanners/bots, détection d'anomalies d'en-tête
  • Renseignement IP -- listes de blocages CIDR intégrées pour 19 plages de fournisseurs de sécurité (Shodan, Censys, Rapid7, etc.), filtrage GeoIP, correspondance de mots-clés DNS inversé
  • Flux de renseignement sur les menaces -- mise à jour automatique des listes de blocage à partir de sources publiques (abuse.ch, Emerging Threats, Spamhaus DROP, Binary Defense) avec intervalle de rafraîchissement configurable et mise en cache sur disque
  • Ingestion de règles -- importation de listes de blocage IP et de motifs User-Agent à partir de fichiers .htaccess et robots.txt existants
  • Blocage IP dynamique -- bloque les IP en dehors des plages autorisées ; autorise automatiquement les IP après N requêtes C2 valides
  • Enrichissement de la liste blanche -- les CIDR autorisés sont automatiquement enrichis avec les données ASN, organisation, pays et continent au démarrage via les bases GeoIP
  • Détection de compromission -- surveillance des logs de transparence des certificats (interrogation crt.sh), auto-surveillance de la réputation du domaine (URLhaus, OpenPhish, Google Safe Browsing), et détection d'analystes inter-domaines (une seule IP accédant à plusieurs domaines opérateurs) ; tous les alertes de compromission sont déclenchées via les plugins webhook existants
  • Routes de livraison de contenu -- servir des payloads, leurres et fichiers statiques sur des chemins spécifiques via PwnDrop, le stockage de fichiers Mythic, le système de fichiers local ou des backends proxy HTTP ; livraison conditionnelle optionnelle (contenu réel aux cibles, leurres aux scanners)
  • Staging de fichiers Mythic -- le backend mythic_file proxy le /direct/download/{uuid} de Mythic sur des URLs propres ; mode UUID fixe (alias d'URL) ou mode proxy (UUID depuis le chemin) ; contrôle d'accès entièrement assuré par la pile de filtrage d'InfraGuard
  • Jetons de payload à usage unique -- jetons émis automatiquement lorsqu'un beacon est ajouté dynamiquement à la liste blanche ; application atomique à usage unique via SQLite empêche la relecture d'URL par des analystes ou des sandbox ; TTL et nombre d'utilisations max configurables
  • Limitation de débit par route -- limiteur de débit de téléchargement par IP à fenêtre glissante sur les routes de contenu ; le dépassement de la limite sert le leurre de scanner configuré ou un 429
  • Gardes de livraison -- clé d'environnement pour les routes de contenu : nécessite IP du beacon (liste blanche dynamique), liste blanche UA (regex), valeurs d'en-tête requises (en-têtes spécifiques à l'implant), en-têtes interdits (Via, X-Forwarded-For, CF-Worker) ; les vérifications échouées déclenchent une action de drop de domaine, pas un 403 brut
  • Jetons de campagne de phishing -- protéger les pages de phishing derrière des jetons par campagne intégrés dans les liens des emails ; liste de jetons statiques ou jetons auto-validants signés HMAC avec TTL configurable ; les analystes qui trouvent l'URL via les logs CT ou les flux de menaces ne peuvent pas charger la page
  • Protection contre la relecture -- rejeter les requêtes en double par hash de contenu ; les hash sont persistés dans SQLite pour que la protection survive aux redémarrages
  • Actions de drop -- redirection, réinitialisation TCP, proxy vers un site leurre, ou tarpit (réponse lente pour faire perdre du temps au scanner)
  • Tableau de bord web -- SPA en temps réel avec page de connexion, flux de requêtes en direct, statistiques par domaine, principales IP bloquées, streaming d'événements WebSocket authentifié, et actions de blocage/ajout à la liste blanche/déblocage intégrées
  • Poste de commandement -- tableau de bord d'agrégation multi-instances qui fusionne les statistiques, les requêtes et les événements en direct de plusieurs nœuds InfraGuard en une seule vue
  • Interface utilisateur terminal -- TUI basée sur Textual avec écran de connexion, interrogation en direct de l'API, journal des requêtes coloré
  • Intégration SIEM -- plugins intégrés pour Elasticsearch, Wazuh et Syslog (CEF/JSON) avec transfert par lots
  • Alertes webhook -- plugins intégrés pour Discord (embeds), Slack (Block Kit) et webhook générique (Rocket.Chat, Mattermost, Teams) ; les alertes de compromission passent par le même système de plugins
  • Système de plugins -- architecture pilotée par les événements avec hooks on_event, configuration par plugin, filtrage d'événements (only_blocked, min_score, inclusion/exclusion de domaine)
  • Génération de configuration backend -- générer des configurations Nginx, Caddy ou Apache avec personnalisation complète de l'opérateur (TLS, filtrage IP, vérifications d'en-tête, alias, en-têtes personnalisés)
  • Proxies de frontière -- Workers Cloudflare et AWS Lambda légers pour le domaine fronting via l'infrastructure CDN, le blocage géographique au niveau de la frontière et la réécriture d'hôte
  • Déploiement Docker -- Dockerfile + docker-compose avec Let's Encrypt optionnel, téléchargeur GeoIP et serveur de payload PwnDrop
  • Support GeoIP -- les trois bases GeoLite2 (Ville, ASN, Pays) avec téléchargement automatique dans Docker ; les CIDR autorisés sont automatiquement enrichis au démarrage
  • Certificat TLS auto-signé de secours -- génère automatiquement des certificats lorsque les chemins configurés n'existent pas
  • Support des variables d'environnement -- fichier .env chargé automatiquement ; la syntaxe ${VAR} fonctionne dans toutes les valeurs et clés de configuration
  • Point de terminaison de santé configurable -- changer le chemin de la vérification de santé pour éviter l'empreinte numérique
  • Journalisation structurée -- journaux structurés au format JSON via structlog
  • Suivi et persistance -- SQLite avec mode WAL pour la journalisation des requêtes, les statistiques, le registre des nœuds, les hashs de relecture et les jetons de payload

Guide d'installation

Consultez la Page Wiki pour l'installation

Référence CLI

root@kitploit:~
infraguard --version                                Afficher la version
infraguard --help                                   Afficher l'aide

infraguard run -c config.yaml                       Démarrer le proxy inverse
infraguard run -c config.yaml --port 8443           Surcharger le port d'écoute
infraguard run -c config.yaml --host 0.0.0.0        Surcharger l'adresse de liaison

infraguard dashboard -c config.yaml                 Démarrer le tableau de bord web
infraguard dashboard -c config.yaml --port 9090     Surcharger le port du tableau de bord

infraguard tui                                      Lancer la TUI avec écran de connexion
infraguard tui --url http://host:8080 --token TOK   Connexion automatique au tableau de bord
infraguard tui -c config.yaml                       Lire l'URL/le jeton depuis la config

infraguard command-post -c command-post.yaml         Démarrer le tableau de bord multi-instances
infraguard command-post --instance name:url:token    Ajouter une instance via CLI (répétable)

infraguard profile parse <file>                     Analyser et afficher un profil C2
infraguard profile parse <file> --format json        Sortie au format JSON
infraguard profile parse <file> --type brute_ratel   Forcer le type de profil
infraguard profile convert <file> -o out.json        Convertir le profil en JSON

# Valeurs --type supportées : auto, cobalt_strike, mythic, brute_ratel, sliver, havoc, nighthawk, poshc2
# Auto-détection : .profile = CS, .toml = Havoc, .yaml = PoshC2, .json = auto-détection par clés

infraguard ingest <files...>                         Ingérer les règles .htaccess/robots.txt
infraguard ingest <files...> --format blocklist      Sortie sous forme de liste de blocage IP
infraguard ingest <files...> --format json           Sortie au format JSON
infraguard ingest <files...> -o banned_ips.txt       Écrire la liste de blocage dans un fichier

infraguard generate nginx -c config.yaml             Générer la configuration Nginx
infraguard generate caddy -c config.yaml             Générer le fichier Caddyfile
infraguard generate apache -c config.yaml            Générer le VirtualHost Apache

infraguard init -o config.yaml                       Générer une configuration de démarrage
infraguard validate -c config.yaml                   Valider le fichier de configuration

Options du générateur

La commande generate accepte des options supplémentaires pour la personnalisation de l'opérateur :

Command Post (Tableau de bord multi-instances)

Lorsque plusieurs instances InfraGuard sont exécutées sur différents VPS ou fournisseurs cloud, le Command Post agrège les statistiques, les requêtes et les événements en direct de tous les nœuds en un seul tableau de bord.

root@kitploit:~
┌─────────────────────────────┐
│    Command Post Dashboard   │
│    http://localhost:9090    │
└──────────┬──────────────────┘
           │ extraction parallèle
     ┌─────┼──────┬──────────┐
     ▼     ▼      ▼          ▼
   IG-1   IG-2   IG-3   ... IG-N

Command Post InfraGuard

Démarrage rapide

root@kitploit:~
# Via fichier de configuration
infraguard command-post -c config/command-post.yaml

# Via arguments CLI
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

Configuration

Créez config/command-post.yaml :

root@kitploit:~
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}"

Ce qu'il montre

  • Statistiques fusionnées -- total des requêtes, autorisées, bloquées, additionnées sur toutes les instances
  • Barre de santé des instances -- statut vert/rouge pour chaque nœud connecté
  • Journal des requêtes entrelacées -- requêtes de toutes les instances triées par horodatage, chacune étiquetée avec son nom d'instance
  • Principales IP bloquées fusionnées -- agrégées sur toutes les instances
  • Statistiques par domaine -- domaines de toutes les instances avec taux de blocage recalculés
  • Flux d'événements en direct -- événements WebSocket multiplexés de tous les nœuds
  • Actions de blocage/liste blanche -- diffusées vers toutes les instances ou une instance spécifique

Points d'accès API

Déploiement Docker

Démarrage rapide

root@kitploit:~
cp .env.example .env
# Modifiez .env avec votre domaine, serveur d'équipe et jeton
docker compose up -d

Ceci démarre deux services :

  • proxy -- le redirecteur sur les ports 443 et 80
  • dashboard -- l'interface web sur le port 8080

Avec Let's Encrypt

root@kitploit:~
# Définissez dans .env :
#   INFRAGUARD_LETSENCRYPT=true
#   INFRAGUARD_DOMAIN=cdn.example.com
#   [email protected]

# Obtenez le certificat initial
docker compose --profile letsencrypt up certbot

# Démarrez le proxy (il utilisera le certificat LE)
docker compose up -d proxy dashboard

# Démarrez le renouvellement automatique (vérifie toutes les 12 heures)
docker compose --profile letsencrypt up -d certbot-renew

Prérequis pour Let's Encrypt :

  • Le port 80 doit être accessible depuis Internet
  • INFRAGUARD_DOMAIN doit résoudre sur l'IP publique de cet hôte
  • INFRAGUARD_DOMAIN_EMAIL doit être une adresse e-mail valide

Avec les bases GeoIP

root@kitploit:~
# Téléchargez les trois bases GeoLite2 (Ville, ASN, Pays)
docker compose --profile geoip up geoip-update

# Démarrez ensuite normalement - les bases sont montées dans /app/geoip/
docker compose up -d proxy dashboard

Avec PwnDrop (livraison de payload)

root@kitploit:~
# Démarrez PwnDrop en même temps que le proxy
docker compose --profile pwndrop up -d pwndrop

# Accédez à l'interface d'administration PwnDrop sur https://localhost:8443
# InfraGuard y accède en interne via http://pwndrop:80

Configurez ensuite des routes de contenu dans votre configuration pour rediriger les chemins de payload vers PwnDrop :

root@kitploit:~
domains:
  cdn.example.com:
    content_routes:
      - path: "/downloads/*"
        backend:
          type: "pwndrop"
          target: "http://pwndrop:80"
          auth_token: "${PWNDROP_TOKEN}"

Mise à l'échelle

root@kitploit:~
# Exécutez plusieurs nœuds redirecteurs
docker compose up -d --scale proxy-node=3

Décommentez le service proxy-node dans docker-compose.yml pour l'activer.

Volumes

Architecture

root@kitploit:~
infraguard/
    __init__.py              Initialisation du paquet
    __main__.py              Point d'entrée python -m infraguard
    main.py                  CLI Click
    config/                  Chargement de config YAML, support .env, validation Pydantic
    core/                    Moteur proxy ASGI (app, proxy, routeur, TLS, actions de drop, livraison de contenu)
    profiles/                Analyseurs de profils C2 (Cobalt Strike, Mythic, Brute Ratel, Sliver, Havoc, Nighthawk, PoshC2)
    pipeline/                Filtres de validation des requêtes (JA3, IP, bot, en-tête, DNS, géo, profil, rejeu, énumération, sandbox)
    intel/                   Renseignement IP (listes de blocage, GeoIP, rDNS, flux, ingestion de règles)
    tracking/                Persistance SQLite (journalisation des requêtes, statistiques, registre des nœuds)
    plugins/                 Système de plugins (protocole, chargeur, intégrés)
    ui/
        api/                 API REST + WebSocket (Starlette)
        web/                 Tableau de bord SPA (HTML/JS/CSS)
        tui/                 Interface terminal (Textual) avec écran de connexion
        command_post/        Tableau de bord d'agrégation multi-instances
    listeners/               Écouteurs de protocole (HTTP, DNS, MQTT, WebSocket)
    backends/                Générateurs de configuration (Nginx, Caddy, Apache)
    models/                  Types partagés et modèles d'événements

Comparaison avec RedWarden

Contributions

  • Mgeeky - Idée originale (RedWarden)
  • curi0usJack - Règles .htaccess
  • Profils
    • threatexpress - jquery-c2.3.14.profile
    • InfinityCurve - Profil Havoc
  • Frameworks C2
    • Cobalt Strike - Support des profils C2 Malleable
    • Mythic - Support des profils HTTPX + staging de fichiers
    • Brute Ratel C4 - Support des profils de configuration serveur
    • Sliver - Support des profils C2 HTTP
    • Havoc - Support des profils TOML
    • Nighthawk - Support des configurations d'écouteur JSON
    • PoshC2 - Support des configurations YAML

Si vous souhaitez contribuer au projet, veuillez créer une nouvelle branche avec le nom de la version et spécifier le même nom de version dans la pull request. Ex. : branche=v1.2.3 | [v1.2.3] Élément ajouté.

Licence

Licence BSD 2 clauses. Voir LICENSE pour les détails.

Copyright (c) 2026, Whispergate

Télécharger l’outil
OptionDescription
--listen-port PORTSurcharger le port d'écoute (défaut : depuis la config)
--ssl-cert PATHSurcharger le chemin du certificat SSL
--ssl-key PATHSurcharger le chemin de la clé SSL
--redirect-url URLSurcharger l'URL de redirection pour les requêtes bloquées
--default-action redirect|404Action pour les requêtes non correspondantes
--no-ip-filterOmettre les blocs d'autorisation/interdiction IP
--no-header-checkOmettre les règles de validation des en-têtes
--alias DOMAIN:ALIASAjouter un alias de nom de serveur (répétable)
--header NAME:VALUEAjouter un en-tête de réponse personnalisé (répétable)
Point d'accèsMéthodeDescription
/api/instancesGETLister toutes les instances avec leur état de santé
/api/statsGETStatistiques fusionnées de toutes les instances
/api/requestsGETJournal des requêtes entrelacées de toutes les instances
/api/intel/whitelistPOSTAjouter une IP à la liste blanche sur toutes les instances
/api/intel/blocklistPOSTBloquer une IP sur toutes les instances
/api/intel/blocklistDELETEDébloquer une IP sur toutes les instances
/ws/eventsWSÉvénements en direct multiplexés de toutes les instances
VolumeObjectif
./configFichiers de configuration (montés en lecture seule)
./examplesProfils C2 (montés en lecture seule)
./rulesListes de blocage ingérées et fichiers sources de règles (montés en lecture seule)
./dataBase de données SQLite (persistée)
certsCertificats TLS (partagés entre le proxy et certbot)
geoipBases GeoLite2 (remplies par le service geoip-update)
pwndrop-dataFichiers téléchargés et base de données de PwnDrop
FonctionnalitéRedWardenInfraGuard
ArchitectureFichier unique ~99KBPaquet modulaire
Analyse de profilMachine à états regexAnalyseur structuré avec support complet de bloc/transformation
Support C2Cobalt Strike uniquementCobalt Strike, Mythic, Brute Ratel C4, Sliver, Havoc, Nighthawk, PoshC2
ProtocolesHTTP uniquementHTTP, DNS, MQTT, WebSocket
Modèle de filtrageBinaire succès/échecBasé sur des scores (seuil 0.0-1.0), chaîne de 10 filtres
Empreinte TLSAucuneBlocage JA3 (Masscan, ZGrab2, Shodan, curl, Python requests, Nmap)
Détection de sandboxAucuneNavigateur sans tête / Safe Links / sandbox UA et score d'en-tête
Détection d'énumérationAucuneÉnumération de chemins + suivi DNS NXDOMAIN avec blocage automatique
Détection de compromissionAucuneSurveillance des logs CT, réputation du domaine (URLhaus/OpenPhish/GSB), détection d'analystes inter-domaines
Livraison de payloadAucunePwnDrop, stockage de fichiers Mythic, système de fichiers, proxy HTTP avec livraison conditionnelle
Protection de payloadAucuneJetons à usage unique, limitation de débit par route, gardes de livraison (clé d'environnement)
Protection antiphishingAucuneValidation de jeton de campagne (liste statique ou signée HMAC)
Interface opérateurAucuneTableau de bord web + interface terminal + poste de commandement multi-instances
Génération de configurationAucuneNginx, Caddy, Apache avec personnalisation complète
Ingestion de règlesAucuneAnalyseur .htaccess + robots.txt
Flux de renseignement sur les menacesAucunMise à jour automatique depuis 5 sources publiques
Système de pluginsInterface basique à 4 méthodesPiloté par les événements avec hooks on_event + configuration par plugin
Intégration SIEMAucuneElasticsearch, Wazuh, Syslog (CEF/JSON)
Alertes webhookAucuneDiscord, Slack, webhook générique (les alertes de compromission passent par les mêmes plugins)
Renseignement sur les listes blanchesAucunEnrichissement automatique des CIDR avec ASN/organisation/pays au démarrage
Anti-rejeuHash SQLiteSQLite persistant avec cache L1 en mémoire, survit aux redémarrages
Actions de dropredirect, reset, proxyredirect, reset, proxy, tarpit
Gestion TLSManuelle uniquementAuto-signé automatique + intégration Let's Encrypt
Déploiement en périphérieAucunWorkers Cloudflare + proxies AWS Lambda avec domaine fronting
DéploiementManuelDocker Compose avec vérifications de santé
JournalisationSortie colorée personnaliséeJSON structuré (structlog)
AsyncCallbacks TornadoAsync/await natif (ASGI + uvicorn)