Группировка Void Dokkaebi перевела вредоносные скрипты в бинарные модули, чтобы обойти защиту

APT

Северокорейская группа Void Dokkaebi (известная также под именем Famous Chollima) изменила тактику доставки и сокрытия своего вредоносного инструментария. Ранее исследователи фиксировали использование чистых скриптов на языке Python, но теперь злоумышленники перешли на компиляцию в бинарные файлы с помощью инструмента Cython. Это решение позволяет обходить сигнатуры, настроенные на поиск текстовых скриптов, и существенно усложняет анализ вредоносной нагрузки.

Описание

Void Dokkaebi целенаправленно атакует разработчиков программного обеспечения, которые имеют доступ к криптовалютным кошелькам, ключам подписи, конвейерам непрерывной интеграции и поставки (CI/CD), а также к продуктивным системам. Традиционный вектор атаки - фальшивые собеседования от лица рекрутеров криптовалютных и AI-компаний. Кандидатов просят клонировать репозитории с кодом и выполнить их, что приводит к заражению.

Основной вредоносный пакет InvisibleFerret, который раньше распространялся в виде читаемых Python-скриптов, теперь поставляется как .pyd-файлы (расширения Python в формате DLL) на Windows и .so-файлы (разделяемые библиотеки) на macOS. Cython переводит исходный код на Python в код на C/C++, а затем компилирует его в нативный бинарник, увеличивая скорость выполнения и одновременно скрывая логику работы. Такие бинарные модули не являются самостоятельными исполняемыми файлами: для их запуска требуется интерпретатор Python и специальный скрипт-загрузчик.

Сложность обнаружения выросла. Если раньше защитные решения могли найти вредоносный код простым текстовым поиском, то теперь для идентификации угрозы требуется анализировать бинарные артефакты. Кроме того, IP-адреса и порты командных центров могут быть не зашиты в самом модуле, а передаваться через аргументы командной строки скрипта-загрузчика. Это означает, что без этого скрипта восстановить инфраструктуру злоумышленников из одного бинарника не всегда возможно.

Специалисты TrendAI Research в новом отчёте подробно описали эволюцию как InvisibleFerret, так и сопутствующего загрузчика BeaverTail. Последний также претерпел значительные изменения: он больше не является просто загрузчиком и похитителем данных, а теперь выполняет функции, дублирующие InvisibleFerret. BeaverTail получил собственные модули бэкдора, кражи данных из браузеров и установки троянизированных криптовалютных кошельков. При этом сохранилась и способность загружать бинарные модули InvisibleFerret.

Процесс заражения выглядит следующим образом. BeaverTail (JavaScript-модуль) скачивает с командного сервера бинарный файл (mod.pyd или mod.so), затем создаёт на диске Python-скрипт с расширением .mod, который импортирует этот модуль и передаёт ему в качестве аргументов идентификатор типа, закодированные IP-адреса и номер порта. Сам Cython-модуль внутри себя разворачивает и выполняет исходный код InvisibleFerret. Несмотря на компиляцию, ядро деобфускации осталось прежним: специалисты подтвердили, что внутри бинарников можно восстановить строковые таблицы, путь сборки и даже исходные файлы .pyx и .c. Например, на macOS были обнаружены пути вида "/Users/administrator/Pictures/Work/py_module_work/build/...", что указывает на среду компиляции.

Разработка группы находится в активной стадии. В одном из модулей (any.py) обнаружены неполные определения переменных и устаревший код декодирования, что говорит о незавершённом переходе на Cython. Кроме того, пока только модуль mc.so удаляет свой скрипт-загрузчик после использования; исследователи ожидают, что остальные модули вскоре также получат эту функцию, что дополнительно усложнит поиск командных серверов.

Особое внимание стоит уделить модулям троянизированных криптовалютных кошельков. Если раньше InvisibleFerret (mc) поражал только MetaMask, то теперь под атаку попали также Coinbase Wallet и Phantom. Для установки вредоносного расширения злоумышленники понижают версию Chrome на macOS, обходя тем самым принудительный перевод Google на Manifest V3, который не позволяет перехватывать транзакции криптокошельков. Brave Browser также является целью.

