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
stratum-c2 — Cloud-native C2 framework utilisant le stockage cloud comme canal de communication dead-drop. | Kitploit
Outils/GitHubGitHub/lame-projects/stratum-c2
Frameworks de Tests d'IntrusionOutils de Chiffrement/DéchiffrementFrameworks d'ExploitationMécanismes de PersistancePost-ExploitationSécurité CloudCommandement et ContrôleRed TeamingDéveloppement de Charges Utiles
GitHublame-projects/stratum-c2

stratum-c2

Cloud-native C2 framework utilisant le stockage cloud comme canal de communication dead-drop.

4il y a 11h 41mPas encore vérifié
Voir le dépôt

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
Stratum C2

Framework de persistance cloud · v3.0.1

Un point d'appui de secours qui transite par une infrastructure que les défenseurs ne peuvent pas bloquer.

License: MIT Platform

Python Rust JavaScript


Le problème

Votre C2 principal devient silencieux. Le domaine est blacklisté. Le beacon est signalé. L'EDR tue le processus. Vous êtes dehors.

Vous avez besoin d'un second canal — un canal qui n'aurait de toute façon jamais dû être bloqué.


L'idée

Et si le trafic de commande et contrôle ressemblait exactement à un employé synchronisant des fichiers vers Dropbox ?

C'est Stratum. Les commandes et les réponses voyagent comme des fichiers ordinaires dans un dossier de stockage cloud. L'agent ne se connecte jamais à l'infrastructure de l'attaquant. Le seul trafic observable est du HTTPS vers un fournisseur que le pare-feu de la cible a déjà mis sur liste blanche — car bloquer Dropbox ou OneDrive signifie bloquer chaque employé qui les utilise.

Pas de teamserver. Pas de domaine appartenant à l'attaquant. Pas de certificat TLS suspect. Rien à bloquer.

root@kitploit:~
  OPÉRATEUR                   FOURNISSEUR CLOUD               CIBLE
  ────────                   ─────────────                ──────
                             /Machine1/
  WebGUI ──HTTPS──►          input.txt   🔒  ◄── poll ── agent
                             output.txt  🔒  ──► read ──┘
                             heartbeat.txt    (beacon chiffré)

L'agent se réveille à un intervalle configurable (+ gigue log-normale), lit le fichier d'entrée, exécute, chiffre la réponse, la téléverse, puis dort. Tout est chiffré de bout en bout avec RSA-4096-OAEP + AES-256-GCM. L'IP de l'opérateur n'apparaît jamais dans aucun journal réseau côté cible.

Stratum C2 WebGUI

Fournisseurs cloud

FournisseurNotes
DropboxJeton d'actualisation OAuth2 · Comptes professionnels et personnels
Microsoft OneDriveAPI Microsoft Graph · Comptes personnels et M365
Google DriveAPI Google Drive v3 · Flux de service OAuth2
SharePoint OnlineAPI Microsoft Graph · Sites de locataires M365
Compatible S3AWS S3 · DigitalOcean Spaces · Backblaze B2 · tout point de terminaison S3

Les cinq partagent le même format de transmission, la même paire de clés RSA et la même session opérateur. Changez de fournisseur en pleine mission en quelques minutes sans toucher à l'agent. Aucun autre framework open-source ne propose cela prêt à l'emploi.


Cinq choses qui n'existent nulle part ailleurs

1. Le canal est structurellement imblocable

Un SOC qui veut arrêter un C2 bloque le domaine du teamserver ou l'infrastructure frontée. Un SOC qui veut arrêter Stratum doit bloquer Dropbox, OneDrive, Google Drive, SharePoint et S3 simultanément. Ce n'est pas une règle de pare-feu — c'est une décision commerciale qu'aucune entreprise ne prendra. L'architecture de boîte aux lettres morte ne tente pas d'échapper à la détection. Elle opère sur une infrastructure que le défenseur a déjà décidé de faire confiance, de façon permanente.

2. Quatre formats d'agent natifs à partir d'un seul flux de déploiement

FormatPlateformeDépendances
.exe / .dllWindowsAucune — PE compilé en Rust (ABI MSVC), pas d'interpréteur, pas de PowerShell dans l'arborescence des processus
.elfLinuxAucune — musl-static compilé en Rust, fonctionne sur tout Linux x86_64
.binLinux / WindowsShellcode PIC x64 — à injecter dans n'importe quel chargeur ou injecteur externe

L'assistant génère tous ces formats. Vous répondez aux invites ; il compile, chiffre et empaquette. Pas de drapeaux de compilateur, pas de variables d'environnement, pas de gestion manuelle des clés.

3. Trois modes de déploiement — adaptés à la mission

ModeFonctionnementIdéal pour
staged-encStub minimal sur la cible. Au premier lancement : récupère une clé d'amorçage à usage unique depuis le cloud, déchiffre l'agent complet en mémoire, supprime la clé du cloud. La charge utile ne touche jamais le disque en clair.Missions standard — artefact initial le plus petit, clé détruite à la livraison
stageless-encAgent complet intégré dans un seul fichier de livraison, chiffré avec une clé intégrée au stub. Aucune récupération de clé cloud nécessaire après la livraison.Réseaux isolés ou restreints — un seul fichier autonome
stageless-plainAgent en clair. Les commandes et les réponses restent entièrement chiffrées en transit.Laboratoires et environnements contrôlés

