PhantomBot láti olè ìjẹ́rìí sí Botnet

PhantomBot: Ìpolongo Typosquat kan tí ó yọrí sí jíjí ìwé ẹ̀rí sí ohun èlò Botnet Turnkey kan

TL; DR

Olùtẹ̀wé npm kan ṣoṣo, deadcode09284814, ti ṣe ipolongo kikọ aṣiṣe lodi si ofin axios ati chalk-template Àwọn ìdìpọ̀ láti àárín oṣù karùn-ún ọdún 2026.

Ipolongo naa bẹrẹ bi iwe-ẹri ibile ati ole-owo, ti o n yọ data jade si Ihò HTTPS ti Serveo.

On 2026-05-17, pẹlu axois-utils:1.0.9, olùṣiṣẹ́ náà yí ẹrù ìsanwó náà padà pátápátá: ìpele ìfipamọ́ mẹ́ta kan náà, olùtẹ̀wé kan náà, orúkọ ìfipamọ́ kan náà.

Ṣugbọn iwe afọwọkọ fifi sori ẹrọ jẹ bayi oluṣeto DDoS botnet agbelebu-Syeed.

Ẹrù iṣẹ́ náà ń bá a sọ̀rọ̀ localhost.run ihò ojú ọ̀nà àti gba àṣẹ ìkún omi, yíyí àwọn àyíká tí ó ní àkóràn padà sí apá kan nínú botnet tí ó lè ṣe DDoS.

Olùṣiṣẹ́ náà tilẹ̀ fi ránṣẹ́ C2 olupin alakomeji nínú tarball, ó fi hàn pé ó ti di ohun tó hàn gbangba láti olè ìjẹ́rìí sí ètò botnet tó ń ṣiṣẹ́.

Àwọn àpò méjì, àwọn ẹ̀yà mẹ́rin ṣì ń ṣiṣẹ́ lórí ìforúkọsílẹ̀, àti olùṣiṣẹ́ kan tí ń ṣiṣẹ́ àwọn modulu méjèèjì ní ìfẹ̀gbẹ́kẹ̀gbẹ́ báyìí.

Líle: gíga.

Àkọlé IOC Eyikeyi ẹya axois-utils tabi chalk-tempalte lati ọdọ olutẹjade deadcode09284814

Ikọlu naa: Bawo ni O Ṣe Nṣiṣẹ

A kọ́ ìpolówó náà sórí àgbékalẹ̀ ìfijiṣẹ́ tí ó máa ń múni súni: orúkọ méjì tí a fi àmì ìkọ̀wé ṣe, lẹ́tà kan tí a yọ kúrò nínú àwọn páálí pẹ̀lú ọgọ́rọ̀ọ̀rún mílíọ̀nù àwọn ìgbàsílẹ̀ lọ́sọ̀ọ̀sẹ̀ (àá, àwòṣe-ẹ̀rọ), ati fifi sori ẹrọ mẹta hooks èyí tó ń ṣe ìdánilójú pé a ó ṣe é. Ohun tó dùn mọ́ni ni ohun tí wọ́n fi ṣe àgbékalẹ̀ rẹ̀. gbejade — àti òtítọ́ pé olùṣiṣẹ́ náà yí ẹrù náà padà láìyí ohunkóhun mìíràn padà.

Àpáta tí a pín

Gbogbo àtúnṣe tí a tẹ̀ jáde ti àwọn àpò méjèèjì ń polongo ìyípo ìgbésí ayé mẹ́ta kan náà hooks in package.json:

"scripts": {    "preinstall":  "node <payload>.js",    "install":     "node <payload>.js",    "postinstall": "node <payload>.js"  } 

Àkójọ àwọn ẹrù iṣẹ́ lábẹ́ gbogbo àwọn mẹ́ta hooks jẹ apọju — fifi sori ẹrọ lẹhin nikan ni yoo ṣiṣẹ ni aiyipada kan npm fi sori ẹrọYíyàn náà ṣe pàtàkì: npm fi sori ẹrọ –ignore-scripts fo awọn iwe afọwọkọ, ṣugbọn ọpọlọpọ awọn iṣiṣẹ iṣan-iṣẹ ti o wọpọ (kaṣe CI ṣe atunṣe iyipo igbesi aye atunṣe yẹn hooks tí a yàn, tàbí àwọn olùgbékalẹ̀ tí wọ́n ń ṣe àyẹ̀wò nìkan fifi sori ẹrọ lẹhin) ṣe ìkéde tó ní ìlọ́po mẹ́ta láìsí ìdánilójú, èyí tó dájú jùlọ fún ẹni tó kọlù náà.

