Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
Striker — Framework C2 multi-opérateur avec agents natifs en C et Python, canaux HTTP(S), tâches asynchrones et une interface web réactive pour les opérations d'équipe rouge. | Kitploit
Outils/GitHubGitHub/4g3nt47/striker
Génération de PayloadsCommandement et ContrôleRed TeamingOutil d'Accès à Distance
GitHub4g3nt47/striker

Striker

Framework C2 multi-opérateur avec agents natifs en C et Python, canaux HTTP(S), tâches asynchrones et une interface web réactive pour les opérations d'équipe rouge.

Voir le dépôt
3004164il y a 3 ansVé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

Striker C2

Striker est un simple programme de commande et contrôle (C2).

Pasted image 20221022194999

Disclaimer

image

Ce projet est en développement actif. La plupart des fonctionnalités sont expérimentales, d'autres à venir. Attendez-vous à des changements majeurs.

Fonctionnalités

A) Agents

  • Agents natifs pour les hôtes Linux et Windows.
  • Agent Python autonome et minimal au cas où vous en auriez besoin.
  • Canaux HTTP(s).
  • Exécution de tâches asynchrones.
  • Support de plusieurs redirecteurs et possibilité de basculer vers d'autres lorsque le redirecteur actif tombe en panne.

B) Backend / Teamserver

  • Support de plusieurs opérateurs.
  • La plupart des fonctionnalités sont exposées via l'API REST, ce qui facilite l'automatisation.
  • Utilise les web sockets pour des communications plus rapides.

C) Interface utilisateur

  • Interface utilisateur fluide et réactive grâce à Svelte et SocketIO.
  • Facile à configurer car il se compile en fichiers HTML, JavaScript et CSS statiques, qui peuvent être hébergés avec le serveur web le plus basique que vous puissiez trouver.
  • Fonctionnalité de chat d'équipe pour communiquer avec d'autres opérateurs par texte.

Installation de Striker

Clonez le dépôt ;

$ git clone https://github.com/4g3nt47/Striker.git
$ cd Striker

Le code est divisé en 4 sections indépendantes ;

1. Le serveur C2 / Backend

Il gère toute la logique serveur pour les opérateurs et les agents. C'est une application NodeJS réalisée avec ;

  • express - Pour l'API REST.
  • socket.io - Pour la communication Web Socket.
  • mongoose - Pour la connexion à MongoDB.
  • multer - Pour la gestion des téléchargements de fichiers.
  • bcrypt - Pour le hachage des mots de passe utilisateur.

Le code source se trouve dans le répertoire backend/. Pour configurer le serveur ;

  1. Configurez une base de données MongoDB ;

Striker utilise MongoDB comme base de données backend pour stocker toutes les données importantes. Vous pouvez l'installer localement sur votre machine en utilisant ce guide pour les distributions basées sur Debian, ou en créer une gratuite avec MongoDB Atlas (une plateforme de base de données en tant que service).

  1. Rendez-vous dans le répertoire source ;
$ cd backend
  1. Installez les dépendances ;
$ npm install
  1. Créez un répertoire pour les fichiers statiques ;
$ mkdir static

Vous pouvez utiliser ce dossier pour héberger des fichiers statiques sur le serveur. Ce devrait également être l'emplacement où votre UPLOAD_LOCATION est défini dans le fichier .env (plus de détails plus tard), mais ce n'est pas nécessaire. Les fichiers de ce répertoire seront accessibles publiquement sous le chemin /static/.

  1. Créez un fichier .env ;

NOTE : Les valeurs entre < et > sont des espaces réservés. Remplacez-les par des valeurs appropriées (y compris les <>). Pour les champs qui nécessitent des chaînes aléatoires, vous pouvez les générer facilement en utilisant ;

$ head -c 100 /dev/urandom | sha256sum
DB_URL=<votre URL de connexion MongoDB>
HOST=<hôte sur lequel écouter (par défaut : 127.0.0.1)>
PORT=<port sur lequel écouter (par défaut : 3000)>
SECRET=<chaîne aléatoire à utiliser pour signer les cookies de session et chiffrer les données de session>
ORIGIN_URL=<URL complète du serveur où vous hébergerez le frontend. Utilisée pour configurer CORS>
REGISTRATION_KEY=<chaîne aléatoire à utiliser pour l'authentification lors de l'inscription>
MAX_UPLOAD_SIZE=<taille maximale de téléchargement de fichier, en octets>
UPLOAD_LOCATION=<répertoire pour stocker les fichiers téléchargés (par défaut : static)>
SSL_KEY=<votre fichier de clé SSL (optionnel)>
SSL_CERT=<votre fichier de certificat SSL (optionnel)>

