
Décodeurs Python pour les chevaux de Troie d'accès à distance courants
Malconf est une bibliothèque python3 qui peut être utilisée pour analyser statiquement des familles de malwares spécifiques et extraire les données de configuration pouvant être utilisées par les intervenants en réponse à incident (Incident Responders) pendant un incident.
En tant que bibliothèque, elle peut également être installée dans des pipelines d'analyse automatisée de malwares.
Certains prérequis sont inclus dans la configuration pip et dans le requirements.txt
Pour tous les décodeurs, vous aurez besoin de yara et yara-python. Pour traiter les malwares .NET, vous devrez installer yara-python avec la prise en charge de 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
Voici la liste des RAT actuellement pris en charge :
À l'aide de l'outil en ligne de commande fourni malconf, vous pouvez passer un fichier unique ou un répertoire avec l'option -r et il tentera de détecter automatiquement la famille et d'extraire la configuration éventuelle.
Vous pouvez également utiliser l'option -o pour écrire les résultats dans un fichier.
malconf
malconf -l Ceci liste tous les RAT pris en charge
malconf /path/to/sample Ceci détecte automatiquement la famille et exécute le décodeur
⇒ 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 vous installez via pip, vous pouvez également l'utiliser comme une bibliothèque.
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)
Tout le crédit revient à qui de droit.
Malware.lu pour l'analyse initiale de Xtreme RAT - https://code.google.com/p/malware-lu/wiki/en_xtreme_RAT
FireEye pour leurs analyses de Poison Ivy et Xtreme RAT (même s'ils ont ignoré mes tweets :-) ) - http://www.fireeye.com/blog/technical/2014/02/xtremerat-nuisance-or-threat.html
Shawn Denbow et Jesse Herts pour leur article disponible ici - http://www.matasano.com/research/PEST-CONTROL.pdf M'a fait gagner beaucoup de temps.