Кампания за зловреден софтуер, свързана със Северна Корея, откри начин да поддържа заразените компютри свързани със своите оператори. Вместо да съхраняват зловредния софтуер в Ethereum, атакуващите крият местоположението на контролен сървър в трансакции с криптовалута.
Кампанията достига до разработчици чрез фалшиви предложения за работа, заразени хранилища с код и злонамерени софтуерни пакети. Стартирането на кода може да инсталира инструмент за отдалечен достъп и инструмент за кражба на идентификационни данни за Windows, macOS и Linux.
Изследователи от Ransom-ISAC идентифицираха новия Ethereum компонент в мостри на XCTDH от септември 2026 г.
От Ransom-ISAC заявяват в доклад, споделен с Cyber Security News (CSN), че технологията дава на зловредния софтуер друг начин да открие своя оператор, ако останалите маршрути бъдат прекъснати.
Операцията за първи път е документирана през октомври 2025 г., но изследователите установиха, че нейните Ethereum сигнали са започнали през юни 2026 г. Те преброиха 2 655 трансакции за период от 90 дни. Докладът не установява колко компютъра са били заразени или колко данни са били откраднати.
Хакери превърнаха Ethereum в тайна система за съобщения
Методът, наречен HashHiding от Ransom-ISAC, превръща адреса на получателя на Ethereum превод в малко съобщение. Неговите първи четири байта представляват интернет адреса на сървъра, а следващите два представляват неговия порт.
Останалите байти съдържат втора крайна точка и допълващи байти (padding). Това се различава от поставянето на цели злонамерени кодове в данните за трансакциите на блокчейна.
Тези преводи не съдържат извиквания на интелигентни договори или скрити скриптове. Повечето не прехвърлят криптовалута, докато няколко прехвърлят незначителна сума към адрес, чийто частен ключ не се очаква да бъде контролиран от никого.
Зловредният софтуер следи трансакциите, изпратени от портфейла за сигнализация на оператора. Той сканира последните Ethereum блокове през обществени точки за достъп, намира съвпадащ превод, декодира адреса на получателя и се свързва със сървъра, който той разкрива.
След това сървърът предоставя код, който може да възстанови инфекцията. По-ранни доклади за сървъри за зловреден софтуер, скрити в Ethereum преводи, описват свързан метод, наречен NullReceiver.