àwọ̀-ẹ̀rọ ṣe afikun ilana keji: o kede àwọn ohun èlò axois:^1.0.7 gẹ́gẹ́ bí àkókò ìṣiṣẹ́ igbẹkẹleFifi awọn aṣiṣe ti a ti kọ silẹ sori ẹrọ àwòṣe-ẹ̀rọ Nítorí náà, ó fa àwọn àṣìṣe ìkọ̀wé àwọn arákùnrin àti arábìnrin náà, àwọn ẹrù méjèèjì sì ń ṣiṣẹ́. Àwọn páálí méjèèjì jẹ́ méjì tí a ṣètò, kì í ṣe àwọn àkójọpọ̀ tí ó dá dúró.

Ipele A — ìwé ẹ̀rí/olè àpò owó (2026-05-15 → wàyí)

Ipele A ni ẹrù iṣẹ́ àkọ́kọ́. Ẹ̀rọ ìgbéga náà jẹ́ kúkúrú postinstall.js tí ó tọ́ka sí ojú ọ̀nà ìyípadà Serveo HTTPS kan:

// chalk-tempalte/postinstall.js:11-13  const C2_HOST = "f04a273bd84c0622-80-200-28-28.serveousercontent.com";  const C2_PORT = 443;  const C2_PATH = '/collect'; 

Subdomain Serveo n ṣe koodu IP ibi ti a nlo (80.200.28.28) taara ninu orukọ olupin — apejọ ti a le mọ fun iṣẹ yẹn. Oniṣẹ naa n yi ami-iṣaaju subdomain laileto laarin awọn ẹya lati yago fun awọn akojọ bulọọki domain ti ko ni oye, ṣugbọn IP ti o wa ni ipilẹ ko gbe rara.àwọ̀-ẹ̀rọ:1.0.14 lo 8a3e818ea8f11186-80-200-28-28…; 1.0.16 / 1.0.19 / 1.0.20 lílò f04a273bd84c0622-….)

postinstall.js fi ọwọ́ sílẹ̀ sí phantom.js, modulu “olùkójọ” ti a sopọ̀ mọ́ ìlà 7,667 kan. phantom.js rin alejo fun:

