
KittyStager est un simple C2 de stage 0. Il est composé d'un serveur web pour héberger le shellcode et d'un implant, appelé kitten. L'objectif de ce projet est de pouvoir disposer d'un serveur web et de plusieurs kitten, et de pouvoir les utiliser avec n'importe quel shellcode.
KittyStager est un C2 de stage 0 comprenant une API, un client et un malware. L'API est responsable de la livraison de tâches de base et de shellcode à injecter en mémoire par le malware. Le client se connecte également à l'API et permet d'interagir avec le malware en créant des tâches. L'objectif de KittyStager est de déployer une charge utile simple de stage 0 sur le système cible et de recueillir suffisamment d'informations pour adapter la charge utile à la cible spécifique. Comme la charge utile de stage 0 est conçue pour être aussi furtive que possible, elle n'inclut aucune capacité d'exécution de commandes.
Ce projet est réalisé à des fins éducatives uniquement. Je ne suis pas responsable des dommages causés par ce projet.
Certains paramètres peuvent être modifiés dans le fichier config
git clone https://github.com/Enelg52/KittyStager.git
cd KittyStager
Modifiez le fichier de configuration config :
Comment générer un certificat pour HTTPS avec OpenSSL
$ openssl req -new -newkey rsa:2048 -nodes -keyout localhost.key -out localhost.csr
$ openssl x509 -req -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt
Construire le serveur :
cd server
go build
Construire le client :
cd client
go build
Le serveur doit être en cours d'exécution
cd kitten/basicKitten
env GOOS=windows GOARCH=amd64 go build -o basicKitten.exe
Ensuite, démarrez le serveur, le client et exécutez le kitten sur la cible.
Démarrer le serveur
./server -h
Usage of server:
-p string
Path to the config file (default "config.yaml")
Le client se connectera à 127.0.0.1:1337. Si vous n'êtes pas sur le serveur, vous devrez utiliser un tunnel SSH.
./client













Vous pouvez personnaliser le code du kitten à partir du fichier de configuration.
# Malware
# Injection methode : createThread, banana, halo
injection: createThread
# Output : dll, exe
execType: exe
# Obfuscation : true, false
obfuscation: false
La partie compilation et obfuscation n'est pas encore implémentée.
Compiler un exe :
cd output
env GOOS=windows GOARCH=amd64 go build -o kitten.exe
Compiler une dll :
Vous devez modifier la valeur execType dans config.yaml
cd output
env GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC="x86_64-w64-mingw32-gcc" go build -o basickitten.dll -buildmode=c-shared kitten.go
Le projet est divisé en 3 parties :
La partie cryptographie, kitten, configuration et les structures de tâches se trouvent dans internal.
Les pull requests sont les bienvenues. N'hésitez pas à ouvrir une issue si vous souhaitez ajouter d'autres fonctionnalités.
Enelg#9993 sur Discord