Ransom-ISAC признава това по-ранно публично описание, докато проследява тази отделна кампания чрез собствено събиране на данни от блокчейна. Разликата е важна, тъй като блокчейн адресът тук действа като табела, а не като място за съхранение на зловреден софтуер.
Операторът е променил кодираното местоназначение четири отделни пъти по време на наблюдавания период. Първите два сигнала са сочили към един и същ интернет адрес на различни портове; по-късните сигнали са се преместили към друг адресен диапазон. Една последваща промяна е променила само последната цифра от адреса на сървъра – промяна, която би могла да избегне списъците за блокиране.
Множество пътища поддържат зловредния софтуер свързан
Ethereum е само една част от тази операция. Първоначалният зареждащ модул (loader) проверява трансакциите в TRON, с Aptos като резервен вариант, за да локализира криптиран JavaScript, съхранен в трансакции на BNB Smart Chain. Този по-стар маршрут доставя код, докато маршрутът през Ethereum предоставя ново местоположение на сървъра.
Атаката започва, когато разработчик последва фалшива подкана за подбор на персонал и стартира заразен проект или пакет. Както показаха скритите в хранилищата JavaScript зареждащи модули, даден проект може да носи код, който се свързва с блокчейн услуги след изпълнение.
Тук скритият зареждащ модул вкарва последващи етапи без очевидна злонамерена връзка за изтегляне. Обновеният инструмент за отдалечен достъп може да изпълнява команди, да записва натиснатите клавиши и да следи клипборда.
Отделен еднократен инструмент за кражба на данни търси информация от браузъра, данни от мениджъра на пароли, идентификационни данни за облачно съхранение и материали за портфейли с криптовалута. Изследователите преброиха 153 цели сред портфейлите и заявиха, че откраднатите данни се изпращат през интерфейс за бот за съобщения.
Ethereum скенерът стартира заедно с инструмента за отдалечен достъп, а не само след неуспешна връзка. Твърдо кодираното местоположение на сървъра и по-старият междинно-верижен (cross-chain) път също остават активни. Този паралелен дизайн означава, че блокирането на един сървър или една точка за достъп до блокчейна може да остави друг маршрут отворен.
По-широкият риск напомня за атаки срещу разработчици с използване на зловреден код в блокчейн, при които изглеждаща надеждна задача за разработка се превръща в първата стъпка от компрометирането.
От Ransom-ISAC препоръчват да се следи за неочаквани заявки за Ethereum блокове, последвани от необичайни връзки със сървъри, както и да се наблюдава портфейлът за сигнализация за нови промени в местоназначението.
Екипите, разследващи предполагаема инфекция, трябва също да проверят Node.js процеси, изпълняващи оценяван код, и да прегледат средите за разработка.
Премахването само на известен сървър не е достатъчно, ако зловредният софтуер може да прочете по-нов адрес на сървър от публични блокчейн записи и да стартира веригата отново.
Индикатори за компрометиране (IoCs):-
| Тип | Индикатор | Описание |
|---|---|---|
| C2 адрес | 23[.]27[.]20[.]143:27017 | Сървър и порт, посочени за кампанията от октомври 2025 г. |
| C2 крайна точка | 23[.]27[.]20[.]187:80 | Първа наблюдавана дестинация, кодирана чрез Ethereum. |
| C2 крайна точка | 23[.]27[.]20[.]187:443 | Втора наблюдавана дестинация, кодирана чрез Ethereum. |
| C2 крайна точка | 181[.]214[.]149[.]147:443 | Трета наблюдавана дестинация, кодирана чрез Ethereum. |
| C2 крайна точка | 181[.]214[.]149[.]148:443 | Четвърта наблюдавана дестинация, кодирана чрез Ethereum; докладът също така описва път за дропер на порт 80 на този IP адрес. |
| Кодиран Ethereum получател | 0x171B14bB0050171b14Bb01BB398EAAB6441Fbd47 | Първа наблюдавана дестинация, кодираща C2 крайната точка на порт 80. |
| Кодиран Ethereum получател | 0x171B14bb01bB171B14BB0050EB7f39C35C47E682 | Втора наблюдавана дестинация, кодираща C2 крайната точка на порт 443. |
| Кодиран Ethereum получател | 0xB5D6959301bbB5D69593005000FfABa8a5A2ADA2 | Трета наблюдавана дестинация. |
| Кодиран Ethereum получател | 0xB5D6959401bbb5D69594005000ff8C84e0b715b1 | Четвърта наблюдавана дестинация. |
| Ethereum сигнализиращ портфейл | 0x33ff3edaf55a8e03dcbc7cb40d498a49cd499891 | Изпращач на наблюдаваните beacon трансакции. |
| Шаблон за съвпадение на портфейл | 33ff3edaf55a8e03dcbc7cb40d498a49 | Частичен адрес на изпращача, използван от скенера и правилото за засичане. |
| BSC изпращач | 0x9bc1355344b54dedf3e44296916ed15653844509 | Адрес, докладван като споделен с кампанията от октомври 2025 г. |
| BSC хеш на трансакция | 0x84e8cecd5b077eef530e7d69d546e2555199cb61759d1224d31cb31750788f62 | Зловреден код от Chain 1, водещ до RAT и Ethereum скенера. |
| BSC хеш на трансакция | 0x610c9ec972545b8df6e3aaecc7a8ab5f2f2445cf0bfbd6ee026e618d07b29e22 | Зловреден код от Chain 2, водещ до дропера. |
| TRON портфейл | TCqf6ZkaQD84vYsC2cuu1jRwB6JveTaRrF | Указател към трансакция от Chain 1. |
| TRON портфейл | TFMryB9m6d4kBMRjEVyFRbqKSV1cV2NcpH | Указател към трансакция от Chain 2. |
| TRON портфейл | TMfKQEd7TJJa5xNZJZ2Lep838vrzrs7mAP | Примерен портфейл, цитиран за по-ранния XCTDH поток. |
| Aptos резервен вариант | 0x9d202c824402ca89e9aaccd2390b6f8b332ae743caa1469c695feb2781d56519 | Резервен идентификатор за Chain 1. |
| Aptos резервен вариант | 0x3d2075f97b7b1e3234bd653779d21c605d7d8c6ec9c98d983880be5c7f4f9471 | Резервен идентификатор за Chain 2. |
| XOR ключ | 2\[gWfGj;<:-93Z^C | Ключ за декриптиране на BSC зловредния код от Chain 1, показан точно както е извлечен от доклада. |
| XOR ключ | m6:tTh^D)cBz?NM] | Ключ за декриптиране на BSC зловредния код от Chain 2. |
| XOR ключ | ThZG+0jfXE6VAGOJ | Ключ за декриптиране на отговора от дропера. |
| C2 път | /init | Крайна точка на порт 443, връщаща RAT и скенера. |
| C2 път | /$/boot | Крайна точка на порт 80, връщаща криптирания дропер. |
| C2 път | /$/1 | Крайна точка на порт 80, връщаща OmniStealer. |
| C2 път | /boot | Крайна точка за възстановяване през Ethereum на порт 443. |
| Маркер на кампанията | global.i = '5-3-132' | Маркер в първоначалния код. |
| Маркер на версията | /*RS260605*/ | Маркер на Ethereum скенера. |
| Маркер на билд | B9=260924 | Маркер на билда на OmniStealer. |
| User-Agent | Python-urllib/3.13 | User-Agent, подправен от Node.js лоудъра. |
| HTTP заглавка | Sec-V | Персонализирана заглавка в заявката на дропера. |
| Име на файл | config.js | Примерен заразен файл от хранилище във веригата от септември. |
| Име на файл | tailwind.config.js | Примерен манипулиран за атака файл в по-ранната верига. |
| Име на файл | boot.js | Скрипт, върнат при възстановяването, базирано на Ethereum. |
| RPC домейн | ethereum-rpc.publicnode.com | Легитимна публична Ethereum услуга, посочена в правилото за засичане. |
| RPC домейн | eth.drpc.org | Легитимна публична Ethereum услуга, посочена в правилото за засичане. |
| RPC домейн | blastapi.io | Легитимна публична Ethereum услуга, посочена в правилото за засичане. |
| RPC домейн | bsc-dataseed.binance.org | Легитимна BSC услуга, към която лоудърът изпраща заявки. |
Забележка: IP адресите и домейните са умишлено деактивирани (defanged, напр. [.]), за да се предотврати случайно разрешаване на имена или хипервръзки. Активирайте ги отново (re-fang) само в контролирани платформи за анализ на киберзаплахи (threat intelligence) като MISP, VirusTotal или вашата SIEM система.