Awọn bọtini ikọkọ SSH (~/.ssh/*)
.npmrc akoonu ati eyikeyi npm_* àwọn àmì env
Àwọn fáìlì ìjẹ́rìí AWS, GCP, àti Azure
Regex àmi wiwọle ara ẹni ti GitHub (ghp_*, gho_*, ghu_*, ghs_*)
Àwọn ohun èlò àpò owó Crypto fún Bitcoin, Ẹ́kísódù, Electrum, Monero, Litecoin, Dogecoin, Zcash, Dash
Atunkọ-ọrọ .env* rin nipasẹ ~/projects, ~/dev, ~/code, ~/workspace, ati fifi sori ẹrọ cwd
Awọn itan Shell ati gbogbo process.env

A fi àpò náà sí ojú ọ̀nà Serveo ní /ojoKò sí ìdènà, kò sí ìlànà ìdènà VM, kò sí ìpele — ìforúkọsílẹ̀ olùṣiṣẹ́ wà lórí ìwọ̀n àti iyàrá.

Ipele B — PhantomBot DDoS recruit (2026-05-17, axois-utils:1.0.9 nìkan)

Ìpele B rọ́pò phantom.js + postinstall.js pẹ̀lú fáìlì kan ṣoṣo tí orúkọ rẹ̀ ń jẹ́ distrube.js (ìrúfẹ́ tí olùṣiṣẹ́ náà ń ṣe ni). Àwòrán triple-hook nínú package.json kò yípadà; àpò náà ń pa orúkọ kan náà mọ́, scope, àti àpẹẹrẹ version-bump kan náà. Láti òde, axois-utils:1.0.9 dàbí ìtẹ̀lé kékeré sí 1.0.6. Nínú, ó jẹ́ ìdílé malware mìíràn.

distrube.js ṣí pẹ̀lú ìdènà ìṣètò kan tí ó sọ orúkọ ìforúkọsílẹ̀ ti olùṣiṣẹ́ náà:

// axois-utils-1.0.9/distrube.js:11-15
// Use your localhost.run HTTPS URL (the tunnel handles HTTP internally)
const C2_HOST = 'b94b6bcfa27554.lhr.life'; // Your localhost.run tunnel
const C2_PORT = 443; // HTTPS port - tunnel handles SSL
const BOT_ID = `${os.hostname()}_${Date.now()}_${crypto.randomBytes(4).toString('hex')}`;

Àwọn ọ̀rọ̀ náà ni a kọ sí olùṣiṣẹ́ ọjọ́ iwájú tí ó ń ṣiṣẹ́ ohun èlò náà (“Lo localhost.run HTTPS URL rẹ”). Ìyẹn, pẹ̀lú ohun tí ó wà lẹ́gbẹ̀ẹ́ oníbàárà bot, ni sísọ pé èyí kìí ṣe ẹrù àwọn olùfaragbá lásán — ohun èlò náà ni ohun èlò náà.

Ìṣàn náà:

  1. itẹramọṣẹ Ó kọ́kọ́ ń ṣiṣẹ́. Ìwé àfọwọ́kọ náà ń fi ara rẹ̀ sí ọ̀nà mẹ́ta ọ̀tọ̀ọ̀tọ̀ fún OS kọ̀ọ̀kan (ìforúkọsílẹ̀ Run + Fáìlì ìbẹ̀rẹ̀ + schtasks lórí Windows; crontab + phantom-bot.service ẹ̀rọ systemd + .bashrc/.zshrc fi kún + /etc/rc.local lórí Linux; LaunchAgent com.phantom.bot.plist lórí macOS). Orúkọ iṣẹ́ ìdúróṣinṣin àti àmì LaunchAgent jẹ́ méjèèjì phantom-bot / com.phantom.bot, èyí tí orúkọ ìpolongo náà ti wá pẹ̀lú.
  2. Àlàyé ètò exfil Ó ń ṣiṣẹ́ lẹ́ẹ̀kan — ìtẹ̀wé ìka kan ṣoṣo POST sí b94b6bcfa27554.lhr.life:443/collect tí ó ń gbé orúkọ olùgbàlejò, platform, arch, username, CPU/RAM, netiwọki interfaces, process.env, cwd, homedir, node version, àti public IP. Èyí kò burú tó Phase A: kò sí SSH, kò sí àpò owó, kò sí .env recursion. Iṣẹ́ bot ni láti forúkọ sílẹ̀, kì í ṣe láti jalè.
  3. Lílo ìlù ọkàn Ó máa ń ṣí HTTPS POST ní gbogbo ìṣẹ́jú-àáyá 30 sí b94b6bcfa27554.lhr.life:443/. Olùlò-Agent ni PhantomBot/1.0. A ti pa ìjẹ́rìísí TLS ní kedere (rejectUnauthorized: false). A ṣe àtúnyẹ̀wò ìdáhùn C2 gẹ́gẹ́ bí JSON ti fọ́ọ̀mù {type, target, port, duration, threads, method} a sì fi ránṣẹ́.
  4. Àwọn ohun ìkópamọ́ ìkún omi ti sopọ si awọn aṣẹ mẹfa:
Iru aṣẹ Module awọn akọsilẹ
ping Ìdáhùn ìgbé ayé Bot ṣe afihan ara rẹ
http Ìkún omi HTTP Ìkún omi ìbéèrè Layer-7
https Ìkún omi HTTPS Bákan náà gẹ́gẹ́ bí http, TLS-wrapped
tcp Ìkún omi TCP Àìròyìn àwúrújú 65 KB
udp Ìkún omi UDP Àwọn pákẹ́ẹ̀tì UDP 65,507-bytes
dekun Àtúnṣe kíákíá HTTP/2 DoS Ìlànà CVE-2023-44487 ti ọdún 2023

Gbogbo awọn modulu ikun omi marun gba afojusun, ibudo, iye, Ati awon àríyànjiyàn — bot náà jẹ́ àgbá omi tí a gbà fún ìgbàlejò, kìí ṣe fún ẹnikẹ́ni tí ó jẹ́ olùfarapa pàtó kan. Àkójọ àwọn olùfarapa olùṣiṣẹ́ náà wà lórí C2, kìí ṣe nínú àpò náà.

Kí ni tuntun níbí — C2 binary tí a fi ránṣẹ́

Ìpele A jẹ́ àpẹẹrẹ tí a mọ̀ dáadáa: olè ìjẹ́rìí, ìkọ́ ìfipamọ́, C2 tí a fi ẹ̀rọ ṣe. Ìpele B ni tun àpẹẹrẹ tí a mọ̀ — àwọn botnet DDoS ti jẹ́ àfikún àwọn páálí npm búburú fún ọ̀pọ̀ ọdún. Ohun tí ó ṣàjèjì ni pé olùṣiṣẹ́ náà fi ránṣẹ́ ẹgbẹ olupin ti ohun elo inu bọọlu afẹsẹgba npm:

  • c2 — Go ELF binary ti a ṣe akojọpọ 4-megabyte kan
  • c2.go — orisun Go-line 426 fun binary yẹn

Kò sí fáìlì kankan tí a fi install knock ṣe. Wọn kì í ṣe ara àwọn olùfaragbá. Wọ́n wà nínú ìwé àkójọpọ̀ náà gẹ́gẹ́ bí fáìlì ìwé ṣe máa ń ṣe. Ohun tó ṣeé gbẹ́kẹ̀lé jùlọ ni pé olùṣiṣẹ́ náà ti gbé iṣẹ́ ìdàgbàsókè wọn sí npm láìsí àkójọpọ̀ fáìlì náà — ìkọ̀wé OpSec gidi — àti ohun tí a fi ránṣẹ́ ni ohun èlò oní-ẹ̀gbẹ́ méjì: olùrà náà ń ṣiṣẹ́, olùṣiṣẹ́ náà sì ń ṣiṣẹ́.

Èyí ni apá ìtàn náà tó dá “turnkey botnet kit” láre. Ẹnikẹ́ni tó bá gba fírémù náà sílẹ̀ ni. àwọn ohun èlò axois:1.0.9 kí ìṣẹ́gun tó dé, kìí ṣe pé ó ní àpẹẹrẹ olùfaragbá nìkan — wọ́n ní olupin C2 kan tó ń ṣiṣẹ́.

Àgbékalẹ̀ náà, nínú gbólóhùn kan

Olùtẹ̀wé kan náà, orúkọ àpò kan náà, àwòrán ìkọ́ mẹ́ta kan náà, àmì ìforúkọsílẹ̀ “àfọwọ́kọ” kan náà — ṣùgbọ́n ẹrù iṣẹ́ náà yí àwòṣe ìsanwó padà ní òru kanláti “àṣírí ìkórè tí mo lè tún tà” sí “yá owó ìkún omi tí mo lè yá”. Àwọn TTP àkókò ìfipamọ́ tí àwọn olùgbèjà yẹ kí wọ́n máa wò fẹ́rẹ̀ẹ́ jọra ní gbogbo àwọn ìpele méjèèjì; àwọn ààbò tí a fi àmì sí tí a fi àmì sí tí a fi àwọn okùn ọ̀nà àpò ìpamọ́ Phase A tàbí sí phantom.jsÀwọn olùkójọpọ̀ ìlà 7,667 ìbá ti pàdánù Phase B pátápátá.

Ọjọ́ (UTC) iṣẹlẹ
2026-05-15 Àtẹ̀jáde àkọ́kọ́: axois-utils:1.0.4 (Ìdánwò LAN, ètò ìdàgbàsókè ní 192.168.129.19)
2026-05-15 axois-utils:1.0.6 tí a tẹ̀ jáde — Ìpele A C2 yípadà sí 80.200.28.28 nípasẹ̀ ihò Serveo; àkíyèsí orísun // Change to '80.200.28.28' for public jẹrisi iyipada dev→prod
2026-05-16 chalk-tempalte:1.0.14 ati 1.0.16 tí a tẹ̀ jáde — ẹ̀rọ tí a fi ẹ̀wọ̀n dì ń kéde axois-utils:^1.0.7 gẹ́gẹ́ bí ìgbẹ́kẹ̀lé àkókò ìṣiṣẹ́;
2026-05-16 A ṣe àwárí ipolongo Ipele A lakoko ayẹwo npm deede; awọn idajọ buburu ti a jẹrisi lo
2026-05-17 axois-utils:1.0.9 tí a tẹ̀ jáde — ìṣàfihàn ẹrù iṣẹ́: PhantomBot DDoS recruit nípasẹ̀ localhost.run tunnel; ẹ̀gbẹ́ olùṣiṣẹ́ c2 alakomeji ati c2.go orisun ti a firanṣẹ ni ibi-iṣere ọkọ ayọkẹlẹ
2026-05-17 chalk-tempalte:1.0.19 ati 1.0.20 tí a tẹ̀ jáde — síbẹ̀ Ìpele A (olè); olùṣiṣẹ́ ń lo àwọn modulu méjèèjì báyìí ní ìfẹ̀gbẹ́kẹ̀gbẹ́
2026-05-17 Àwárí Ìpele B nígbà ìwòran déédéé; ìdájọ́ tí a lò káàkiri gbogbo 2026-05-17 awọn ẹya
(nlọ lọwọ) Àwọn ìròyìn ìyọkúrò kúrò ní ìdúró; gbogbo àwọn ìdìpọ̀ mẹ́rin tí a tẹ̀ jáde ṣì wà lórí ìforúkọsílẹ̀ ní àkókò kíkọ ìwé náà

Awọn afihan ti Ibajẹ

jo

Eda ilolupo package awọn ẹya
npm axois-utils (àìdọ́gba àwọn axios) 1.0.4, 1.0.6, 1.0.9
npm chalk-tempalte (àwòrán chalk) 1.0.14, 1.0.16, 1.0.19, 1.0.20

Idanimọ onkọwe

Field iye
olùtẹ̀jáde npm deadcode09284814
Imeeli olutẹwe phantomdeadcode@tutamail.com
SCM ijerisi

Aṣẹ-ati-iṣakoso

alakoso Ipari ipari Transport
A f04a273bd84c0622-80-200-28-28.serveousercontent.com:443/collect Ihò HTTPS ti Serveo
A 8a3e818ea8f11186-80-200-28-28.serveousercontent.com:443/collect Ihò oju eefin Serveo HTTPS (ẹ̀yà ìṣáájú)
A 80.200.28.28:443/collect Ipari VPS ti o wa ni isalẹ
B b94b6bcfa27554.lhr.life:443/ localhost.run HTTPS reverse-tunnel

Àwọn àkọsílẹ̀ fáìlì (SHA-256)

faili SHA-256 awọn akọsilẹ
c2 (Lọ ELF, 4 MB) 165fa92d237fd017c227d00da06ab788212a62be94bf61e95df2d22d00377ef2 Ẹ̀ka C2 olùṣiṣẹ́, tí a fi ránṣẹ́ sí inú axois-utils:1.0.9
c2.go (Àwọn ìlà 426) 7d0ae79fdb1e9968f3323a3712b624643a782ba3efb2cf3a2cb9c4c5513cea30 Lọ orisun fun alakomeji C2
distrube.js 308b15c023088a7188dea4ef609010ac2493eb4c365b103053d7621a9ca5b935 Oníbàárà bot Ipele B
phantom.js (chalk-tempalte:1.0.19) 9e380ec88d3ccf3929e1a104e3b868d4d7b59ca189a8a431a54e9f3357dfdd81 Ìwé ẹ̀rí ìpele A / olùgbà àpò owó
phantom.js (chalk-tempalte:1.0.20) d1c9e3f296ee9f7d5032f73f9c504cede50334bc14c394055fd5cb9c3a6e08b3 Olùkójọpọ̀ Ìpele A (ìyàtọ̀ 1.0.20)
postinstall.js (chalk-tempalte:1.0.19 = 1.0.20) ffba9bdd6793edd5b38e12900252c1813a693f59c25af51c3b658cf3f27b6162 Agbérù A, byte-dọ́gba lórí àwọn ẹ̀yà méjèèjì

Ìfọkànsí àti Ìṣírí

A tọpa ipolongo yii bi PhantomBot, tí ó mú àmì ìdámọ̀ràn olùṣiṣẹ́ náà láti ọ̀dọ̀ Aṣojú Olùlò: PhantomBot/1.0 akọsori ọkàn, phantom-bot.service ẹ̀rọ systemd, com.phantom.bot àmì LaunchAgent, àti koodu phantomdead@ Ìfilọ́lẹ̀ ìmeeli. Olùṣiṣẹ́ náà dúró ní ìbámu pẹ̀lú orúkọ yìí ní ó kéré tán ohun ìṣẹ̀dá mẹ́rin.

Àkójọ àwọn àmì ìtọ́kasí

  • akede - koodu ikú09284814 lórí npm. Àkọọ́lẹ̀ oníṣẹ́ kan ṣoṣo, ìmeeli tí a lè sọnù fún Tutamail, kò sí SCM ìfìdí múlẹ̀. Kò sí ìtàn ìtẹ̀jáde tẹ́lẹ̀ lẹ́yìn ìpolongo yìí.
  • Àtúnlo àmì ìdámọ̀ràn — “phantom” farahàn nínú ìmeeli olùtẹ̀wé, nínú orúkọ fáìlì olùkójọpọ̀ Phase A (phantom.js), ní orúkọ iṣẹ́ ìfaradà Phase B (phantom-bot.service), nínú àmì LaunchAgent (com.phantom.bot), àti nínú bot User-Agent (PhantomBot/1.0).
  • amayederun — VPS kan ṣoṣo ni 80.200.28.28 àwọn iwájú Ìpele A nípasẹ̀ ìyípo subdomain Serveo; Ìpele B yí lọ sí a localhost.run ihò ìyípo-padà (b94b6bcfa27554.lhr.ìyè) Iṣẹ́ olùtajà méjèèjì jẹ́ ọ̀fẹ́, wọ́n sì nílò SSH tí ó ń jáde lọ síta nìkan ní ẹ̀gbẹ́ olùṣiṣẹ́, ní ìbámu pẹ̀lú àwọn ètò OpSec tí kò ní owó púpọ̀, tí kò ní owó púpọ̀.
  • koodu ara — JavaScript lásán ní gbogbo ibi; kò sí ìdènà, kò sí ìṣàyẹ̀wò okùn, kò sí àyẹ̀wò lòdì sí VM. Àwọn orúkọ oníyípadà jẹ́ àpèjúwe (ji Ìwífún Ètò, ṣe Àṣẹ, httpFloodÀwọn ọ̀rọ̀ inú distrube.js sọ taara fun oniṣẹ iwaju kan ("Lo URL HTTPS localhost.run rẹ"), ti o daba pe faili naa ni a pinnu lati tun pin bi ohun elo kan, kii ṣe nipasẹ olukọlu kan ṣoṣo.
  • Ìyọkúrò OpSec — Ipele B tarball naa n gbe olupin bot ati olupin ẹgbẹ C2 ti oniṣẹ (c2 Elf + c2.go orísun). Èyí bá olùṣiṣẹ́ kan mu tí ó ti igi iṣẹ́ wọn sí npm láìṣe àyẹ̀wò àkójọ fáìlì náà. Yálà olùṣiṣẹ́ náà kò ní ìrírí, tàbí kít náà jẹ́ túmọ láti pín kiri ní gbangba àti pé C2 binary jẹ́ ara ọjà náà.
  • Ìjẹ́rìí ara-ẹni - àwọn ohun èlò axois:1.0.4 ó ní ọ̀rọ̀ orísun náà nínú // Yipada si '80.200.28.28' fun gbogbo eniyan lórí ìlà 12, tí ó ń jẹ́rìí sí ìlọsíwájú ìdàgbàsókè/ìpele/ìṣẹ̀dá tí àwọn olùṣiṣẹ́ sábà máa ń kọ̀.

iwuri

Ìsanwó Ìpele A jẹ́ olè ìnáwó tí ó rọrùn: àwọn ìwé ẹ̀rí, àwọn kọ́kọ́rọ́ ìkùukùu, àwọn àmì GitHub, àti àwọn àpò owó crypto gbogbo wọn ní ọjà títà omi. Ìpele B tún jẹ́ ti owó, ṣùgbọ́n tí kìí ṣe tààràtà: àwọn iṣẹ́ DDoS-for-hire (“booter”) yá agbára ìfọ́ omi ní ìṣẹ́jú kan, àti àwọn bot bí èyí tí a fi ránṣẹ́ níbí ni àwọn ọjà tí àwọn iṣẹ́ náà ń ṣiṣẹ́ lé lórí. Ìlù ọkàn 30-ìṣẹ́jú-àáyá, gbogbogbòò afojusun/ibudo/iye ètò àṣẹ, àti àwọn ohun ìjà ìkún omi márùn-ún ni standard ọjà ti oniṣẹ bata.

Nṣiṣẹ awọn modulu mejeeji ni afiwera — àwọ̀-ẹ̀rọ:1.0.19 ati 1.0.20 tẹ̀síwájú láti fi olè náà ránṣẹ́ nígbàtí àwọn ohun èlò axois:1.0.9 fi bot ranṣẹ — daba pe oniṣẹ naa n ṣe aabo fun awọn ṣiṣan owo-wiwọle dipo ki o fi Ipele A silẹ. Pivot naa jẹ afikun, kii ṣe iyipada.

Ohun tí a kò ń sọ pé a kò ní

A ko ti le jẹrisi idanimọ agbaye gidi kan lẹhin koodu ikú09284814 mu, a kò sì fi ìpolongo yìí hàn fún ẹnikẹ́ni tí a pè ní òṣèré ewu, ẹgbẹ́, tàbí orílẹ̀-èdè. Ìsọfúnni “àfọwọ́kọ” náà báramu tó láti fi hàn pé olùṣiṣẹ́ kan ṣoṣo ló wà, ṣùgbọ́n ìfiránṣẹ́ onípele C2 ti ṣí àǹfàní sílẹ̀ pé àwọn páálí ọjọ́ iwájú láti inú àwọn ọwọ́ tí kò bá ara wọn mu yóò tún lo kódì kan náà.

ikolu

Àwọn ibi ìfojúsùn squat tó tọ́ àá ati àwòṣe-ẹ̀rọ ni a gbarale pupọ ninu eto-ẹkọ JavaScript; àá òun nìkan ló wà lára ​​àwọn páálí npm ọgbọ̀n tó gbajúmọ̀ jùlọ. Àwọn orúkọ ìkọ̀wé àìtọ́ jẹ́ àmì kan ṣoṣo tó jìnnà sí àwọn tó jẹ́ òótọ́ (aksoisàá, tempalteawoṣe), àti pé àwọn méjèèjì jẹ́ àṣìṣe tí ó ṣeé ṣe ní èdè.

A kò le gba awọn iṣiro igbasilẹ ti o gbẹkẹle fun awọn ẹya irira ṣaaju ki a to ya kuro — npm ko ni idaduro awọn nọmba igbasilẹ fun ẹya kọọkan lẹhin ti a ko ba ti tẹjade package kan, ati npms.ioÀwọn aṣojú-ara-ẹni máa ń pariwo ní ìwọ̀n yìí. Èyíkéyìí àjọ tí fáìlì ìpamọ́ rẹ̀ bá di àkójọpọ̀ tí a dárúkọ awọn ohun elo axois or àwọ̀-ẹ̀rọ láti ọ̀dọ̀ olùtẹ̀wé koodu ikú09284814 yẹ kí a kà á sí ẹni tí a ti bàjẹ́: yí gbogbo ìwé ẹ̀rí tí ó wà nínú rẹ̀ padà ilana.env lórí olùgbàlejò tí ó ní ipa, àwọn ìfàsẹ́yìn ìdúróṣinṣin àyẹ̀wò fún OS kọ̀ọ̀kan (wo “Ohun tí àwọn olùgbèjà yẹ kí ó ṣe” ní ìsàlẹ̀), kí o sì mú ìgbẹ́kẹ̀lé náà kúrò.

Awọn ilana ti n yọ jade

Ipolongo yii ṣe apẹẹrẹ iyipada kan ti a ti rii ninu ọpọlọpọ awọn iṣẹlẹ npm laipẹ: Àwòrán ìkọ́lé tí a fi ń fi kọ́lé sí ni ohun ìní tí ó tọ́; ẹrù iṣẹ́ náà ṣeé yípadàOlùtẹ̀wé kan náà, àpò kan náà, kan náà fi sori ẹrọ tẹlẹ / fi sori ẹrọ / fifi sori ẹrọ lẹhin mẹ́ta, àti pàápàá irú kan náà-ìbọ́lẹ̀ ìbúgbàù — ohun kan ṣoṣo tó yípadà láàrín àwọn ohun èlò axois:1.0.6 ati àwọn ohun èlò axois:1.0.9 ni faili naa hooks run. Ìwádìí ìfọwọ́sowọ́pọ̀ tí a fi àmì sí tí a fi ṣe àmì sí ẹrù ìṣiṣẹ́ Phase A (àwọn okùn ọ̀nà àpò owó, phantom.jsOlùkójọpọ̀ ìlà 7,667 ti Serveo C2) ìbá ti ṣe àmì sí àwọn ẹ̀yà mẹ́ta àkọ́kọ́, yóò sì pàdánù Phase B pátápátá.

Irú ìlànà kan náà ni a rí ní gbogbo àwọn ìpolówó ọdún 2026 mìíràn tí a ti tọ́pasẹ̀: olùṣiṣẹ́ kan ṣoṣo tí ó ní àgbékalẹ̀ tí ó dúró ṣinṣin, tí ó ń yípadà láàrín olè ìjẹ́rìí, àwọn oníbàárà tí ń ṣe ìtanjẹ ìdánwò, Telegram-bot exfil, àti ìgbanisíṣẹ́ DDoS nísinsìnyí. Àwọn olùgbèjà tí wọ́n gbẹ́kẹ̀lé ìfọwọ́sowọ́pọ̀ owó-orí yóò máa pàdánù ní ìpele kejì gbogbo ìpolówó.

Àbájáde rẹ̀ ni pé Awọn TTP akoko fifi sori ẹrọ jẹ ifihan agbara ti o dara julọÀwọn ìkéde ìfilọ́lẹ̀ mẹ́ta, àwọn ìwé àfọwọ́kọ ìfilọ́lẹ̀ tí ó gbé wọlé https or omo_ilana, fi awọn iwe afọwọkọ sori ẹrọ ti o kọ si awọn folda ibẹrẹ olumulo, ati fi awọn iwe afọwọkọ sori ẹrọ ti o yanju awọn orukọ alejo lori awọn iṣẹ reverse-tunnel ọfẹ (Serveo, localhost.run, ngrok, cloudflared) gbogbo wọn ṣọ̀wọ́n nínú àwọn páálí tó tọ́ àti pé wọ́n wọ́pọ̀ láàárín àwọn tí kò dára.

Ohun tí àwọn olùgbèjà gbọ́dọ̀ ṣe

  • Àyẹ̀wò fáìlì titiipa. Ṣe àwárí ní gbogbo package-lock.json / owú.ìdènà / pnpm-lock.yaml nínú àjọ rẹ fún àwọn okùn pàtó awọn ohun elo axois ati àwọ̀-ẹ̀rọ. Gbìyànjú ìbáṣepọ̀ èyíkéyìí gẹ́gẹ́ bí àdéhùn.
  • Yi awọn aṣiri pada lórí àwọn olùgbàlejò tí ó ní ipa. Ìpele A Àwọn ìwé ẹ̀rí SSH, ìkùukùu, GitHub, npm, àti àpò owó tí a kó jọ pọ̀. Gba gbogbo ìwé ẹ̀rí tí ó wà níbẹ̀. ilana.env, ~ / .ssh, ~/.aws, ~/.npmrc, ~ / .kojukọ, tabi eyikeyi .env* fáìlì lórí olùgbàlejò tí ó kan náà ti fara hàn.
  • Yọ ìfaradà kúrò (Ìpele B). Lórí Windows, pa á rẹ́ HKCU\Software\Microsoft\Windows\CurrentVersion\Run\SystemUpdate, yọ kuro %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\system-update.bat, Ati schtasks /paarẹ /tn SystemUpdate /fLórí Linux, crontab -e ki o si yọ kuro @atunbere node …, systemctl –user mu –now phantom-bot.service kuro lẹhinna paarẹ ~/.config/systemd/user/phantom-bot.service, fọ .bashrc / .zshrc / /etc/rc.localLórí macOS, launchctl unload ~/Library/LaunchAgents/com.phantom.bot.plist lẹ́yìn náà, pa plist náà rẹ́.
  • Dènà àwọn olùgbàlejò C2. Fi awọn aaye opin C2 mẹrin kun ninu tabili IOC si akojọ awọn bulọọki ijade rẹ. *.servousercontent.com ati *.lhr.ìyè a le dí i ní gbogbogbòò bí àyíká rẹ kò bá ní lílo tó bófin mu fún àwọn iṣẹ́ ìyípadà-ọ̀nà.
  • Ṣe ìwá kiri nípasẹ̀ TTP àkókò fífi sori ẹrọ, kìí ṣe ẹrù iṣẹ́. Àwọn ìkọsílẹ̀ ààtò ìkópamọ́ tí ó jẹ́ pé package.json so fi sori ẹrọ tẹlẹ, fi sori ẹrọ, Ati fifi sori ẹrọ lẹhin gbogbo wọn ń tọ́ka sí ìwé àkọsílẹ̀ kan náà. Ṣàyẹ̀wò àgbéyẹ̀wò lòdì sí ọjọ́ orí àkójọpọ̀ àti ipò ìjẹ́rìísí olùtẹ̀wé. Àwòrán yìí ṣọ̀wọ́n nínú àwọn àkójọpọ̀ tó tọ́, ó sì jẹ́ àmì kan ṣoṣo tó ṣeé gbẹ́kẹ̀lé jùlọ tí PhantomBot ń lò.
  • Àyẹ̀wò fún C2 binary. Ẹnikẹ́ni tí ó bá gba láti ẹ̀rọ ayélujára àwọn ohun èlò axois:1.0.9 ni olupin C2 ti oniṣẹ (c2 ELF, sha256 165fa92d…) lórí díìsìkì. Àwọn ibi ìpamọ́ ìṣàyẹ̀wò àti àwọn ibi ìpamọ́ ohun èlò CI. Ẹ̀rọ alágbéka náà dúró fúnrarẹ̀, ṣùgbọ́n wíwà rẹ̀ lórí ibi iṣẹ́ jẹ́ ẹ̀rí tí kò ṣe kedere pé wọ́n fi àpò náà sí.

Ìlà ìparí

Olùṣiṣẹ́ kan náà, àpò kan náà, àti ìkọ́ ìfipamọ́ kan náà lè mú àwọn ewu tó yàtọ̀ pátápátá wá láàárín wákàtí mẹ́rìnlélógójì. Ẹ máa wo ìkọ́ náà, kì í ṣe ẹrù tó ń gbà.

àwọn irinṣẹ́ ìwádìí-àkójọpọ̀-ẹ̀rọ-sca-tools
Ṣe àfiyèsí, ṣe àtúnṣe, kí o sì dáàbò bo àwọn ewu sọ́fítíwè rẹ
Gba Akaunti Ọfẹ rẹ.
Ko si kaadi kirẹditi ti o nilo.

Ṣe aabo fun idagbasoke ati ifijiṣẹ sọfitiwia rẹ

pẹlu Xygeni Product Suite