Лазарь в маске рекрутера: Cеверокорейские хакеры атакуют разработчиков через поддельные собеседования

APT

Исследователи компании ReversingLabs обнаружили новую ветвь кампании кибершпионажа, которую проводит северокорейская хакерская группа Lazarus. Кампания, получившая название graphalgo по первому пакету, загруженному в репозиторий npm, активна с начала мая 2025 года. Это скоординированная атака, нацеленная на разработчиков JavaScript и Python с помощью поддельных предложений о работе в сфере криптовалют.

Описание

Злоумышленники выходят на связь с жертвами через социальные сети, такие как LinkedIn и Facebook*, или публикуют вакансии на форумах вроде Reddit. Кампания включает в себя продуманную легенду о компании, работающей в области блокчейна и криптовалютных обменов. Вредоносная функциональность скрыта за несколькими уровнями косвенности с использованием публичных сервисов, включая GitHub, npm и PyPI.

Обзор компании

Модульная архитектура атаки

Особенностью кампании graphalgo является её модульность. Это позволяет злоумышленникам поддерживать активность атаки, даже если некоторые её компоненты будут раскрыты. Кампанию можно разделить на несколько частично независимых активностей.

Центральным элементом является поддельная компания. В данном случае она называлась «Veltrix Capital», однако вероятно существование и других подобных организаций в рамках этой же кампании. У компании был создан базовый сайт и организация на GitHub. После возможного компрометирования этой легенды в октябре 2025 года появилась новая организация "veltrixcapital", ведущая на домен "veltrixcapital[.]ai". Её веб-страница и аккаунты в соцсетях наполняются контентом, похожим на сгенерированный искусственным интеллектом, что, вероятно, служит для создания видимости легитимности.

Подлинная вредоносная нагрузка внедряется не напрямую, а через зависимости в открытых репозиториях пакетов. В рамках кампании были опубликованы репозитории с тестовыми заданиями для «собеседований», например, "test-url-monitoring". Эти проекты на Python и JavaScript сами по себе не содержали явного вредоносного кода. Однако в файле зависимостей, например "package.json", могла присутствовать ссылка на вредоносный пакет, такой как "graphnetworkx". Когда разработчик, выполняющий тестовое задание, устанавливал зависимости, вредоносный код попадал на его машину. Такой подход перекладывает основную нагрузку с дорогостоящих технических изменений на дешёвую социальную инженерию.

Механика вербовки и вредоносные зависимости

Жертв находили разными способами. Некоторые видели рекламу вакансий в группах Facebook* или на Reddit. Других напрямую находили и добавляли в LinkedIn рекрутеры. Неясно, являются ли эти аккаунты поддельными или злоумышленники нанимают реальных рекрутеров для большей убедительности.

Вредоносные пакеты, используемые в кампании, можно разделить на две группы. Первая - пакеты с «graph» в названии, которые начали появляться в мае 2025 года и имитировали легитимные библиотеки. Вторая - пакеты с «big» в названии, появившиеся в декабре 2025 года. Примечательна тактика терпения. Пакет "bigmathutils" целый месяц существовал в безвредной версии, набрав более 10 тысяч загрузок. Только 11 февраля была опубликована версия 1.1.0, содержащая вредоносную нагрузку. Вскоре после публикации эта версия была удалена с npm, а автор объявил пакет устаревшим, что, вероятно, было попыткой скрыть факт взлома.

Финальная нагрузка и связь с Lazarus

Вредоносные пакеты действуют как загрузчики для финальной полезной нагрузки - трояна удалённого доступа. Этот RAT периодически связывается с командным сервером для получения и выполнения команд, таких как загрузка файлов, список процессов или выполнение произвольных инструкций. Интересной деталью является защита коммуникации с C2-сервером с помощью токена, что ранее наблюдалось в атаках, связанных с северокорейскими группами. Кроме того, троян проверяет наличие криптокошелька Metamask, что прямо указывает на финансовый интерес злоумышленников.

Атрибуция кампании группе Lazarus основана на ряде характерных техник. Среди них использование поддельных собеседований в качестве вектора атаки, фокусировка на криптовалютной тематике, многоэтапное вредоносное ПО с несколькими слоями шифрования, тактика терпения при публикации вредоносных версий пакетов, а также временные метки коммитов в Git, соответствующие часовому поясу КНДР (GMT+9).

