APT28 PixyNetLoader: исследователи выявили четыре подсемейства и новый метод стеганографии

APT

Группа APT28 продолжает совершенствовать свои инструменты для скрытого внедрения в инфраструктуру организаций. Последний анализ загрузчика PixyNetLoader, опубликованный командой Exatrack, показал, что за два года злоумышленники создали по меньшей мере четыре отдельных подсемейства этого вредоносного компонента. Самое новое из них, семейство C, использует принципиально иной механизм извлечения полезной нагрузки из PNG-файлов, что затрудняет обнаружение традиционными средствами.

Описание

Для проведения исследования специалисты изучили около 90 уникальных образцов PixyNetLoader, собранных с апреля 2024 года по апрель 2026-го. Сравнение кода по функциям и структурам позволило выделить три основные линии развития, а также одну аномальную, представленную множеством почти идентичных копий. Так, семейство A охватывает версии с декабря 2024 года по январь 2026-го, семейство B - с сентября 2025-го по март 2026-го, а семейство C впервые появляется в марте 2026 года. Отдельно стоит около 430 образцов семейства 58a6e3e4, датированных сентябрем 2025-го и отличающихся мелкими случайными правками, которые, вероятно, загружались одним и тем же пользователем на VirusTotal.

В типовой схеме атаки с использованием PixyNetLoader злоумышленники эксплуатируют уязвимости в офисных документах. Например, в феврале 2026 года применялась уязвимость CVE-2026-21509, содержавшаяся в вредоносном DOC-файле. После открытия документа выполнялся код SimpleDropper, который устанавливал на систему DLL-библиотеку PixyNetLoader и сопутствующий PNG-файл. Загрузчик закреплялся через COM-объект, то есть через механизм реестра Windows, позволяющий автоматически запускать код при обращении к определённому идентификатору класса (CLSID). Затем PixyNetLoader считывал пиксели из PNG и извлекал из младших битов (LSB) зашифрованную полезную нагрузку - программу-агент Covenant Grunt, которая выходила на связь с командным сервером через облачный сервис FILEN.

Стеганографический метод в ранних версиях был сравнительно простым: данные прятались в младших битах каждого цветового канала пикселя, и для расшифровки требовался лишь ключ, встроенный непосредственно в бинарный файл загрузчика. Семейство C, появившееся в марте 2026 года, использует гораздо более надёжную схему. В тело DLL встраивается секрет. Этот секрет преобразуется в SHA256-хеш, затем в нём переставляются байты. PNG-файл содержит соль (salt), вектор инициализации (IV) и зашифрованный заголовок, расположенные на определённых смещениях. Соль применяется для генерации ключа AES через функцию PBKDF2 HMAC SHA256 с 20 000 итераций. Полученным ключом расшифровывается заголовок, после чего проверяется магическая последовательность "HIDE". Если проверка прошла успешно, загрузчик считывает из заголовка смещение и размер полезной нагрузки, а затем извлекает и расшифровывает её тем же ключом. Вредоносный код выполняется прямо в оперативной памяти, не оставляя следов на диске.

Примечательно, что все обнаруженные на данный момент версии семейства C используют только нулевой режим LSB-извлечения, хотя в коде заложена поддержка ещё двух режимов. Эксперты полагают, что эти режимы могут быть задействованы в будущих модификациях. На это указывает и датировка самих PNG-файлов: внутреннее имя полезной нагрузки (например, ca_distr_15.04.exe.shellcode) часто совпадает по дате с меткой компиляции загружающей DLL, что говорит о быстром цикле создания образцов.

Предоставленный анализ платформы Exalyze позволил не только классифицировать образцы, но и создать универсальное YARA-правило, покрывающее все семейства PixyNetLoader. Исследователи обнаружили, что в подавляющем большинстве версий используются одни и те же функции шифрования строк. Эти функции присутствуют во всех подсемействах, иногда с незначительными вариациями. На их основе был построен детектор, распознающий код по характерным байт-паттернам. Дополнительно были разработаны правила, ориентированные на конкретные семейства: например, на функции работы с PNG-библиотекой в семействе A или на парсер PE-файлов в семействах B и C.

С практической точки зрения обнаружение PixyNetLoader возможно несколькими способами. Во-первых, сами PNG-файлы-спутники довольно стабильны по структуре, поэтому их можно искать в сетевом трафике или на хостах. Во-вторых, COM-ключи реестра, используемые для персистентности, немногочисленны и хорошо описаны. В-третьих, написанные YARA-правила позволяют выявлять как установленные DLL, так и подозрительные файлы в процессе сканирования. Также специалисты предложили поисковые запросы для платформы Exalyze, сочетающие общие характеристики образцов: плохие контрольные суммы и временные метки, 64-разрядная архитектура, наличие CRC32, компания Microsoft в VersionInfo, типичные признаки DLL с закреплением. Такие запросы помогают находить даже новые варианты, которые ещё не попали в базы антивирусов. Например, последние образцы семейства C обнаруживаются всего двумя движками на VirusTotal.