Tous les modes partagent le même comportement post-exécution : le stub met en cache un blob chiffré avec empreinte matérielle localement, de sorte que les exécutions suivantes se chargent depuis le disque sans toucher au cloud.

4. Persistance — sonder, installer, survivre

Avant de toucher à une seule clé de registre ou entrée cron, exécutez /persist probe. L'agent vérifie chaque technique disponible au niveau de privilège actuel et renvoie un rapport de faisabilité. Non destructif — aucun artefact laissé derrière.

root@kitploit:~
/persist probe
  ✓ schtask-logon   — faisable (SYSTEM)
  ✓ registry-run    — faisable
  ✗ schtask-boot    — nécessite une élévation
  ✓ startup-folder  — faisable
  ...

Choisissez ce qui fonctionne, installez-le, retirez-le proprement une fois terminé. La WebGUI suit chaque technique installée par session. /kill démonte tout — persistance, binaire, artefacts cloud — en une seule commande.

Onglet Persistance — résultats de sonde

5. Garde-fous opérationnels intégrés au moment du déploiement

Date de fin de vie, fenêtre de maintenance, gigue log-normale, clé d'amorçage à usage unique — tout est configuré une fois dans l'assistant et compilé dans l'agent de façon permanente. Rien à gérer pendant la mission, rien à oublier de nettoyer à la fin.


Comment Stratum s'intègre dans une mission

Stratum ne remplace pas Cobalt Strike, Sliver ou Havoc. C'est la couche en dessous d'eux.

root@kitploit:~
  Jour 1 : déployer Stratum en parallèle de votre C2 principal
  Jour 4 : le beacon principal est signalé, processus tué
  Jour 4 : ouvrir une session Stratum, évaluer ce qui s'est passé
  Jour 4 : réintroduire le C2 principal via le shell Stratum
  Jour 5 : retour à un accès complet

Votre C2 principal gère la post-exploitation. Stratum gère la survie. C'est le canal qui ne serait jamais détecté parce qu'il n'a jamais essayé de se cacher — il ressemble simplement à Dropbox.

C'est le même paradigme utilisé dans la nature par des acteurs de menace documentés en 2025–2026 : TukTuk (boîte aux lettres morte Dropbox + Arweave), NarwhalRAT/APT37 (pCloud), COBALT MIRAGE/Drokbk (GitHub). Stratum apporte la même architecture côté équipe rouge en tant que véritable framework, pas un implant ponctuel.


Démarrage rapide

1. Installation

root@kitploit:~
git clone https://github.com/daniomass/stratum-c2.git
cd stratum-c2
./install.sh --server

2. Chaîne d'outils Rust

Les agents compilés (.exe, .elf, .dll, .bin, Rust natif) sont une fonctionnalité centrale de Stratum. L'assistant détecte et utilise les cibles disponibles, en sautant uniquement ce qu'il ne peut pas compiler.

root@kitploit:~
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

# Windows PE / DLL
rustup target add x86_64-pc-windows-gnu && sudo apt install mingw-w64

# Linux musl-static ELF
rustup target add x86_64-unknown-linux-musl && sudo apt install musl-tools

# Shellcode x64 plat
rustup target add x86_64-unknown-none && sudo apt install lld

3. Démarrer et déployer

root@kitploit:~
python3 stratum-server.py

Ouvrez https://<hôte>:<port>, connectez-vous, cliquez sur Déployer. L'assistant vous guide à travers les identifiants du fournisseur, le format de l'agent, le mode de déploiement, l'identité de persistance et les garde-fous (date de fin de vie, fenêtre, gigue). À la fin, il vous remet des artefacts prêts à l'emploi. Détails complets de configuration dans le wiki (docs/wiki.html).

4. Livrer et connecter

root@kitploit:~
# Linux — en arrière-plan, sans terminal
chmod +x stub.elf && nohup ./stub.elf &>/dev/null &

# Windows — fenêtre masquée (cmd ou PowerShell)
start /b stub.exe

La session apparaît automatiquement dans la WebGUI au premier beacon.


La WebGUI

Multi-opérateur, temps réel, basée navigateur. Chaque opérateur voit les mêmes sessions en direct via WebSocket.