Для защитников это означает необходимость перехода от детектов, основанных только на сигнатурах для скриптов, к бинарной аналитике. Следует обращать внимание на загрузку .pyd и .so файлов, особенно в контексте activity, связанной с разработкой. Также стоит учитывать возможные модификации расширений браузеров.

Группировка Void Dokkaebi, по всей видимости, продолжит совершенствовать оба вредоносных инструмента. Сосуществование BeaverTail и InvisibleFerret с сильно пересекающимся функционалом вызывает вопросы, но использование общего командного сервера указывает на то, что авторы группируются по языкам программирования. Вероятно, в будущем мы увидим расширение списка поражаемых кошельков и усиление методов сокрытия.

Индикаторы компрометации

IPv4 Port Combinations

  • 45.43.11.245:1243
  • 45.43.11.245:1245
  • 45.43.11.245:1247
  • 45.43.11.245:1248

URLs

  • http://45.59.160.199:1244/brw
  • http://45.59.160.199:1244/brw1
  • http://45.59.160.199:1244/c/gbNsMq7
  • http://45.59.160.199:1244/clw/gbNsMq7
  • http://45.59.160.199:1244/clw1/gbNsMq7
  • http://45.59.160.199:1244/du
  • http://45.59.160.199:1244/keys
  • http://45.59.160.199:1244/mc1
  • http://45.59.160.199:1244/o/gbNsMq7
  • http://45.59.160.199:1244/pad
  • http://45.59.160.199:1244/pad1
  • http://45.59.160.199:1244/uploads
  • http://45.59.160.199:1244/z/gbNsMq7
  • http://45.59.160.210:1244/brw
  • http://45.59.160.210:1244/brw1
  • http://45.59.160.210:1244/c/trJnMn9
  • http://45.59.160.210:1244/clw/trJnMn9
  • http://45.59.160.210:1244/clw1/trJnMn9
  • http://45.59.160.210:1244/keys
  • http://45.59.160.210:1244/mc1
  • http://45.59.160.210:1244/o/trJnMn9
  • http://45.59.160.210:1244/pad
  • http://45.59.160.210:1244/pad1
  • http://45.59.160.210:1244/uploads
  • http://45.59.160.210:1244/z/trJnMn9
  • http://45.59.160.211:1244/brw1
  • http://45.59.160.211:1244/clw1/reCgNg6
  • http://45.59.160.211:1244/keys
  • http://45.59.160.211:1244/mc1
  • http://45.59.160.211:1244/pad
  • http://45.59.160.211:1244/pad1
  • http://45.59.160.211:1244/uploads
  • http://45.59.160.211:1244/z/reCgNg6
  • http://45.59.163.50:1244/ddo
  • http://45.59.163.50:1244/mmz/acmacodkjbdgmoleebolmdjonilkdbch_gbNsMq7
  • http://45.59.163.50:1244/mmz/acmacodkjbdgmoleebolmdjonilkdbch_trJnMn9
  • http://45.59.163.50:1244/mmz/bfnaelmomeimhlpmgjnjophhpkkoljpa_gbNsMq7
  • http://45.59.163.50:1244/mmz/bfnaelmomeimhlpmgjnjophhpkkoljpa_trJnMn9
  • http://45.59.163.50:1244/mmz/nkbihfbeogaeaoehlefnkodbefgpgknn_gbNsMq7
  • http://45.59.163.50:1244/mmz/nkbihfbeogaeaoehlefnkodbefgpgknn_trJnMn9
  • http://45.59.163.50:1244/pd2
  • http://66.235.168.20:1244/h
  • http://66.235.168.20:1244/t
  • http://66.235.168.20:1249/hm
  • http://66.235.168.20:1249/t

