
Декодеры на Python для распространенных троянов удаленного доступа
Malconf — это библиотека на Python 3, предназначенная для статического анализа определённых семейств вредоносных программ и извлечения конфигурационных данных, которые могут быть использованы специалистами по реагированию на инциденты во время инцидента.
Будучи библиотекой, её также можно установить в автоматизированные конвейеры анализа вредоносных программ.
Существуют некоторые предварительные зависимости, которые включены в установку через pip и в файл requirements.txt:
Для всех декодеров потребуются yara и yara-python. Для работы с вредоносными программами на .NET необходимо установить yara-python с поддержкой 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
Вот список поддерживаемых на данный момент RAT:
С помощью прилагаемого инструмента командной строки malconf можно передать один файл или каталог с флагом -r, и он автоматически попытается определить семейство и извлечь конфигурацию.
Вы также можете использовать опцию -o для записи результатов в файл.
malconf
malconf -l — выведет список всех поддерживаемых RAT.
malconf /путь/к/образцу — автоматически определит семейство и запустит декодер.
⇒ 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',
Если вы установили через pip, вы также можете использовать её как библиотеку.
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)
Вся благодарность — тем, кому она причитается.
Malware.lu за первоначальное описание Xtreme RAT — https://code.google.com/p/malware-lu/wiki/en_xtreme_RAT
Fireye за описание Poison Ivy и Xtreme RAT (даже несмотря на то, что они проигнорировали мои твиты :-) ) — http://www.fireeye.com/blog/technical/2014/02/xtremerat-nuisance-or-threat.html
Shawn Denbow и Jesse Herts за их статью по ссылке — http://www.matasano.com/research/PEST-CONTROL.pdf Сэкономили мне кучу времени.