Выводы и угроза

Кампания graphalgo демонстрирует высокий уровень изощрённости. Её модульность, долгосрочный характер, терпение в выстраивании доверия и сложность вредоносного ПО указывают на работу группировки, спонсируемой государством. Lazarus, по всей видимости, остаётся самым активным субъектом угроз, атакующим популярные репозитории открытого исходного кода. Их след постоянно присутствует в этих экосистемах. Модульный подход позволяет легко менять «фронтенд» кампании, не трогая «бэкенд» с вредоносными нагрузками. Прямая связь между пакетами «graph» и предложениями работы от «Veltrix Capital» очевидна. При этом «фронтенд» для пакетов «big» и недавно обнаруженная VBS-версия трояна пока не раскрыты, что говорит о том, что кампания продолжается и останавливаться не собирается.

* Компания Meta и её продукты (включая Instagram, Facebook, Threads) признаны экстремистскими, их деятельность запрещена на территории РФ.

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

Domains

  • aurevian.cloud
  • codepool.cloud

SHA1

  • 00c3c60aea42bc85ab4166caf00a9da9dfcd31ad
  • 033555f315d1ce6e63eda1e6e6821d481d163865
  • 03609909b138f75bec5b52732eb512118cc68cda
  • 0365f525ea5618d9564c30671b18e9bf3b917e1c
  • 052c278f727292d779e9cf2465c9065a55b49546
  • 06b9793ebe4805807f05b2f49a4b2f8161047f97
  • 091de0f6c0a7d4713c83819a538a553ad2e3bb73
  • 09ff80412f707fecc242b18ac232b18e93dbab27
  • 0b30a1b7f0a2d23eac10e844ef489e7e1117a867
  • 0bb0148df7c183be5322ed0529182a06a2ca5cf3
  • 0be039e3391b2904d6d015b4974939d32c109605
  • 10b958180dc3f9e3cce02a8fab86cb5099746ce4
  • 12198337384feec6a71260fddde961b5f30e64a2
  • 134dfb95bd64b371b66b34b8f30ad2181938244d
  • 142268facd71d20feabea97f8867cb505306e26d
  • 167b9822840628479524a35424ec2429ba3595cb
  • 16aa31d991b25a5e498d7101ef9891b211ecafbf
  • 18f60badb67c98b4ef70f07aff2b3d579cf1e68f
  • 1988d1afd33f98d9a0a87c082fde2c59083f3759
  • 1beb37c7d100e5a8fede590a2aeb08cda237b3e2
  • 1c11118bbbe0944c99c6130154aae7a49183ab96
  • 1c3fdc5fe2ca46db9d27b4aa25e3a7684af5bfc0
  • 1d3d040f3cc2bd4de04f906d4f84d891c4125913
  • 1f4f73d8b599a6e4176149b69500b30b3396b201
  • 20a7e464276f4e1a5338230522a446ca7ffba486
  • 20c4e927e172a60799c47f71cfaf6b5e82faba64
  • 20eaf2e2913ba6017446e16df1f3f1b9ea69e721
  • 2283aefe0d59b37af0ce86465b0e770d0ffc364b
  • 2478ecadb46d4d18706c68b1a4a6a493d8eff51c
  • 249ad4622d3046892f819cd0094c056694dcef57
  • 254ef870c2e48a15ffc577a6bc9a3de7c68099ce
  • 269ec49a563433993cd216ef5dddd0f923de97b7
  • 26ab088510f0e3fad1280d2d4d6934268a7dd4d1
  • 28f34f5b52b0c307c30a6721bb137eced2e167e9
  • 296461bd731f418b8df36f109c30de0bd4aed573
  • 29ce03eb28cc848e15e5ad9919ce4c263a2cbfd0
  • 29d7e8ec66426b7e63f83ce301092bd01944738b
  • 29f31fac84020d647af1961547638b6be51651aa
  • 2a9bf45acbcead76a54dd2f655949ea67dd09f7f
  • 2b2d02bdb2f5a5f36452de13f0880b213f53e0c9
  • 2becc8dfd662ac79994c1cac59914f2c00be7a30
  • 2dcd9901fa0743f8dc35597c2d027a5ef6804c2f
  • 2e06ddc88ef4a3583df2e30078b4f05723e23f51
  • 3211392eb14e624fbc11a3b6e42da99950a1f78e
  • 3337794382593be3a8f324621406df073b85a170
  • 3c0e265ac38c2d75d75f41a3334148d486234063
  • 3c3ab1b60e37ec60fc620b14e8a16bd2f8b457b0
  • 3e14c0ca61c51b399c6a3426c77a3376c33afc69
  • 3fa294c4314d25cd341a600ac24f5d6f708c4a38
  • 3fbea692a0c549dc711e9ad2aa016fad6fea68e5
  • 3fce78c9a7ba3e113404b2b9ae32c36eda5001e3
  • 3fe294dafca9a86961d2f426b76f327521e55c40
  • 40ba273eb7495f97ba813ea903834495a47a91d6
  • 426a964a533de9fe7b9d033582770e167961f5bc
  • 4342a8d6fcb01534d7b9fc653535772effab03b7
  • 43d2a634a90e168ccadac47f50769a2a6a98416e
  • 43fb82b3881dd0fef4b89e55cf6f0a43e1939ac5
  • 44cd449ab5d35668ac6f5bb71f9f90d6469e976f
  • 457594493ca35292541b2ce57ba4d610b8fca71c
  • 45ca547179f02b6c5c9e2d4bc08add1bead67cf5
  • 46cbc3e9426f83bcc6a6e5d1c86839fe8436150c
  • 47cc6b384cab1c0499ff525a8c4fcf9113beecf0
  • 492c45688dc1e568d01693c724d3ef562a95680a
  • 4afc0cf7b41b40f4bf228b49d3ad5638146b3743
  • 4b6be3b4a2747be35eb065ef4dc6f57c60180a01
  • 4d7e20f1b1421db366ae9b95d678e474e3d2238a
  • 4dab7e9201a431495b3babb165b0e5362287b178
  • 5200922519c6813561653d363483eb4384579d16
  • 53f8e29944bf36be007061380e3f4ddb1f2e379b
  • 557b02cc261ad4655cc7cd9efccb180340dd287e
  • 567e1b1638f6ddea977ba80d9e0ecb7abe4df7ac
  • 5af8efdd7a95161e6e5996d95778cf79064fb069
  • 5c01ed7a8d4686603db797b817ee949d871138cd
  • 5cb58fe4a9053d8ecdd90a254344b0cc73f6a778
  • 5f71af195874a7a582c523fe020c0ed183d9b083
  • 60100d8d7f7dd0cf53088d38a08b2772a5d6e9e7
  • 61fcf59a6650f7a2a273cc0457a8ce6786f83ea2
  • 6216e9a70d00d33f1dfc437a51d98dba1f012801
  • 6230fc3006ecda4899bb9621ef2cf95b78f54a0a
  • 63100569f6bb327c5785cdb8d9e6d8b2de992fb3
  • 65cde10d69ce708919fa68e03b6dccc9e583dbe6
  • 664af994c85d23468f6efd891026f69e27def1fa
  • 66abee65f46121b5551fcf103961a8828d2f4395
  • 68ba7ef842fa586cea851b0c5c8acbeaaec5a871
  • 6abff4b4fe8701bd7e0013fcb12fea373ca8b0b9
  • 6bb7e15c199604907d561382ef193421db09e7e8
  • 6caaa280c6280843fd14f63b4b2bc6fc5fa900f3
  • 6cdd085286b941f8e2bfda641b3be527e18360c0
  • 6dd72228c3f29ec28c030f739c2ffd822ea99388
  • 6dfc750fb1c30cbbcdb935bb140ac44982d3961b
  • 6e31ceb63acb46902deb20009a8bb6142de882cf
  • 6ebf66318f9fdcd4be42fc73218674128e69df58
  • 7067522a2c34d2e91c7ffb8dc59def269b24c1dd
  • 70db64caa7070b5a2abaf842fa663586525de644
  • 70f1aaf238548a666423458f225d98dff74386da
  • 73951e3d352491ef40473df055b5c8b9cc2b1820
  • 73e4903608da9e3f730ee35ffd07d561d0ca35cb
  • 742d5f027889b9686614b0e24e9eb60ef4cd5f78
  • 756a14ca3baf5ccfc18b2316d52d7fe98e31dfef
  • 759e78b8b7392686021881951d9329144d7da998
  • 75b4f29b7b797841dd1132611f248d826ae7bf56
  • 763907bf89983b36d2161153d91c7f313822bec8
  • 784b3cda328a49bc6ba5d20be03d7bd76db41917
  • 78a2db508108506ad453a2298117237702df10a8
  • 7acf1e9d52630a89b38133be149f95af8a8b810b
  • 7d0a69b61b590c4615ab9096e2e4f48478a68312
  • 7ee57e51d157c9aabe1afc59855e90401fd0e2a7
  • 7fe51338c41c875bf7bb7d96dfa6e8443314a9b7
  • 83021cfead0849a738ea557588647be634039b01
  • 834cbb4671d038261c609f2de3312025f773bd4d
  • 8435d36e2e410a003b6d5568b192c0e153f06ea9
  • 86c55cc76b918dec25dcb0db4746a3cc58ca8f5a
  • 86dc6c1cc0c33086d5749883a17bed24e9fa0010
  • 86f1839df0be17d4d156f69df16eaf5944a29da4
  • 89b41008256e7684ba798e0edb27619e7c35c4d7
  • 8a6c7cbff4f66b61862c66c6c1394dc550c54f95
  • 8b425247a84d9e506952e2c913393c9ecdab399f
  • 8baaf0694234a06cce73ccc0910f63dd513329e4
  • 8dd57b1364d3364cf17c5219a759a2f1787f666c
  • 8e2ca8ce68cdcc15463a6a96c83da6e394492141
  • 8ff23154805c304a9863cffc61b1453ddf9ee721
  • 901c3a0b449322c030d8a6efc6c1332036a414c9
  • 915131dccbc1234c6560952385185f07de1b3929
  • 928b2144dc1d485338fc748ab280a5deee9dcf21
  • 96080e0159c455e3de443526b880a774e9cabbb2
  • 9622181de887925f692bf51ba69bc6b6694ecc6f
  • 96447faded23c699025d03406063ac2f425a1bc2
  • 99fa440b658412b5c2685c6df90cb0d3c4eb84a8
  • 9b9ec71e1aae94a29487e9936985f71ce18010f9
  • a4c824afbb4584e4640d0f03fa9d2370f84cfe66
  • a574ae8b6904cc1c9cafb26e1ccf5e87e6261ad6
  • a64961f4d1394cad5f2a3c0ccdb7d46f9bc6142c
  • a8df8cb07bac3c2f6434a21beb58e45f73ab66b2
  • a8dfbdb54252af72d8c3898656d49f542bbf4407
  • a98c0377f80f04a3a7cf044d5abe515654520183
  • a9c1d537ae937580a51293008d78dd507355ee0c
  • ab827c68d4be6002385b9008fc89eef4e04c6912
  • b125f586dae2c664147c4499d7d5c3d43c2678c8
  • b1d6b677917221673dc7e419c535600c129931fb
  • b21a4affb019afd4eb05bcb5428798ea623bb75c
  • b31f2162e886683b65b017e1d1a841bd4f10cc11
  • b32c00c384160bbc18b8dde2299005639a48c18d
  • b384f23953f4f621e3e9bd1d742edd6ddf9cf4c1
  • b3a5f72296ec2bf18b29699544f4234d6113941c
  • b55921f502ec6839b08545a582a4291eaf3d902c
  • b5d8bb1d4a14c85b9996f05b602c36ef2c508a3b
  • b5f43299a66f6f8c8200bbde1b690a1ab8a5ef75
  • b899f364e788501bb4286ff379d5d155599fb35d
  • bb4e1cea60199c26620715103f4019030fea3792
  • bdf9b400e2935947c30fc1e5b79352129969dbf7
  • be2d5cf002a3e0d3414081c5c6b1840962ab9a10
  • be756aaaf4135c7ec500d14c45a284cb6e8765c9
  • c118c35a8a5a1160ca1cb1b16a7f62da5c32b8c8
  • c25bebd17ed164dd39e0d47dd5228dff6c9c3ff9
  • c2f1f955059e30313f0738e98845d039ca3d7937
  • c379c40dedb6a54437786572284c249031690249
  • c3c225bd5e5d0d53bdc403f8da183c63e7a16b7e
  • c450613503334e4f21bd5ca374c86031ab3ff79b
  • c7141b43dd62c712cc625cd5e9f27ea6fd34955d
  • ca29de9683e093e2930bf1b3138b9fbace8862e5
  • ca9196dd69b93c07126654024c19da991302ed71
  • cd332731273e93769cc28dde5a02814c027e1b77
  • cd4884dc181a011c75405940172a994b7923daba
  • ce41fc66abc67957cbe8828b439f31c1f1227b35
  • cf8a3a18a719512d833c33973c1862eda56aa2b8
  • cffcb81564f598b9cb55bb8430399497ea366da1
  • d15ea1735d6b057884faaa90afa46c8ee0be5927
  • d1ad29b721ee4ed29ce2bf7ffe0be84d32d57924
  • d228a43e5b158532b5ffd2f526b34b2ee6024de8
  • d3ff122a9cf8e34d29dc2859ead08d3db62b5687
  • d4e162311ad2adbc67045598bf0731473d44105b
  • d5656ca2ab4a7c0d5f367c2d35a3e680c48d7c95
  • d9648b415ddb8f45fad1f129a64960f49aa6e42b
  • dac7f0061abde4d0e517d044d3360d4e6dde2418
  • dbb4031e9bb8f8821a5758a6c308932b88599f18
  • e00defa7cbdd9d79ccb6e33caa9f9b0c704a0dbd
  • e131392b3897ef6ccfb54770fd2e47811681610a
  • e1cb6f690371fa76f3d062a80054e18d6b02461e
  • e44b02e1bcad6493a925181cb5ccc9f3a64ebc31
  • e4551317d305111fa15081ddbbf5ab6aa744d84c
  • e58a77ecfaa1e0a481581ec6831874d655976203
  • e5af589fcd2bfb7093dd10274161a3c0de42057f
  • e9740a495371fae13f997786089ab941cd5633dd
  • ea0b470b55f57dd8d2359894ad9143093a46e3e4
  • ec7a06d3184c5c0265cf2e9c2f2a7d3eaa91fffe
  • ed4e8c98a71e9763d23d0275f17ad2712c327944
  • ef332b55ed0083373097bd0862b487f384d88d17
  • efefa0438f2a01121fb6fab0b04978f6631ed87f
  • f0e406f821ffccb0eb56d7c6a9b62267eb9c21f6
  • f1668ee99e6f7a5a7aa4577c9298f8efb154653e
  • f1bb514e2ef6bc4a1d11637cb92c08161520183f
  • f33dc1bfbece7ada203e00477ca029baaaa6f61d
  • f40725fc376828fa099414166a097f179e6cb62b
  • ff388fd9a3e85af541949f2087bf09e276a3d75f
  • ff683cdbbcdfbd18f4d8f99e62c202add282e216

Package

  • bigmathex
  • bigmathix
  • bigmathlib
  • bigmathutils
  • bignum
  • bignumberx
  • bignumex
  • bignumx
  • bigpyx
  • File
  • Final
  • graphalgo
  • graphchain
  • graphdict
  • graphex
  • graphflowx
  • graphflux
  • graphhub
  • graphkitx
  • graphlibcore
  • graphlibx
  • graphlink
  • graphnet
  • graphnetworkx
  • graphnode
  • graphorbit
  • graphorithm
  • graphrix
  • graphstruct
  • graphsync
  • indicators:
  • JavaScript
  • netstruct
  • Network
  • npm
  • Package
  • package_name
  • payloads:
  • PyPI
  • Python
  • RAT
  • repository
  • SHA1
  • terminalcolor256
  • terminal-kleur
  • type
  • VBS
  • version
Комментарии: 0