
Decodificadores Python para Trojans de Acesso Remoto Comuns
Malconf é uma biblioteca python3 que pode ser usada para analisar estaticamente famílias específicas de malware e extrair os dados de configuração que podem ser usados por respondedores de incidentes durante um incidente.
Como biblioteca, também pode ser instalada em pipelines automatizados de análise de malware.
Existem alguns pré-requisitos que estão incluídos na configuração do pip e no arquivo requirements.txt
Para todos os decodificadores, você precisará do yara e do yara-python. Para lidar com malware .NET, você precisará instalar o yara-python com suporte a 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
Aqui está uma lista dos RATs atualmente suportados:
Usando a ferramenta de linha de comando fornecida malconf, você pode passar um único arquivo ou um diretório com a flag -r e ela tentará detectar automaticamente a família e extrair qualquer configuração.
Você também pode usar a opção -o para escrever os resultados em um arquivo.
malconf
malconf -l Isto listará todos os RATs suportados
malconf /path/to/sample Isto detectará automaticamente a família e executará o 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',
Se você instalar via pip, também pode usá-la como biblioteca.
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 crédito onde o crédito é devido.
Malware.lu pelo artigo inicial sobre o xtreme RAT - https://code.google.com/p/malware-lu/wiki/en_xtreme_RAT
Fireye pelos artigos sobre Poison Ivy e Xtreme RAT (Mesmo que eles tenham ignorado meus tweets :-) ) - http://www.fireeye.com/blog/technical/2014/02/xtremerat-nuisance-or-threat.html
Shawn Denbow e Jesse Herts pelo artigo aqui - http://www.matasano.com/research/PEST-CONTROL.pdf Me salvou muito tempo