SHA256

  • 0397d0678bef6721bb123eb9f957022abc4538835b4c9be62ca6604e0a2ac039
  • 14749e579e0b6e1429bc75e0816dccd8f8007da8e80fbbf046bfd198dde80835
  • 1b911d1ed5c6624a160f8601f6b6cff678707eaff8bfa4a7b12472e5e7b8c82f
  • 1f43c3940b1c05b5de5f56a7dba16276b1843993970c09d803d487e7a8f4cdee
  • 429dec1abbef575c8540201c61c03096f25df4d548c5a22b73d824e7659d6e32
  • 4fcdeb290cb7b0d9dbb0f1018eecceebd37a479fa16fb9308b456bfcfa59ceb8
  • 5673a8d36aaae43799831e81736022c16d84342a3699b3ea7e9f8f4c8414e91c
  • 6055212de884b78d0730d520f01d3961136b171554afe8acb71e83413f444716
  • 634c4200baaa999e479c618af42bb3bed11e6795486476c81b048c224d4b5c08
  • 6a81d8041de41d796be6bdb1dd75c4d0e1624fc6074ab667097c6b0a3f9a462e
  • 6aa985715d4fbeb6b19022c10f7a3cb8e100ae164dfa417cc52775d1b4434d15
  • 728486086331ee4d63050d9c81fbbc5b2a14eadecbb27a978ce71cafbb97e891
  • 7fe6daaedbcacf14f1168d4652ae0d987e9ec83db1c01eb0a87a822012a9360a
  • 812299610b383b54b3645afcc7ad014276ec98a4c0255182ce917a3817d8c841
  • 84a8e051a7687d3dfbe88648726e85b79d7bf7f031f9d2f6615e3d45b8700af9
  • 8a2c2194bf9e71847ca2c97c898803417b0c99b3824a4707c647fbfb7413d921
  • 8c159dc15cba44ca6e0c42b9d6d1cc301316833d613369e9a71b3015758264c5
  • 947521bf9fea9b75656400ee5e0602083c471951853d967dc55b132234d46e31
  • 968db31fc33a6c42fa82f7459c2ad7d0ca2ad92b61dfcd53e1b946dd7e9d6fcb
  • 9f0235c6698219e7c414720384a48c8399da232344e2a9d5f4a129a8e875464e
  • a3f03e23059bc2f58f6d990e737aa1e7a2fe0ce966b3c95f73cb774c50d4d4e1
  • b23ebdd465525d3f943eefbba8818c5d9025ef4b402f96d4806c6310899c37d2
  • b4cc5337882da500899770fdb2314223afba4399bf283a92924590a270d1ce9b
  • b8a9804ffd137fddc1d187b4747dc0535c32927ee5e61465f12448b08f2ce07f
  • bf2ca7da5c2285cdeeabe296e99ad2d774151856f788ea32d811046891a9f027
  • c53f3591142b4742b14ad43733a800fc2c1f17d64c7625965d685e74bdaf33c6
  • d65911de9ba5e52e174627f755590df0fe4f051b63a117cfce8a77fcc03893bf
  • d6babcdca4e5bff5417b8030b73c04923e7a6decf53ae1f6bcb29950290e3b6e
  • ddb1d1b587f0be504f8c58f1f90e78b13b4d56b3e11312eab631773d584b2882
  • df515c24bd0d3500316d24f8357afd8b60ea69e92755fd40e53097d5ad01df38
  • e884fe5353849eda5d94d4479118283a06d49a85ec83f0dbc39a10aa1d1b7397
  • f298b8e7f7c4c0c394f29f848c1483679d15eb095e8cc7c67e5a3599ad4bcca2
  • f2df45291e4c0083f13d69e8ebb29b2558b2c92daf89980a31ae5f77b5fc1c12
  • f96cb2c582ec43aa230df086acc1824ec577f342ec7c0c6c88be17383ec52303
  • ffb7cf05927dbf664acf597902d2c4ff8a39cf77ed82438587eb804051eed8d7

Комментарии: 0