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
emp3r0r — Maillage de type gossip C2 auto‑réparant avec découverte assistée de pairs, exécution BOF multiplateforme et agents scriptables. | Kitploit
Outils/GitHubGitHub/jm33-m0/emp3r0r
Frameworks de Tests d'IntrusionEscalade de PrivilègesCartographie RéseauMécanismes de PersistanceÉvasion IDS/IPSMouvement LatéralPost-ExploitationCommandement et ContrôleRed TeamingDéveloppement de Charges UtilesAnti-Bot
1.7k280il y a 4 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 →
GitHub
jm33-m0/emp3r0r

emp3r0r

Maillage de type gossip C2 auto‑réparant avec découverte assistée de pairs, exécution BOF multiplateforme et agents scriptables.

Voir le dépôtSite web
Partager
emp3r0r

emp3r0r

C2 à maillage Gossip auto-réparateur avec découverte de pairs assistée, exécution BOF multiplateforme et agents scriptables.


Discord GitHub Sponsors

GitHub go.mod Go version Tests GitHub License GitHub release


Capture d'écran du 2026-08-10 19-37-20

Qu'est-ce qu'emp3r0r ?

emp3r0r est un framework de post-exploitation avancé et un système de commande & contrôle (C2) zero-trust conçu pour les environnements cibles Linux et Windows. Conçu de zéro pour opérer dans des environnements à haute sécurité, emp3r0r combine réseautage maillé Gossip autonome, exécution fileless en mémoire uniquement, chargement BOF multiplateforme, transfert de fichiers inter-agents et agents scriptables en mémoire pour offrir une furtivité, un contrôle opérationnel et une sécurité opérationnelle (OPSEC) supérieurs.


Points forts & fonctionnalités uniques

