новости
July 5

Nimfilt: Когда авторам нужен ещё один язык, чтобы усложнить жизнь

Ключевые функции

📌Имена функций и пакетов: Nimfilt устраняет путаницу в именах функций и пакетов, специфичных для Nim, что делает их более удобочитаемыми и простыми для анализа.

📌Имена функций инициализации пакетов: Он также устраняет путаницу в именах функций инициализации пакетов Nim.

📌Строки Nim: Nimfilt применяет структуры в стиле C к строкам Nim, что помогает интерпретировать структуры данных в двоичном формате. Это включает в себя определение длины и полезной нагрузки строк.

📌Плагин IDA: Nimfilt можно использовать в качестве плагина IDA, где он упорядочивает функции по каталогам на основе имени их пакета или пути к нему. Это помогает структурировать процесс анализа.

📌Автоматическое выполнение: Плагин можно настроить на автоматическое выполнение при загрузке двоичного файла Nim, установив для глобальной переменной AUTO_RUN значение True.

📌Идентификация двоичных файлов Nim: Nimfilt использует эвристику для определения того, является ли загруженный файл двоичным файлом Nim, проверяя наличие определенных строк и имен функций, связанных с Nim.

📌 Правила YARA: Он включает правила YARA для идентификации двоичных файлов ELF и PE, скомпилированных в Nim.

📌Интерфейс командной строки (CLI): Скрипт на Python: Nimfilt может быть запущен как скрипт на Python в командной строке, предоставляя часть своих функциональных возможностей за пределами IDA.

📌Организация функций: В IDA Nimfilt создает каталоги в окне функций, чтобы упорядочить функции в соответствии с их именем пакета или путем к нему, улучшая читаемость и управляемость анализа.

Сценарии

Nimfilt использовался в различных реальных сценариях, в частности, при анализе вредоносных программ, написанных на языке программирования Nim.

Sednit Group:

📌Background: Группа Sednit, также известная как APT28 или Fancy Bear, является хорошо известной группой, занимающейся кибершпионажем. Они действуют по меньшей мере с 2004 года и ответственны за несколько громких атак, включая взлом Национального комитета Демократической партии (DNC) в 2016 году.

📌Использование Nim: В 2019 году было замечено, что Sednit использовал вредоносный загрузчик, написанный на Nim. Это стало одним из первых случаев использования Nim при разработке вредоносных программ.

📌 Роль Nimfilt: Nimfilt использовался для реверса вредоносной программы, скомпилированной с помощью Nim, помогая аналитикам понять структуру и функциональность загрузчика, разбирая имена функций и пакетов и применяя соответствующие структуры данных к строкам.

Mustang Panda APT Group:

📌Background: Mustang Panda — это китайская группа Advanced Persistent Threat (APT), известная своей деятельностью в области кибершпионажа. Они использовали Nim для создания пользовательских загрузчиков для своего бэкдора Korplug.

📌Конкретный инцидент: В августе 2023 года Mustang Panda использовала вредоносную библиотеку DLL, написанную на Nim, в рамках своей кампании против правительственной организации в Словакии. Эта библиотека была частью их классического загрузчика trident Korplug.

📌Роль Nimfilt: Nimfilt сыграл важную роль в анализе этой библиотеки DLL. Разобрав названия и распределив функции по каталогам, Nimfilt упростил исследователям анализ вредоносного ПО и понимание его поведения.

Общий анализ вредоносных программ:

📌 Популярность Nim: Язык программирования Nim становится все более привлекательным для разработчиков вредоносных программ благодаря своему надежному компилятору и способности легко работать с другими языками, такими как C, С++ и JavaScript. Это привело к росту количества вредоносных программ, написанных на Nim.

📌Вклад Nimfilt: Для исследователей, занимающихся реверсом двоичных файлов, Nimfilt предоставляет мощный инструмент для ускорения процесса анализа. Это помогает устранить путаницу в именах, применить структуры к строкам и упорядочить функции, тем самым делая процесс реверса более эффективным и целенаправленным.

Подпишись TG & Boosty