
Python-Decoder für gängige Remote-Access-Trojaner
Malconf ist eine Python3-Bibliothek, die verwendet werden kann, um bestimmte Malware-Familien statisch zu analysieren und die Konfigurationsdaten zu extrahieren, die von Incident Respondern während eines Vorfalls verwendet werden können.
Als Bibliothek kann es auch in automatisierte Malware-Analysepipelines installiert werden.
Es gibt einige Voraussetzungen, die im Pip-Setup und in der requirements.txt enthalten sind.
Für alle Decoder benötigen Sie yara und yara-python. Für die Verarbeitung von .NET-Malware müssen Sie yara-python mit Dotnet-Unterstützung installieren.
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
Hier ist eine Liste der derzeit unterstützten RATs:
Mit dem mitgelieferten Befehlszeilenwerkzeug malconf können Sie eine einzelne Datei oder ein Verzeichnis mit dem Flag -r übergeben, und es wird versuchen, die Familie automatisch zu erkennen und alle Konfigurationen zu extrahieren.
Sie können auch die Option -o verwenden, um Ergebnisse in eine Datei zu schreiben.
malconf
malconf -l Dies listet alle unterstützten RATs auf.
malconf /path/to/sample Dies erkennt automatisch die Familie und führt den Decoder aus.
⇒ 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',
Wenn Sie pip install verwenden, können Sie es auch als Bibliothek nutzen.
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)
Volle Anerkennung, wo Anerkennung gebührt.
Malware.lu für den ursprünglichen xtreme Rat Writeup - https://code.google.com/p/malware-lu/wiki/en_xtreme_RAT
Fireye für ihre Poison Ivy und Xtreme rat WriteUps (Auch wenn sie meine Tweets ignoriert haben :-) ) - http://www.fireeye.com/blog/technical/2014/02/xtremerat-nuisance-or-threat.html
Shawn Denbow und Jesse Herts für ihr Paper hier - http://www.matasano.com/research/PEST-CONTROL.pdf Hat mir viel Zeit erspart.