root@kitploit:~
/sysinfo             — profil système complet : matériel, OS, réseau, AV/EDR, conteneurs
/persist probe       — vérification de faisabilité non destructive, toutes les techniques
/persist install <id>— installer une technique de persistance
/persist remove <id> — retirer une technique spécifique
/creds harvest       — collecter les identifiants (Firefox/cloud analysés en ligne, le reste mis en file)
/creds harvest decrypt  — + déchiffrer Chrome/Edge/DPAPI via CryptUnprotectData (OPSEC↑)
/creds coerce        — forcer l'authentification locale pour capturer NTLMv2 / énumérer les agents SSH
/creds sam           — extraction de hachages SAM en mémoire (Windows, nécessite SYSTEM ou Admin élevé)
/creds listen start [proto:port] — démarrer un écouteur d'identifiants (smb:445, http:80, http-ntlm:80)
/creds listen stop [proto:port]  — arrêter un écouteur spécifique ou tous les écouteurs
/creds listen dump   — récupérer les identifiants NTLMv2 + Basic capturés (remplit automatiquement l'onglet Identifiants)
/bof <file.o> [args] — exécuter un Beacon Object File (COFF) en mémoire (Windows, Rust uniquement)
/assembly <file.exe> [args]         — exécuter un assembly .NET via hébergement CLR (Windows, Rust uniquement)
/assembly-amsibypass <file.exe> [args] — assembly .NET + contournement AMSI (Windows, Rust uniquement)
/memexec <file> [args]              — exécuter PE/ELF en mémoire (Win : réflexif, Linux : memfd — Rust uniquement)
/script <file> [interpreter]       — exécuter un script sans fichier via pipe stdin (Win+Linux, Rust uniquement)
/script-amsibypass <file> [interp] — script sans fichier + contournement AMSI (Win PS uniquement, Rust uniquement)
/kill                — retirer toute persistance + effacer les artefacts + terminer l'agent
/download <path>     — récupérer un fichier depuis la cible
/upload <path>       — envoyer un fichier vers la cible
/sleep <s>           — modifier l'intervalle du beacon en direct
/jitter <pct>        — modifier le pourcentage de gigue en direct
/timestomp <args>    — définir les horodatages de fichiers sur la cible
/exit                — arrêter le processus de l'agent (la persistance survit)

Chaque session dispose d'onglets dédiés : Shell · Historique · Artefacts · Persistance · Identifiants · Contrôle · Infos. Vues globales : Sessions · Déploiement · Archives · Tradecraft · Paramètres.

Onglet Infos — profil système en direct
Graphe de topologie P2P

Authentification

ModeDescription
localNom d'utilisateur/mot de passe dans server.yml. Pas de rôles — tous les opérateurs sont égaux.
oidc-manualFournisseur OIDC externe (Keycloak, Azure AD, Okta). Accès basé sur liste blanche.
oidc-autoToute identité authentifiée obtient l'accès. Liste noire pour la révocation.

Cryptographie

CoucheAlgorithme
Échange de clésRSA-4096-OAEP-SHA-256 (paire de clés par déploiement)
Chiffrement des commandesAES-256-GCM (clé de session, pré-partagée)
Chiffrement du heartbeatRSA-4096-OAEP-SHA-256 + AES-256-GCM
Signature des réponsesRSA-PSS-SHA-256
Dérivation de clé de blobPBKDF2-HMAC-SHA-256 · 210 000 itérations
Clé d'amorçageÀ usage unique — supprimée du cloud au premier lancement de l'agent
Clé de session dans le binaireObscurcie par XOR dans .rodata — l'hex brut n'apparaît jamais tel quel
Chiffrement du blob localAES-256-GCM — blob avec empreinte matérielle mis en cache sur disque

Étendre Stratum

Ajouter un fournisseur représente ~360 lignes : transport HTTP (upload / download / delete / actualisation du jeton) + assistant de déploiement. Le chiffrement, le heartbeat, la répartition des commandes, la persistance, le timestomping et le suivi des artefacts sont fournis gratuitement par le cœur. Implémentation de référence : providers/dropbox/.


Documentation

La documentation technique complète — protocole cryptographique, format de transmission, internes du heartbeat, interface de transport, techniques de persistance, notes OPSEC — se trouve dans docs/wiki.html. Ouvrez-la localement dans un navigateur.

Les maquettes d'interface pour tous les écrans (liste des sessions, shell, onglet persistance, onglet infos, assistant de déploiement, chat) se trouvent dans docs/mockups.html — ouvrez localement dans un navigateur pour parcourir chaque scène.


Légal

Stratum est destiné uniquement à des fins éducatives et de tests de sécurité autorisés.

Ce logiciel est fourni pour la recherche en sécurité défensive, la formation aux tests d'intrusion et les évaluations de sécurité autorisées. Les utilisateurs sont seuls responsables de s'assurer que leur utilisation est conforme à toutes les lois et réglementations applicables.

Pour les services cloud : Si les tests ciblent des hébergements sur Dropbox, OneDrive, Google Drive, S3 ou SharePoint, vous devez disposer d'une autorisation explicite à la fois du fournisseur de services et du propriétaire de la ressource. L'accès non autorisé aux services cloud est illégal.

L'accès non autorisé aux systèmes informatiques est une infraction pénale et peut entraîner de lourdes sanctions civiles et pénales, y compris des amendes et l'emprisonnement.

En utilisant ce logiciel, vous reconnaissez avoir lu cet avertissement et acceptez d'utiliser Stratum uniquement à des fins légales avec une autorisation appropriée.


Journal des modifications

Voir CHANGELOG.md pour l'historique complet des versions.


Conçu pour les opérateurs qui ont besoin d'une infrastructure qui n'existe pas.

Si Stratum vous a été utile, pensez à laisser une ⭐ — cela aide d'autres à le trouver.

Télécharger l’outil