TL; DR
Ein einzelner npm-Publisher, deadcode09284814hat eine Typosquat-Kampagne gegen die legitimen axios und chalk-template Pakete ab Mitte Mai 2026.
Die Kampagne begann als herkömmlicher Zugriffs- und Wallet-Diebstahl, bei dem Daten an einen Computer exfiltriert wurden. Serveo HTTPS-Tunnel.
On 2026-05-17, mit axois-utils:1.0.9Der Betreiber hat die Nutzlast komplett ausgetauscht: gleiches dreifaches Installations-Hook-Gerüst, gleicher Herausgeber, gleicher Paketname.
Das Installationsskript dient nun aber als Rekrutierungsinstrument für ein plattformübergreifendes DDoS-Botnetz.
Die Nutzlast spricht zu einem localhost.run Tunneling und akzeptiert Flood-Befehle, wodurch infizierte Umgebungen Teil eines DDoS-fähigen Botnetzes werden.
Der Betreiber hat sogar die C2-Server-Binärdatei im Tarball enthalten, was eine klare Eskalation vom Diebstahl von Zugangsdaten hin zu einer aktiven Botnetzinfrastruktur zeigt.
Zwei Pakete, vier Versionen sind noch im Register aktiv, und ein Betreiber führt nun beide Module parallel aus.
Schweregrad: hoch.
Der Angriff: Wie er funktioniert
Die Kampagne basiert auf einem bewusst langweiligen Auslieferungsgerüst: zwei fehlerhafte Paketnamen, die sich nur um einen Buchstaben von Paketen mit Hunderten von Millionen wöchentlichen Downloads unterscheiden (Axios, Kreidevorlageund dreifache Installation hooks die die Ausführung garantieren. Interessant ist, was das Gerüst trägt — und die Tatsache, dass der Betreiber die Ladung gewechselt hat, ohne sonst etwas zu ändern.
Das gemeinsame Gerüst
Jede veröffentlichte Version beider Pakete deklariert die gleichen drei Lebenszyklen. hooks in paket.json:
"scripts": { "preinstall": "node <payload>.js", "install": "node <payload>.js", "postinstall": "node <payload>.js" } Auflistung der Nutzlast unter allen drei hooks ist übertrieben — Nachinstallation allein würde im Standardzustand laufen npm installierenDie Wahl ist wichtig: npm install --ignore-scripts Skripte werden übersprungen, aber mehrere gängige Arbeitsabläufe (CI-Cache stellt den erneuten Lebenszyklus wieder her) hooks selektiv oder Entwickler, die nur prüfen Nachinstallation) eine dreifach redundante Deklaration zur sichersten Option für den Angreifer zu machen.
Kreidevorlage fügt einen zweiten Mechanismus hinzu: Es erklärt axois-utils:^1.0.7 als Laufzeit AbhängigkeitInstallation des typosquatted Kreidevorlage Daher wird auch das zugehörige Typosquat-Paket miteingebunden, und beide Nutzdaten werden ausgeführt. Die beiden Pakete bilden ein zusammengehöriges Paar und sind keine unabhängigen Einträge.
Phase A – Zugriffsrechte-/Wallet-Diebstahl (15.05.2026 → heute)
Phase A ist die ursprüngliche Nutzlast. Der Lader ist ein kurzer postinstall.js das auf einen Serveo HTTPS-Reverse-Tunnel verweist:
// chalk-tempalte/postinstall.js:11-13 const C2_HOST = "f04a273bd84c0622-80-200-28-28.serveousercontent.com"; const C2_PORT = 443; const C2_PATH = '/collect'; Die Serveo-Subdomain kodiert die Ziel-IP (80.200.28.28) direkt im Hostnamen – eine gängige Konvention für diesen Dienst. Der Betreiber ändert das zufällige Subdomain-Präfix zwischen den Versionen, um einfache Domain-Sperrlisten zu umgehen, aber die zugrunde liegende IP-Adresse ändert sich nie.chalk-template:1.0.14 benutzt 8a3e818ea8f11186-80-200-28-28…; 1.0.16 / 1.0.19 / 1.0.20 Verwendung f04a273bd84c0622-….)
postinstall.js Hände weg von phantom.js, ein 7,667 Zeilen umfassendes, gebündeltes „Collector“-Modul. phantom.js führt den Gastgeber für:
SSH private Schlüssel (~/.ssh/*) |
.npmrc Inhalte und jegliche npm_* Umgebungs-Tokens |
| AWS-, GCP- und Azure-Anmeldeinformationsdateien |
GitHub-regulärer Ausdruck für persönliches Zugriffstoken (ghp_*, gho_*, ghu_*, ghs_*) |
| Artefakte für Krypto-Wallets für Bitcoin, Exodus, Electrum, Monero, Litecoin, Dogecoin, Zcash und Dash |
Eine rekursive .env* durchlaufen ~/projects, ~/dev, ~/code, ~/workspaceund das Installationsverzeichnis |
Shell-Historien und die vollständige process.env |
Das Paket wird per POST an den Serveo-Tunnel gesendet. / sammelnEs gibt keine Verschleierung, keine Anti-VM-Logik, kein Staging – der Betreiber setzt auf Volumen und Geschwindigkeit.
Phase B — PhantomBot DDoS-Rekrutierung (17.05.2026, nur axois-utils:1.0.9)
Phase B ersetzt phantom.js und postinstall.js durch eine einzelne Datei namens distrube.js (der Tippfehler bezieht sich auf den Operator). Das Triple-Hook-Gerüst in package.json bleibt unverändert; das Paket behält denselben Namen, Gültigkeitsbereich und dasselbe Versionssprungmuster. Äußerlich betrachtet wirkt axois-utils:1.0.9 wie eine kleinere Weiterentwicklung von 1.0.6. Intern handelt es sich jedoch um eine andere Malware-Familie.
disturbe.js beginnt mit einem Konfigurationsblock, der das Branding des Betreibers benennt:
// 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')}`; |
Die Kommentare richten sich an einen zukünftigen Benutzer, der das Kit ausführt („Verwenden Sie Ihre localhost.run HTTPS-URL“). Dies, zusammen mit dem, was als Nächstes an den Bot-Client gesendet wird, ist der Beweis dafür, dass es sich nicht nur um eine Opfer-Payload handelt – es ist das Kit selbst.
Der Ablauf:
- Beharrlichkeit Das Skript wird zuerst ausgeführt. Es installiert sich je nach Betriebssystem auf drei verschiedene Arten (Registry). Führen Sie + Autostart-Ordner + Schtasks unter Windows; crontab + phantom-bot.service systemd-Einheit + .bashrc/.zshrc anhängen + /etc/rc.local auf Linux; LaunchAgent com.phantom.bot.plist (unter macOS). Der Name des Persistenzdienstes und die Bezeichnung LaunchAgent sind beide Phantom-Bot / com.phantom.botDaher stammt auch der Name der Kampagne.
- Systeminfo-Exfiltration Wird einmalig ausgeführt – ein einmaliger Fingerabdruck-POST an b94b6bcfa27554.lhr.life:443/collect mit Hostname, Plattform, Architektur, Benutzername, CPU/RAM-Auslastung, Netzwerkschnittstellen, Prozessumgebungsdatei, aktuelles Arbeitsverzeichnis, Home-Verzeichnis, Node-Version und öffentlicher IP-Adresse. Dies ist deutlich weniger aggressiv als Phase A: kein SSH, keine Wallets, keine rekursive Bearbeitung der .env-Datei. Die Aufgabe des Bots ist die Registrierung, nicht der Diebstahl.
- Herzschlagschleife Alle 30 Sekunden wird ein HTTPS-POST-Request an b94b6bcfa27554.lhr.life:443/ gesendet. Der User-Agent ist PhantomBot/1.0. Die TLS-Verifizierung ist explizit deaktiviert (rejectUnauthorized: false). Die C2-Antwort wird als JSON im Format {type, target, port, duration, threads, method} geparst und weitergeleitet.
- Flutarsenal ist mit sechs Befehlen verbunden:
| Befehlstyp | Modul | Notizen |
|---|---|---|
| Klingeln | Antwort auf die Frage nach der Lebendigkeit | Der Bot identifiziert sich. |
| http | HTTP-Flood | Layer-7-Anfrageflut |
| https | HTTPS-Flut | Dasselbe wie http, TLS-verschlüsselt |
| TCP | TCP-Flut | 65 KB Spam mit zufälliger Nutzlast |
| UDP | UDP-Flut | 65,507-Byte-UDP-Pakete |
| schnell | HTTP/2 Rapid-Reset-DoS | Die 2023 CVE-2023-44487-Technik |
Alle fünf Flutmodule benötigen eine Ziel, port , Dauer und Themen Argument – der Bot ist ein generischer, käuflicher Flooder, der nicht auf ein bestimmtes Opfer abzielt. Die Opferliste des Betreibers befindet sich auf dem C2-Server, nicht im Paket.
Neu hier – die ausgelieferte C2-Binärdatei
Phase A hat ein bekanntes Muster: Diebstahl von Zugangsdaten, Installation eines Hooks, C2-Tunnel durch den Anbieter. Phase B ist ebenfalls Eine vertraute Form – DDoS-Botnetze sind seit Jahren ein fester Bestandteil bösartiger npm-Pakete. Ungewöhnlich ist jedoch, dass der Betreiber die serverseitig des Kits im npm-Tarball:
- c2 — eine 4 Megabyte große kompilierte Go-ELF-Binärdatei
- c2.go — der 426 Zeilen lange Go-Quellcode für diese Binärdatei
Keine der Dateien wird von einem Installations-Hook aufgerufen. Sie sind nicht Teil der Payload des Opfers. Sie befinden sich im Paketverzeichnis, genau wie eine Dokumentationsdatei. Am wahrscheinlichsten ist, dass der Angreifer seinen Entwicklungszweig ohne Überprüfung der Dateiliste auf npm hochgeladen hat – ein schwerwiegender Sicherheitsfehler – und dadurch das komplette, zweiseitige Paket ausgeliefert wurde: der Client, den das Opfer ausführt, und der Server, den der Angreifer betreibt.
Dieser Teil der Geschichte rechtfertigt die Darstellung als „schlüsselfertiges Botnetz-Kit“. Jeder, der es heruntergeladen hat… axois-utils:1.0.9 Bevor der Server abgeschaltet wird, verfügen die Angreifer nicht nur über ein Opfer-Sample, sondern auch über einen funktionierenden C2-Server.
Der Dreh- und Angelpunkt, in einem Satz
Derselbe Verlag, dieselben Paketnamen, dasselbe dreifache Haken-Gerüst, dieselbe „Phantom“-Marke – aber Die Nutzlast veränderte über Nacht das Monetarisierungsmodell.Von „Geheimnisse sammeln, die ich weiterverkaufen kann“ zu „Überlastungskapazität mieten, die ich verpachten kann“. Die TTPs (Taktiken, Techniken und Verfahren) während der Installation, die Verteidiger im Auge behalten sollten, sind in beiden Phasen nahezu identisch; signaturbasierte Verteidigungsmaßnahmen, die auf die Wallet-Pfad-Strings von Phase A oder auf phantom.jsDer 7,667-Zeilen-Kollektor hätte Phase B komplett verpasst.
| Datum (UTC) | Event |
|---|---|
| 2026-05-15 | Erstveröffentlichung: axois-utils:1.0.4 (LAN-Testaufbau, Entwicklungsumgebung bei 192.168.129.19) |
| 2026-05-15 | axois-utils:1.0.6 veröffentlicht — Phase A C2 getauscht auf 80.200.28.28 über den Serveo-Tunnel; der Quellkommentar // Change to '80.200.28.28' for public bestätigt den Wechsel von der Entwicklungs- zur Produktionsumgebung. |
| 2026-05-16 | chalk-tempalte:1.0.14 und 1.0.16 veröffentlicht — verketteter Lader meldet axois-utils:^1.0.7 als Laufzeitabhängigkeit; Serveo-Subdomain rotiert |
| 2026-05-16 | Phase-A-Kampagne bei routinemäßiger npm-Überprüfung entdeckt; als bösartig bestätigt. |
| 2026-05-17 | axois-utils:1.0.9 Veröffentlicht – Payload-Pivot: PhantomBot DDoS-Angriffsrekrutierung über localhost.run-Tunnel; Betreiberseite c2 binär und c2.go Die Quelle wurde im Tarball mitgeliefert. |
| 2026-05-17 | chalk-tempalte:1.0.19 und 1.0.20 veröffentlicht – weiterhin Phase A (Dieb); Betreiber führt nun beide Module parallel aus |
| 2026-05-17 | Entdeckung der Phase B im Rahmen einer Routineuntersuchung; die Ergebnisse werden auf alle Fälle angewendet 2026-05-17 Versionen |
| (laufend) | Meldungen über die Entfernung von Paketen liegen vor; alle vier veröffentlichten Pakete sind zum Zeitpunkt der Veröffentlichung weiterhin im Register verfügbar. |
Kompromissindikatoren
Pakete
| Ökosystem | Verpackung | Versionen |
|---|---|---|
| npm | axois-utils (typosquat of axios) | 1.0.4, 1.0.6, 1.0.9 |
| npm | chalk-tempalte (Tippfehler von Kreidevorlage) | 1.0.14, 1.0.16, 1.0.19, 1.0.20 |
Autorenidentität
| Feld | Wert |
|---|---|
| npm-Publisher | deadcode09284814 |
| E-Mail-Adresse des Herausgebers | phantomdeadcode@tutamail.com |
| SCM Überprüfung | keine |
Befehl und Kontrolle
| Phase | Endpunkt | Transport |
|---|---|---|
| A | f04a273bd84c0622-80-200-28-28.serveousercontent.com:443/collect | Serveo HTTPS-Tunnel |
| A | 8a3e818ea8f11186-80-200-28-28.serveousercontent.com:443/collect | Serveo HTTPS-Tunnel (ältere Version) |
| A | 80.200.28.28:443/collect | Zugrundeliegender VPS-Endpunkt |
| B | b94b6bcfa27554.lhr.life:443/ | localhost.run HTTPS-Reverse-Tunnel |
Datei-Digests (SHA-256)
| Reichen Sie das | SHA-256 | Notizen |
|---|---|---|
c2 (Go ELF, 4 MB) | 165fa92d237fd017c227d00da06ab788212a62be94bf61e95df2d22d00377ef2 | Betreiberseitiger C2-Server, wird im Inneren ausgeliefert axois-utils:1.0.9 |
c2.go (426 Zeilen) | 7d0ae79fdb1e9968f3323a3712b624643a782ba3efb2cf3a2cb9c4c5513cea30 | Go-Quellcode für die C2-Binärdatei |
distrube.js | 308b15c023088a7188dea4ef609010ac2493eb4c365b103053d7621a9ca5b935 | Phase B Bot-Client |
phantom.js (chalk-tempalte:1.0.19) | 9e380ec88d3ccf3929e1a104e3b868d4d7b59ca189a8a431a54e9f3357dfdd81 | Phase-A-Ausweis-/Geldbörsensammler |
phantom.js (chalk-tempalte:1.0.20) | d1c9e3f296ee9f7d5032f73f9c504cede50334bc14c394055fd5cb9c3a6e08b3 | Phase-A-Kollektor (Variante 1.0.20) |
postinstall.js (chalk-tempalte:1.0.19 = 1.0.20) | ffba9bdd6793edd5b38e12900252c1813a693f59c25af51c3b658cf3f27b6162 | Phase-A-Loader, byte-identisch in beiden Versionen |
Attribution und Motivation
Wir verfolgen diese Kampagne als PhantomBot, wobei das eigene Branding des Betreibers von der User-Agent: PhantomBot/1.0 Herzschlag-Überschrift, die phantom-bot.service systemd-Einheit, die com.phantom.bot LaunchAgent-Label und die phantomdeadcode@ E-Mail-Handle. Der Betreiber verwendet diesen Namen in mindestens vier Artefakten einheitlich.
Signalkatalog
- Publisher - Deadcode09284814 auf npm. Einzelbenutzerkonto, Tutamail-Wegwerf-E-Mail-Adresse, nein SCM Bestätigung. Keine vorherigen Veröffentlichungen über diese Kampagne hinaus.
- Wiederverwendung von Marken — „Phantom“ erscheint in der E-Mail des Herausgebers, im Dateinamen des Phase-A-Collectors (phantom.js), im Persistenzdienstnamen der Phase B (phantom-bot.service), im LaunchAgent-Label (com.phantom.bot), und im Bot-User-Agent (PhantomBot/1.0).
- Infrastruktur — Ein einzelner VPS bei 80.200.28.28 Phase A wird über die Rotation der Serveo-Subdomäne abgeschlossen; Phase B bewegt sich zu einem localhost.run umgekehrter Tunnel (b94b6bcfa27554.lhr.lifeBeide Anbieterdienste sind kostenlos und erfordern lediglich ausgehende SSH-Verbindungen auf Betreiberseite, was mit kostengünstigen Setups mit geringen OpSec-Anforderungen vereinbar ist.
- Codestil — Durchgehend reines JavaScript; keine Verschleierung, keine String-Kodierung, keine Anti-VM-Prüfungen. Variablennamen sind aussagekräftig (Systeminformationen stehlen, Befehl ausführen, httpFloodKommentare in disturbe.js Die direkte Ansprache eines zukünftigen Benutzers („Verwenden Sie Ihre localhost.run HTTPS-URL“) lässt darauf schließen, dass die Datei als Kit weiterverbreitet werden soll und nicht von einem einzelnen Angreifer verwendet wird.
- OpSec-Hinweis — Das Phase-B-Tarball enthält sowohl den Bot-Client als auch den betreiberseitigen C2-Server (c2 ELF + c2.go (Quelle). Dies deutet darauf hin, dass ein Benutzer seinen Arbeitsverzeichnis auf npm hochgeladen hat, ohne die Dateiliste zu überprüfen. Entweder ist der Benutzer unerfahren oder das Tool ist fehlerhaft. gemeint soll öffentlich verbreitet werden und die C2-Binärdatei ist Teil des Produkts.
- Selbstbestätigung - axois-utils:1.0.4 enthält den Quellkommentar // Ändern Sie die Adresse für öffentliche Anfragen auf '80.200.28.28'. in Zeile 12, was den Entwicklungs-/Staging-/Produktionsfortschritt bestätigt, den die Betreiber normalerweise leugnen.
Motivation
Die Phase-A-Nutzlast ist direkter Finanzdiebstahl: Zugangsdaten, Cloud-Schlüssel, GitHub-Token und Krypto-Wallets finden sich auf liquiden Wiederverkaufsmärkten. Phase B ist ebenfalls finanzieller Natur, jedoch indirekt: DDoS-Dienstleister („Booter“) mieten Flutkapazität minutengenau, und Bots wie der hier verwendete bilden das Inventar dieser Dienste. Der 30-Sekunden-Heartbeat, das generische Ziel/port /Dauer Das Befehlsschema und das Fünf-Protokoll-Flut-Arsenal sind die standard Produkt eines Booters.
Beide Module parallel ausführen — chalk-template:1.0.19 und 1.0.20 Den Dieb weiterhin versenden, während axois-utils:1.0.9 Der Bot wird nun ausgeliefert – das deutet darauf hin, dass der Betreiber seine Einnahmequellen absichert, anstatt Phase A aufzugeben. Der Kurswechsel ist ein Zusatz, kein Ersatz.
Was wir nicht behaupten
Es ist uns nicht gelungen, die Identität des/der Verfassers/Verfasserin in der realen Welt zu bestätigen. Deadcode09284814 Wir ordnen diese Kampagne keinem bestimmten Akteur, keiner Gruppe oder keinem Land zu. Die Verwendung des „Phantom“-Brandings ist in den verschiedenen Artefakten so einheitlich, dass sie auf einen einzelnen Betreiber schließen lässt. Die Bereitstellung der C2-Binärdatei als Paket lässt jedoch die Möglichkeit offen, dass zukünftige Pakete von unabhängigen Accounts denselben Code wiederverwenden.
Auswirkungen, Trends und was Verteidiger tun sollten
Auswirkungen
Die legitimen Kniebeugenziele Axios und Kreidevorlage sind im JavaScript-Ökosystem weit verbreitet; Axios Allein zählt es zu den dreißig am häufigsten heruntergeladenen npm-Paketen. Die Tippfehlernamen sind nur einen Tastendruck von den echten Namen entfernt (Axois ↔ Axios, Vorlage ↔ Vorlage), und beides sind linguistisch plausible Rechtschreibfehler.
Wir konnten vor der Entfernung keine verlässlichen Downloadstatistiken für die schädlichen Versionen ermitteln – npm speichert keine Downloadzahlen pro Version, nachdem ein Paket entfernt wurde, und npms.io-Style-Proxys sind in diesem Umfang unübersichtlich. Jede Organisation, deren Sperrdatei auf ein Paket mit dem Namen aufgelöst wird axois-utils or Kreidevorlage vom Verlag Deadcode09284814 sollte als kompromittiert behandelt werden: Alle vorhandenen Anmeldeinformationen müssen regelmäßig ausgetauscht werden. prozess.env Überprüfen Sie auf dem betroffenen Host die Persistenzvektoren pro Betriebssystem (siehe „Was Verteidiger tun sollten“ weiter unten) und entfernen Sie die Abhängigkeit.
Neue Muster
Diese Kampagne verdeutlicht einen Wandel, den wir in mehreren jüngsten npm-Vorfällen beobachtet haben: Das Montagehakengerüst ist das langlebige GutDie Nutzlast ist austauschbarDerselbe Verlag, dieselbe Verpackung, dasselbe Vorinstallation / installieren / Nachinstallation dreifach, und sogar der gleiche Versionssprungrhythmus – das Einzige, was sich zwischen axois-utils:1.0.6 und axois-utils:1.0.9 war die Datei die hooks Ausführung. Signaturbasierte Erkennung, abgestimmt auf die Phase-A-Nutzdaten (Wallet-Pfad-Zeichenketten, phantom.jsDer 7,667-Zeilen-Collector des Serveo C2-Hosts hätte die ersten drei Versionen erkannt und Phase B komplett verpasst.
Das gleiche Muster zeigt sich auch in anderen von uns beobachteten Kampagnen im Jahr 2026: Ein einzelner Akteur mit einer stabilen Infrastruktur wechselt zwischen Anmeldedatendiebstahl, Clients, die Prüfungen manipulieren, Datenexfiltration über Telegram-Bots und nun auch DDoS-Angriffen zur Rekrutierung von Angreifern. Verteidiger, die sich auf Payload-Signaturen verlassen, werden in jeder Kampagne die zweite Runde verlieren.
Daraus folgt, dass Installationszeit-TTPs sind das bessere SignalDreifache Installations-Hook-Deklarationen, Installationsskripte, die importieren https or child_process, installieren Sie Skripte, die in Benutzerstartordner schreiben, und installieren Sie Skripte, die Hostnamen auf kostenlosen Reverse-Tunnel-Diensten auflösen (Serveo, localhost.run, ngrok, cloudflared) sind in legitimen Paketen selten, in bösartigen Paketen hingegen häufig anzutreffen.
Was Verteidiger tun sollten
- Sperrdatei-Prüfung. Durchsuchen Sie alle Paket-lock.json / Garn.Lock / pnpm-lock.yaml in Ihrer Organisation für die genauen Zeichenketten axois-utils und KreidevorlageBetrachten Sie jedes Spiel als Kompromiss.
- Geheimnisse rotieren auf betroffenen Wirten. Phase A: Massenhafte Erfassung von SSH-, Cloud-, GitHub-, npm- und Wallet-Zugangsdaten. Es wird davon ausgegangen, dass alle jemals vorhandenen Zugangsdaten erfasst werden. prozess.env, ~ / .ssh, ~/.aws, ~/.npmrc, ~ / .config, oder irgendein .env* Eine Datei auf dem betroffenen Host ist ungeschützt.
- Persistenz beseitigen (Phase B). Unter Windows löschen HKCU\Software\Microsoft\Windows\CurrentVersion\Run\SystemUpdate, entfernen %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\system-update.bat und schtasks /delete /tn SystemUpdate /fUnter Linux, crontab -e und entfernen @reboot node …, systemctl --user disable --now phantom-bot.service dann löschen ~/.config/systemd/user/phantom-bot.service, schrubben .bashrc / .zshrc / /etc/rc.localAuf macOS launchctl unload ~/Library/LaunchAgents/com.phantom.bot.plist Löschen Sie anschließend die plist-Datei.
- Blockieren Sie die C2-Hosts. Fügen Sie die vier C2-Endpunkte in der IOC-Tabelle Ihrer Ausgangssperrliste hinzu. *.serveousercontent.com und *.lhr.life Die Dienste können vollständig blockiert werden, wenn Ihre Umgebung keine legitime Verwendung für Reverse-Tunnel-Dienste hat.
- Jagd nach Installationszeit-TTP, nicht Nutzlast. Inventar-Sperrdateieinträge, deren paket.json erklärt Vorinstallation, installieren und Nachinstallation Alle verweisen auf dasselbe Skript. Überprüfen Sie dies anhand des Paketalters und des Verifizierungsstatus des Herausgebers. Dieses Muster ist bei legitimen Paketen selten und das zuverlässigste Signal, das PhantomBot wiederverwendet.
- Prüfung der C2-Binärdatei. Jeder, der heruntergeladen hat axois-utils:1.0.9 verfügt über den C2-Server des Betreibers (c2 ELF, sha256 165fa92d…) auf der Festplatte. Scannen Sie Caches und CI-Artefaktspeicher. Die Binärdatei selbst ist inaktiv, aber ihre Anwesenheit auf einer Workstation ist ein eindeutiger Beweis dafür, dass das Paket installiert wurde.
Schlusslinie
Derselbe Betreiber, dasselbe Paket und derselbe Installations-Hook können innerhalb von 48 Stunden völlig unterschiedliche Bedrohungen auslösen. Achten Sie auf das Gerüst, nicht auf die Nutzlast.




