
Decodificatori Python per Trojan di Accesso Remoto Comuni
Malconf è una libreria python3 che può essere utilizzata per analizzare staticamente specifiche famiglie di malware ed estrarre i dati di configurazione che possono essere utilizzati dai responditori di incidenti durante un incidente.
Come libreria, può anche essere installata in pipeline automatizzate di analisi malware.
Ci sono alcuni prerequisiti inclusi nel setup pip e nel requirements.txt
Per tutti i decoder avrai bisogno di yara e yara-python. Per gestire il malware .NET dovrai installare yara-python con supporto 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
Ecco un elenco dei RAT attualmente supportati:
Usando lo strumento da riga di comando fornito malconf puoi passare un singolo file o una directory con il flag -r e tenterà di rilevare automaticamente la famiglia ed estrarre qualsiasi configurazione.
Puoi anche usare l'opzione -o per scrivere i risultati in un file.
malconf
malconf -l Questo elencherà tutti i RAT supportati
malconf /path/to/sample Questo rileverà automaticamente la famiglia e eseguirà il decoder
⇒ 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 installi tramite pip puoi anche usarlo come libreria.
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)
Tutti i crediti dove sono dovuti.
Malware.lu per il writeup iniziale su xtreme Rat - https://code.google.com/p/malware-lu/wiki/en_xtreme_RAT
Fireye per i loro writeup su Poison Ivy e Xtreme Rat (anche se hanno ignorato i miei tweet :-) ) - http://www.fireeye.com/blog/technical/2014/02/xtremerat-nuisance-or-threat.html
Shawn Denbow e Jesse Herts per il loro paper qui - http://www.matasano.com/research/PEST-CONTROL.pdf Mi ha risparmiato un sacco di tempo