Особый интерес представляет то, что похожие по этим характеристикам образцы могут принадлежать не только PixyNetLoader, но и другим вредоносным программам APT28. В ходе поиска были найдены два образца SlimAgent и Graphite, также разработанные этой группой. Это подтверждает, что злоумышленники придерживаются единых привычек при компиляции и упаковке кода, что облегчает проактивное выявление новых семейств.

Несмотря на то, что полный анализ занял всего около шести дней, использование перекрёстного сравнения функций и автоматизированных YARA-правил позволило получить целостную картину эволюции загрузчика. Злоумышленники активно генерируют новые версии и используют их в атаках практически сразу после компиляции. Внедрение стеганографии с отдельным ключом для каждого PNG-файла значительно усложняет задачу обнаружения и требует от специалистов по безопасности адаптации методов поиска. Мониторинг появления новых версий и обновление правил остаются необходимыми мерами для защиты от этого инструмента.

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

MD5

  • 162f98e27b567c2d1dcf1a26ad3c4ddc
  • 1e8b4451ea7e06a50bf1cca90e233863
  • 29e2a7b7793275bcd0e5bdda4bdce2d1
  • 3e285ada61d5ede750b07ff79a8dac2d
  • 42b510520b574ba1086375730519fad9
  • 48d561ec2a60fcde704a52f7f0cd1f8b
  • 4ecb81d65056ff4c631ed412d17badd8
  • 650072184b3d32ae65a3b90abe5a991b
  • 653ccf5e6edb3e9fb519b747ef238606
  • 6b2e5dc05eeae55ef7ad6ba2c186d794
  • 6d7ddf39527c04c16523b74bd3d8b700
  • 79917408d8d43a665e99c4d046827c0d
  • 96c820dcf9be3092f9bbcaa999893db2
  • 9b8f31d6ac5b92b3041e586ccc43b41d
  • a6b6147a892c1d64a78a6d2a9086af59
  • a7f2aa814519714e32a30e58ee04691b
  • b05fa3e2fe9f9b43a64a97f31e936da6
  • b5a2251a7d96003a34d12175736535c3
  • dc1fcda71cf242410a38bd390a23df94
  • f5d0eb2e10479422403810649a6b4a54

