logo Хроники кибер-безопасника

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 ‎предоставляет ‎мощный‏ ‎инструмент‏ ‎для ‎ускорения‏ ‎процесса ‎анализа.‏ ‎Это ‎помогает ‎устранить ‎путаницу ‎в‏ ‎именах,‏ ‎применить ‎структуры‏ ‎к ‎строкам‏ ‎и ‎упорядочить ‎функции, ‎тем ‎самым‏ ‎делая‏ ‎процесс‏ ‎реверса ‎более‏ ‎эффективным ‎и‏ ‎целенаправленным.

Предыдущий Следующий
Все посты проекта

Подарить подписку

Будет создан код, который позволит адресату получить бесплатный для него доступ на определённый уровень подписки.

Оплата за этого пользователя будет списываться с вашей карты вплоть до отмены подписки. Код может быть показан на экране или отправлен по почте вместе с инструкцией.

Будет создан код, который позволит адресату получить сумму на баланс.

Разово будет списана указанная сумма и зачислена на баланс пользователя, воспользовавшегося данным промокодом.

Добавить карту
0/2048