👏 Раз-два — и готово. Генерируем FLIRT-сигнатуры
А делаем это, чтобы не тратить время на распознавание библиотечного кода PureBasic, на котором написан COM-DLL-Dropper группировки ExCobalt.
Для начала нам понадобится компилятор PureBasic. Скачав его и установив или распаковав, найдем все .lib-файлы. Далее нам понадобятся входящие в состав Flair инструменты:
—
—
С их помощью мы и сгенерируем сигнатуры. Чтобы автоматизировать создание PAT-файла, будем использовать BAT-файл со следующим содержимым:
После получения PAT-файла нам нужно преобразовать его в SIG-файл. Для этого выполним следующую команду:
Так как произошли коллизии при генерации сигнатур, получаем следующий список файлов:
— PureBasic_x86.err,
— PureBasic_x86.exc,
— PureBasic_x86.pat.
При отсутствии коллизий сразу получили бы готовый SIG-файл. Для их устранения нужно отредактировать EXC-файл. Пример коллизии:
Видим, что три функции имеют одну и ту же сигнатуру, — нам необходимо выбрать, какую из них использовать.
Слева, рядом с именем нужной функции, ставим +. В этом случае коллизия коснулась функций, идентичных по назначению, и мы можем выбрать любую:
Но бывает, когда она касается функций с совершенно противоположным назначением, — можно выбрать любую, но запомнить или записать ее: это пригодится, когда будет получен результат.
Нужно также удалить строку --------- в EXC-файле, чтобы выбор учитывался при повторной генерации сигнатур:
После того как действие будет проделано для всех коллизий, нужно повторить генерацию. Если все сделано правильно, мы получим SIG-файл. Его следует положить в:
#reverse #tips #ComDllDropper #ExCobalt #APT #TI
@ptescalator
А делаем это, чтобы не тратить время на распознавание библиотечного кода PureBasic, на котором написан COM-DLL-Dropper группировки ExCobalt.
Для начала нам понадобится компилятор PureBasic. Скачав его и установив или распаковав, найдем все .lib-файлы. Далее нам понадобятся входящие в состав Flair инструменты:
—
pcf
— парсер файлов .lib и .obj, создает PAT-файл из COFF-файлов.—
sigmake
— конвертирует ранее созданный PAT-файл в SIG-файл для IDA.С их помощью мы и сгенерируем сигнатуры. Чтобы автоматизировать создание PAT-файла, будем использовать BAT-файл со следующим содержимым:
@echo off
\path\pcf.exe -a \path\Debugger.lib
\path\PureBasic_x86.pat
\path\pcf.exe -a \path\libmariadb.lib
\path\PureBasic_x86.pat
...
После получения PAT-файла нам нужно преобразовать его в SIG-файл. Для этого выполним следующую команду:
\path\sigmake.exe -n"PureBasic_Windows_X86_LTS_6.03" \path\PureBasic_x86.pat \path\PureBasic_x86.sig
Так как произошли коллизии при генерации сигнатур, получаем следующий список файлов:
— PureBasic_x86.err,
— PureBasic_x86.exc,
— PureBasic_x86.pat.
При отсутствии коллизий сразу получили бы готовый SIG-файл. Для их устранения нужно отредактировать EXC-файл. Пример коллизии:
_PB_WriteFloat@8 0B 5366........E8........85C0742D83780400
_PB_WriteInteger@8 0B 5366........E8........85C0742D83780400
_PB_WriteLong@8 0B 5366........E8........85C0742D83780400
Видим, что три функции имеют одну и ту же сигнатуру, — нам необходимо выбрать, какую из них использовать.
Слева, рядом с именем нужной функции, ставим +. В этом случае коллизия коснулась функций, идентичных по назначению, и мы можем выбрать любую:
_PB_WriteFloat@8 0B 5366........E8........85C0742D83780400
+_PB_WriteInteger@8 0B 5366........E8........85C0742D83780400
_PB_WriteLong@8 0B 5366........E8........85C0742D83780400
Но бывает, когда она касается функций с совершенно противоположным назначением, — можно выбрать любую, но запомнить или записать ее: это пригодится, когда будет получен результат.
Нужно также удалить строку --------- в EXC-файле, чтобы выбор учитывался при повторной генерации сигнатур:
;--------- (delete these lines to allow sigmake to read this fil
; add '+' at the start of a line to select a module
; add '-' if you are not sure about the selection
; do nothing if you want to exclude all modules
После того как действие будет проделано для всех коллизий, нужно повторить генерацию. Если все сделано правильно, мы получим SIG-файл. Его следует положить в:
%IDA Home%\sig\pc
#reverse #tips #ComDllDropper #ExCobalt #APT #TI
@ptescalator