
Decodificadores de Python para Troyanos de Acceso Remoto Comunes
Malconf es una librería de python3 que puede utilizarse para analizar estáticamente familias de malware específicas y extraer los datos de configuración que pueden ser utilizados por los respondedores de incidentes durante un incidente.
Como librería, también puede instalarse en pipelines automatizados de análisis de malware.
Hay algunos prerrequisitos que están incluidos en la configuración de pip y en el requirements.txt
Para todos los decodificadores necesitarás yara y yara-python. Para tratar con malware .NET necesitarás instalar yara-python con soporte dotnet.
git clone --recursive https://github.com/VirusTotal/yara-python
python3 setup.py build --enable-magic --enable-dotnet
sudo python3 setup.py install
pip3 install --upgrade malwareconfig
git clone [email protected]:kevthehermit/RATDecoders.git
cd RATDecoders
pip3 install -r requirements.txt
python3 setup.py install
Aquí hay una lista de los RATs soportados actualmente:
Usando la herramienta de línea de comandos suministrada malconf, puedes pasar un solo archivo o un directorio con la opción -r e intentará detectar de forma automágica la familia y extraer cualquier configuración.
También puedes usar la opción -o para escribir los resultados en un archivo.
malconf
malconf -l Esto listará todos los RATs soportados
malconf /path/to/sample Esto detectará de forma automágica la familia y ejecutará el decodificador
⇒ malconf tests/samples/alienspy
__ __ _ ____ __
| \/ | __ _| |/ ___|___ _ __ / _|
| |\/| |/ _` | | | / _ \| '_ \| |_
| | | | (_| | | |__| (_) | | | | _|
|_| |_|\__,_|_|\____\___/|_| |_|_|
Malware Configuration Parser by @kevthehermit
[+] Loading File: tests/samples/alienspy
[-] Found: AlienSpy
[-] Running Decoder
[-] Config Output
{'ConfigKey': 'fzGUoTaQH3SUW7E82IKQK2J2J2IISIS',
'NAME': 'ok',
'Version': 'B',
'connetion_time': '0',
'desktop': 'true',
'dns': '213.208.129.211',
'extensionname': 'qQJ',
'folder': 'java',
'instalar': 'true',
Si instalas con pip, también puedes usarla como librería.
from malwareconfig import fileparser
from malwareconfig.modules import __decoders__, __preprocessors__
# Open and parse the file
sample_path = '/path/to/sample.exe'
file_info = fileparser.FileParser(file_path=sample_path)
# Check for a valid decoder and then parse
if file_info.malware_name in __decoders__:
module = __decoders__[file_info.malware_name]['obj']()
module.set_file(file_info)
module.get_config()
conf = module.config
pprint(conf)
Todo el crédito donde corresponde.