🐍 Agents scriptables (moteur Starlark embarqué & proxy d'API Win32)

Les agents emp3r0r disposent d'un moteur de script Starlark embarqué (un dialecte de Python implémenté purement en Go). Les scripts s'exécutent de manière fileless en mémoire sans nécessiter Python, Bash ou PowerShell sur la cible.

  • Zéro dépendance hôte : Exécute des scripts autonomes sans lancer d'interpréteurs de commandes (/bin/sh, powershell.exe) ni dépendre de runtimes installés.
  • API Go intégrées à l'agent : Fonctions exposées pour les opérations sur le système de fichiers (read_file, write_file, list_dir, mkdir, remove, exists), les requêtes HTTP (http_get, http_post), l'exécution de commandes (exec_cmd) et le hachage (crypto_hash).
  • Proxy d'API Win32 dynamique : Sur les cibles Windows, les scripts Starlark peuvent charger dynamiquement des DLL système et exécuter des API Win32 natives (win_call, , , ) directement depuis le code du script, sans compiler de code C natif.

Pourquoi c'est important : Les modules de script C2 traditionnels nécessitent des interpréteurs hôtes ou le lancement de processus, laissant de lourdes traces disque ou d'exécution en ligne de commande. Les agents scriptables d'emp3r0r exécutent une logique complexe entièrement en mémoire avec une interaction système native.


🔐 Pinning d'identité cryptographique TOFU

emp3r0r applique le principe Trust-On-First-Use (TOFU) avec un pinning strict de l'UUID et de la clé publique lors de l'enrôlement de l'agent.

  • Liaison immuable : Une fois enrôlé, l'UUID d'un agent est épinglé à sa clé publique cryptographique. Tout ré-enrôlement avec des identifiants modifiés est rejeté comme une tentative d'usurpation d'identité.
  • Réinitialisation contrôlée : La désinscription nécessite une autorisation explicite de l'opérateur via forget_agent.

Pourquoi c'est important : Empêche le détournement de session, le clonage d'agents et la dérive d'identité silencieuse dans les environnements opérationnels.


🔒 Confidentialité persistante (PFS)

Toutes les communications C2 et entre pairs appliquent un échange de clés ECDH avec des clés de session dérivées de HKDF.

  • Clés éphémères : Chaque session génère des clés de chiffrement uniques.
  • Sécurité découplée : La compromission des clés à long terme ou d'un agent individuel ne peut pas compromettre les communications passées ou parallèles.

Pourquoi c'est important : Empêche le déchiffrement rétrospectif des captures réseau interceptées.


🕸️ Réseau maillé Gossip P2P autonome

Les agents situés dans des segments réseau restreints en sortie ou isolés découvrent automatiquement leurs pairs et tunnelisent le trafic via un réseau maillé basé sur le gossip (Memberlist).

  • Transports de pairs enfichables : Prise en charge du mTLS 1.3 de camouflage (avec des certificats éphémères) et de KCP (UDP fiable).
  • Chiffrement de bout en bout : Tous les sauts du maillage inter-agents sont enveloppés dans un chiffrement AES-GCM.
  • Empreinte réseau réduite : Le relais direct agent-à-agent élimine le bruit de diffusion inutile et les points de congestion de connexion C2 centralisés.

Pourquoi c'est important : Le pivotement à travers des réseaux segmentés s'effectue de manière autonome, sans nécessiter une intervention constante de l'opérateur ni des configurations de proxy statiques.


📂 Système de fichiers P2P

Partage de fichiers direct agent-à-agent via le transport de relais P2P (mTLS/KCP) pour accélérer la livraison des fichiers sur les réseaux internes.

  • Tunnels P2P chiffrés : Tunnelise les transferts entre pairs via mTLS/KCP pour contourner les restrictions de sortie et réduire les goulots d'étranglement de bande passante du C2 central.
  • Cache de fichiers intelligent en mémoire : Les fichiers sont mis en cache dans la mémoire de l'agent sous forme de blobs chiffrés ; ils peuvent être servis de manière transparente aux autres agents pour un téléchargement à la demande. Lorsqu'un fichier est demandé, les agents consultent d'abord leur memfs local, puis les autres pairs, et enfin le C2.
  • Repli automatique sur le relais C2 : Si un pair cible ne dispose pas du fichier demandé, il le récupère dynamiquement et le diffuse depuis le serveur C2 à la demande.

Pourquoi c'est important : Le partage de fichiers direct agent-à-agent maximise les vitesses de transfert, contourne les points de congestion réseau et réduit la visibilité du trafic C2 direct.


📡 Listeners & stagers multi-protocoles

Stagers de téléchargement Stage 0 flexibles et listeners de protocoles pour l'accès initial et la livraison des payloads.

  • Listeners multi-protocoles : Listeners HTTP, TCP et UDP embarqués et autonomes avec un tramage fiable par accusé de réception de séquence et des profils HTTP personnalisés.
  • Stager de téléchargement C autonome : Construit avec des appels système Linux directs et indépendants de la libc pour une compatibilité entre les distributions sans erreurs de symboles.
  • Taille de payload minuscule : Alors que les binaires d'agent emp3r0r pèsent ~20 Mo non compressés, ce stager fait moins de 1,5 Ko ; le payload de type sRDI qu'il récupère depuis le listener emp3r0r pèse ~8 Mo (compressé à partir du binaire de l'agent au format objet partagé ELF).
  • Formats flexibles : Se compile en shellcode brut indépendant de la position (.bin), en exécutables ELF autonomes ou en objets partagés (.so).
  • Durcissement en mémoire : Alloue la mémoire du stage avec des permissions lecture-écriture, désobfusque les payloads et impose lecture-exécution avant d'exécuter de manière réflexive le Stage 1.

🧩 Prise en charge native multiplateforme des BOF (COFF & ELF)

Exécute des modules binaires en mémoire sur les cibles Windows et Linux :

  • Chargeurs COFF Windows : Exécute les binaires BOF Windows de manière fileless avec un empaquetage typé des paramètres (int, short, cstr, wstr, binary).
  • Chargeurs d'objets ELF Linux : Charge les fichiers objets ELF relocalisables (.o) directement dans la mémoire de l'agent sous Linux.
  • Suites BOF intégrées : Prise en charge intégrée des collections de modules Kerbeus-BOF, Remote-OPs et Situational Awareness (SA).

Pourquoi c'est important : Élimine le surcoût de création de processus et contourne la surveillance de la ligne de commande en exécutant des modules C compilés dans le processus.


🔑 Manipulation de jetons Windows à la demande

Les agents sous Windows peuvent voler, mettre en cache et usurper des jetons d'accès de processus en cours d'exécution — entièrement dans le processus grâce à des appels système NT indirects.

  • Vol & cache : steal_token --pid <PID> duplique un jeton de processus via NtOpenProcess + NtDuplicateToken et le stocke en mémoire par SID. Vous pouvez également enchaîner l'usurpation avec --token <sid> pour passer d'une identité volée à une autre.
  • Énumération : list_tokens affiche tous les jetons mis en cache avec les noms DOMAIN\User (SID).
  • Usurpation universelle : Un jeton mis en cache peut être référencé par SID (--token <sid>) dans n'importe quel module — Go, Starlark, COFF/BOF. L'usurpation au niveau du thread (NtSetInformationThread) est appliquée autour des opérations sensibles.
  • Starlark conscient des jetons : Les fonctions intégrées (read_file, write_file, exec_cmd, proxy d'API Win32, etc.) usurpent automatiquement l'identité à chaque appel système lorsqu'un jeton est défini, et peut lancer des processus enfants sous l'identité volée via .

Pourquoi c'est important : Aucun outil externe, aucune trace disque, aucun bruit de création de processus. Le vol et la réutilisation des jetons se font entièrement dans le processus grâce aux appels système indirects, les jetons volés étant immédiatement utilisables par chaque module intégré.


🎭 Transport C2 enfichable, évasion JA3 uTLS & protocole CBOR

  • Modes C2 enfichables : Beaconing flexible (http_poll) avec des profils HTTP malléables et streaming (h2conn) sur HTTP/2.
  • Randomisation de la signature JA3 : Utilise uTLS pour randomiser les empreintes TLS Client Hello, déjouant ainsi les signatures réseau statiques.
  • Protocole binaire filaire : Utilise CBOR (Concise Binary Object Representation) pour toutes les données de contrôle et la sérialisation filaire, réduisant la taille des payloads réseau de 30 à 40 % par rapport à JSON.

💾 Stockage chiffré axé sur la mémoire

  • Système de fichiers virtuel chiffré en mémoire : Toutes les opérations de fichiers de l'agent utilisent un système de fichiers virtuel AES-GCM en mémoire. Les données volumineuses sont automatiquement déversées vers un stockage disque chiffré, sans en-têtes ni extensions identifiables.
  • Cache intelligent propulsé par le P2P : Chaque agent avec P2P activé met en cache dans memfs les fichiers récupérés depuis le C2, puis les rend disponibles pour les autres pairs, minimisant ainsi l'empreinte du trafic C2 tout en exploitant les connexions inter-agents rapides.

Démarrage rapide

1. Installation du serveur C2

La compilation d'emp3r0r nécessite Docker ou Podman sur l'hôte. Aucune chaîne d'outils Go locale n'est requise.

root@kitploit:~
# Clone repository
git clone --depth=1 https://github.com/jm33-m0/emp3r0r.git && cd emp3r0r

# Build inside a container and install locally
./install.sh

L'installateur compile les binaires principaux dans un conteneur jetable, génère le fichier emp3r0r-operator-kit.tar.zst précompilé, configure les capacités Linux requises (setcap) et met en place les répertoires d'exécution système.

Options :

root@kitploit:~
./install.sh [--debug] [--disable-garble] [--prefix /usr/local] [--skip-build]

Lancez le serveur C2 :

root@kitploit:~
emp3r0r server --c2-hosts 1.2.3.4 --http-port 12345 --operator-port 13377

Remarque : Si l'installation a été réalisée avec l'utilisateur root au lieu du sudo standard, votre utilisateur actuel pourrait ne pas être en mesure de lancer emp3r0r, car les permissions ne peuvent pas être correctement définies par l'installateur. Cela s'applique également à vos machines opérateur.


2. Configuration de la machine opérateur

Transférez le fichier emp3r0r-operator-kit.tar.zst généré vers votre machine opérateur, puis exécutez l'installateur :

root@kitploit:~
tar --zstd -xpf emp3r0r-operator-kit.tar.zst
cd ./emp3r0r-operator-kit && ./install.sh

Connectez le client opérateur au serveur C2 en utilisant les identifiants du tunnel WireGuard affichés par le serveur :

root@kitploit:~
emp3r0r client --c2-port 13377 \
  --server-wg-key '<SERVER_WG_KEY>' \
  --server-wg-ip '<SERVER_WG_IP>' \
  --operator-wg-ip '<OPERATOR_WG_IP>' \
  --operator-wg-key '<OPERATOR_WG_KEY>' \
  --c2-host 1.2.3.4

3. Générer des payloads d'agent

Utilisez la commande generate dans l'interface opérateur d'emp3r0r pour créer des payloads.

Agent C2 direct :

root@kitploit:~
generate --type linux_executable --arch amd64 --cc your.domain.com

Agent passerelle du maillage :

root@kitploit:~
generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --direct-c2 --p2p-transport mtls

Pair intermédiaire du maillage :

root@kitploit:~
generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --p2p-transport mtls --peers 1.2.3.4

Documentation & ressources

  • 📝 Politique de sécurité : SECURITY.md
  • 📜 Journal des modifications : CHANGELOG.md
  • 🛠️ Guide de développement de modules : core/modules/module_development_guide.md

Soutenir le développement

Si emp3r0r s'est avéré précieux dans vos recherches et tests de sécurité, envisagez de soutenir son développement continu via GitHub Sponsors.

Télécharger l’outil
win_alloc
win_free
win_read_mem
  • Intégration modulaire : Les scripts Starlark sont définis à l'aide de manifestes JSON (config.json) pour une analyse et une distribution transparentes des paramètres CLI.
  • exec_cmd
    CreateProcessWithTokenW