Notez que SSL_KEY et SSL_CERT sont optionnels. Si l'un n'est pas défini, un serveur HTTP simple sera créé. Cela permet d'éviter une surcharge inutile lorsque le serveur est exécuté derrière un proxy inverse compatible SSL sur le même hôte.

  1. Démarrez le serveur ;
$ node index.js
[12:45:30 PM]  Connecting to backend database...
[12:45:31 PM]  Starting HTTP server...
[12:45:31 PM]  Server started on port: 3000

2. Le Frontend

C'est l'interface web utilisée par les opérateurs. C'est une application web monopage écrite en Svelte, et le code source se trouve dans le répertoire frontend/.

Pour configurer le frontend ;

  1. Rendez-vous dans le répertoire source ;
$ cd frontend
  1. Installez les dépendances ;
$ npm install
  1. Créez un fichier .env avec la variable VITE_STRIKER_API définie sur l'URL complète du serveur C2 configuré ci-dessus ;
VITE_STRIKER_API=https://c2.striker.local
  1. Compilez ;
$ npm run build

Ce qui précède compilera tout en une application web statique dans le répertoire dist/. Vous pouvez déplacer tous les fichiers à l'intérieur dans la racine web de votre serveur web, ou même l'héberger avec un serveur HTTP basique comme celui de python ;

$ cd dist
$ python3 -m http.server 8000
  1. Inscription ;
  • Ouvrez le site dans un navigateur web. Vous devriez voir une page de connexion.
  • Cliquez sur le bouton Register.
  • Saisissez un nom d'utilisateur, un mot de passe et la clé d'inscription en cours (voir REGISTRATION_KEY dans backend/.env)

Cela créera un compte utilisateur standard. Vous aurez besoin d'un compte administrateur pour accéder à certaines fonctionnalités. Votre premier compte administrateur doit être créé manuellement, ensuite vous pouvez promouvoir ou rétrograder d'autres comptes dans l'onglet Users de l'interface web.

Pour créer votre premier compte administrateur ;

  • Connectez-vous à la base de données MongoDB utilisée par le backend.
  • Mettez à jour la collection users et définissez le champ admin de l'utilisateur cible sur true ;

Il existe différentes façons de procéder. Si vous avez mongo disponible dans votre CLI, vous pouvez le faire en utilisant ;

$ mongo <votre URL de connexion MongoDB>
> db.users.updateOne({username: "<votre nom d'utilisateur>"}, {$set: {admin: true}})

Vous devriez obtenir la réponse suivante si cela fonctionne ;

{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

Vous pouvez maintenant vous connecter :)

3. Le redirecteur C2

A) Redirection par tuyau brut

Un redirecteur par tuyau brut écrit pour Striker est disponible dans redirector/redirector.py. Évidemment, cela ne fonctionnera que pour le trafic HTTP simple, ou pour HTTPS lorsque la vérification SSL est désactivée (vous pouvez le faire en activant la macro INSECURE_SSL dans l'agent C).

L'exemple suivant écoute sur le port 443 sur toutes les interfaces et transmet à c2.example.org sur le port 443 ;

$ cd redirector
$ ./redirector.py 0.0.0.0:443 c2.example.org:443
[*] Starting redirector on 0.0.0.0:443...
[+] Listening for connections...

B) Proxy inverse Nginx comme redirecteur

  1. Installez Nginx ;
$ sudo apt install nginx
  1. Créez une configuration de vhost (par ex. : /etc/nginx/sites-available/striker) ;

Espaces réservés ;

  • <domain-name> - C'est le FQDN de votre serveur, et doit correspondre à celui de votre certificat SSL.
  • <ssl-cert> - Le fichier de certificat SSL à utiliser.
  • <ssl-key> - Le fichier de clé SSL à utiliser.
  • <c2-server> - L'URL complète du serveur C2 vers lequel transférer les requêtes.
Télécharger l’outil