SHA256

  • 0003699a517af0a969058d3ad971704c11bb8bca2cb79994fe55cfbe6425fb68
  • 0370fa7b7d47f40acd1a3f185a872136c9205d3066ca7d18151d41358aedc51d
  • 04fc885a264758b240151b893216b58d9cd9907906926f8a825cbbdf4b6301ef
  • 0673ddf92a0c4ac0826c87a776f12c50f907064611ecb81316c5b2bc6c270336
  • 0773a145bff130fa527ecbf80400a6d630fa5ec0a53f6a252a7cf62fb63cf8d5
  • 17c697082bb95d05d5e761ca4a9cfdd5ff10ff1a547a9639991924e8448f4d54
  • 1a8b12b856695db262d6159f66000ec5756b2270449d6cd8df36c31919cd70c4
  • 1e28ac7c1f1b33046b3faef828a03d7666f57f90c0d7c864a27736f965bfb047
  • 1f88553336b4f23581a99a0ff1bbfacfcd9c44ea60cd5330720726dba682aa1c
  • 2128151c685d55b01271cd51d7bd692c51085ac94c028c871944348b9acbe769
  • 2303c8c2d04b74e23ad36ab4bd8572d9182f3d7c696f1389e4e017656488c216
  • 28da9b18b06d59eede211e247e2a81b66a0cf12dea2ca442bc263c2f6e1c9135
  • 2adaccdd87760e05b6d7ee7dbbe705a6decad982f1813e248950c6169b10251f
  • 2b0865f33870663ae9df2f90418a85a46cebea5e47b062e2ef94cc815bec45db
  • 2b78afe14fd883435dffc43721382a355853e3c4ac5279d4ab9fac37b57f0502
  • 2d0d4db1933ebb7dae8e75fb256b9519784a7d542fa2f2acd33916604119cca4
  • 31093f23161e5945947d9f0d9c710e4fd6d142254a4d040ac5f205fe08c0a089
  • 32538331fb8a0159e5c71d6fa84be5bf3c14b7deb6ffee0276fa1898263b9cbd
  • 382659b350540100a050631ff12aa1b82efdb3319e92f2cfc93b553b100ae734
  • 393f9dd6f5cd44b7c34bec03d8cb32c4bebce29ccf74cb2c361258d3b9ba4acc
  • 39f24e078c66ed10702e31854211542d3d554af5d4c93bbe0bded9cf0349a759
  • 3b171233191191e393e2f1d4405e9259fd7791f4b4bf907439b7d68629791f36
  • 3db03895f1716c39ecc4b34a000049a520bf67101ce205c867b78907666a052e
  • 3e63952cdae714bcbdbf9a264e122c264f1f3e66d68cc6702ed1a8389153bb5c
  • 44ef866c8a5af6ab9e9e8bc51bcb9aed2fc125771c8d89aa05db5375a6a3b5c5
  • 46eb61fafe99d2ff405253571fee1b127ba01c79cbcbda52bdc7510914a309f1
  • 4771feca8632b1840c7a92d121d1afb8d7d00f042355d1bb20265c1655975be9
  • 4c18a1f2987ca6c56d585cc74eb96abd25f1aa64f33381a3d007ad1f1bba4e59
  • 4f59a15ec8954971503d0a14a31d849c1930096c31f53c8b01dee45659cdf324
  • 4fe2e88ccba9923b65123571378869606073d8a655587fef41db1710212687ba
  • 50b9cf048494a07be074e9fccf776dc9df5a502441378a6f83c1ba81b6ca3ee7
  • 51097128504da2399715cc752b05e180a33feed57b696c4768a1bc6c896157aa
  • 52b6fb40e7efb09c2bebe8550178e7e30009600bdedd1acae085d753761b7598
  • 57184dae6676e603e3984bbbe9be2b1ebf2c9bdc7b0b2ec460cc3e8258f963d8
  • 57253f322504e0a8256d46f31c19e228b8c55a14ee18e759936c71941c8ee4ad
  • 5771f7198b04eeaeec1ec3b6f4fbbd567e51b1dd14220298537903c03b912f06
  • 580cd001739f95c343c0b3f16ab2c274b54d126e1c35eaf3b7377add37435f22
  • 5c2a2c49e200a2d048f477440da75ff4a99c676943f6f7cac1ce70190520f998
  • 5c97ca26f02b88c7c0652c1569cf5b197be8d2de9ccccc93dc7aea7f7d54db4c
  • 61b7480735fecd07485804f03a9aec04714d5175ad95355b05dad1beed4f429d
  • 62a5e2f689fd5c1bd08222010413440174dc63c66136f6d40532ccc01ea634b4
  • 62d3b82ac3688b1c00adce7cd241de2a50c24caac4ed6b8e46b16da1266457eb
  • 64dc08cf36cb729aaa9d97d16c5aebd3a104e52f2a3f9b0a69299139cc2a137e
  • 693c9b517ab6a792bd32459650f08f62f9ade93c1aa23f2cec140da46d217aca
  • 6b90c20b712d2e0b03dd0f39532b185d564cbadf54d360f62862a755d0397cf7
  • 6bedc8e0ae61475115b21f3d7a2237797969cefa5b2286c3ada455e4a8a3dc64
  • 6c5d347e298810b576b02aa45f04659679b20be6f26cb3c8d60a6fb04d86365d
  • 6c8fdba3b96fa419afcd9ee61bee1eaa819ae9f0202cd3e2f22cca230aaee34b
  • 6eddc1343d2ae7a102bf268673fc35fbc0639be4c501589a847f94efcc81ac71
  • 7137be6bf1a84c69e4ea868727d39997ebb1a9c75401cea0aa60ccd392e6a4ad
  • 724873377aee2ca23771a9c85fb60a2a041e17d7b460fb14564dec04a2da3b48
  • 77e243d607f21f69cf8e1e5400c0fca6a250a4632e29a09f0faf9c347da54cd1
  • 7acb7ed2c8609d235d356a17058684fcf39beaa492f1369897ceeb7b71f5ff0a
  • 7bb241f88dce49ac7ff73ad27b9168b7103c669d22861ecb03318a4f29f281c4
  • 7cfab5f53bbbd05c3d123393f2a6b41ff3cd46821b902d0b3eddd65b6476a99d
  • 7d2d930af3c220ecc459e5006bf9ecf156bd4dc634707818df90d5fb666e1912
  • 7f5ac522a92a0e13cea771a482d69aace7df83c9340f1a069acbe5dd3afc7dfe
  • 808e0684bf4a13d807d2c47c60ce694f0501a1fcdf1e9e3533eda653d4f543aa
  • 8401a652a02de429dd4a707d4f8f6853c0d966cee73289a20e48f2fc1da224f9
  • 888693138a8c88da46dc9143689c223531873250245c7e58683e2ecfa282a814
  • 88e28107fbf171fdbcf4abbc0c731295549923e82ce19d5b6f6fefa3c9f497c9
  • 8a076877e1feeadfd105507e9785ea61d8cdecce9ba462323d7c27c3e0c278bf
  • 8c1dc9732884c6078b23953b78314a8d0d8b8d9fe42e5f97a7cd09b8ace943a9
  • 8f049b3a100747167eb87fb3a134e446d9057f179b4f334a5a4006369605095a
  • 9231d148284b864995e35c09552a9e1cc4783e537f39d5be5e162291038c2fb3
  • 92475b3aa4893906442f4131566f364d6da856e2e07b8fa81591e107d2854423
  • 9a86a328e2f9ce538560b0a67f4f1e385ccb1092ee69e153e610c475c5e3e142
  • 9aea0a84e91d8dc08896ad55aafd4623de2329fed2201abb48b27d709be15fe4
  • 9c56917269d76bb4be4a8f51c423c44a411a628ab286c2a58f5b54345d0e000e
  • 9c57572ea3d05769c5e32f532f99ae9f440de7bd14fcff6b32077d562aaeccae
  • 9cfd08c6cd5198e6374b504c2e177336cc61b2e51573d175f0e49ce791e745b0
  • a5729b6e36c0ab4798db5004700a1fe843f4d1b0811023c47b7b2972befb6360
  • a876f648991711e44a8dcf888a271880c6c930e5138f284cd6ca6128eca56ba1
  • aa6faf830fd9757b7d9bf813df5d2c165c5d12556f7f4d57a7d95306e8317e6e
  • ab68161147a5436b262afd7ecfeda4cc1d42598115b638dd98d6f105fcf2a534
  • b67f3d7c8332875866c3703174f11a3a773d00b98e80d3d4ed5e5450c32faf69
  • bc2dbf203f434b41700c551bb282f017fada9f8eefa807712f103f97ab6173e2
  • bc4dc9d7192730671be33b6e82bb701b5b52421fee7d57c975dc67243809ce25
  • bd08e75c8e847f507ae2e0d1fed5caed68ac61ffa64cc8fefb89c0ea5e291ec7
  • bfbdf988ddc110d67abc83d0361f97066114fdc96ad9d89338d2f68d51b25229
  • c177649197c6d2dc9b37007f72079d4f55ca53f372defc95fbb69f99e5980767
  • c1c8b70653f06a193285fba2ba1819ade2c05c9c80c734454cf61ccde685a744
  • c48b0301102857dab6e74ad4fd4194bf803c793448616ec9ff31a8524877c1d9
  • c4e0c9a14820ecc4227a174c42d832e40ccd169aed4a10082decc06116c489ee
  • c6f13923f1310433b6271096957e71943543b7e41522367e4e855e653bf1c5a5
  • c752290553f23dc6dc3d0e78581b7a20c78571092895129513d0c195f6de360f
  • c7ca1d62f5d041aa94516cc2372f8fe222cd4d026dcba5420dd17401ff870dae
  • cdbfcd4f70ba216a366f09b964535f2fa59380ae7afae415f1e693dac21d7781
  • ce5a0cb1980b777c9db820ed172ff943ced1ff0ad88b6d9605f843f7b7824caa
  • d4a7a3f60428d400ed4e544df4b200e8f867536279c37b388ab515d74a0e069c
  • d79e76346700d5bef67221a1f2c524fe9826f549100dab3378e97d7c8c8e92f5
  • df681847973c4efd78eacef962ddb404c6eec52e40512c68735c0fcd4b1ab377
  • dfeed404edb6809f4212b3856f1834844e05df7ea901d915f86a634f756e6624
  • e130181a1a6b96df49ac78786a358b7b22410f477ad112e0880480522f04e2a8
  • e59af29f66b1e8e4b4e42c74acc112c6e42ec0154c26e7b367c59e0797fa6013
  • e5a4f511763954392dc70a56a8106920715a9d6132774eaafd13ca40136908fa
  • e6f29c0ab5e42088eae7834616eb7a7ade3d17d8d89117cc3ec67b13d16a6eb4
  • e8c9123d1539a28c89dff7365ecc760440cd48b94639aa0eecae44ca84bc7eff
  • f066bcbc45151fdfe2f2921dd7cb4a09ed583f514ca62960263623365465553f
  • f3183573c84183bcb4dd72d072210ebca2104c2dbd917c2d3762ea8a3db9603f
  • f611a21a95bfa8253c32416bb3505d21d5c21722ea293a3451d3eb831125ba25

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

 

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