🔍 Contexte
Publié le 29 septembre 2026 par SafeDep (safedep.io), cet article présente une analyse technique détaillée d’une campagne de supply chain nommée DirtyBlanket. Neuf packages npm malveillants ont été publiés le même jour entre 06:05 et 06:38 UTC par le compte npm dirtyblanket.
📦 Packages malveillants
Les neuf packages imitent des bibliothèques populaires :
- Express :
xeprews,express-javascript,express-nodejs,exprdd,exprrdd,exptrdd,exptred,exptredd(version 5.2.1) - React :
react-nodejs(version 19.3.0)
Tous partagent le même hook preinstall qui télécharge un script via l’Internet Archive (Wayback Machine) pour contourner les listes blanches réseau.
⚙️ Chaîne d’infection
- Le hook
preinstalltéléchargenode.jsviaweb.archive.org(proxy vers Codeberg) node.jstéléchargelinux.shdepuis Codeberg et l’exécute via bashlinux.shinstalle le backdoor systemd-fontd (basé sur l’outil open-source CHAOS RAT) déguisé en service systemd de rendu de polices- Le backdoor communique via Tor (socks5://127.0.0.1:9050) vers un service caché
.onion
🌐 Mécanismes de propagation
- SSH : utilise toutes les clés privées OpenSSH trouvées sur la machine pour se connecter aux hôtes dans
known_hostset s’y exécuter - AUR (Arch User Repository) : modifie les packages AUR maintenus par les propriétaires des clés SSH pour y injecter le ver
- npm : publie de nouvelles versions infectées de tous les packages npm trouvés sur la machine en utilisant les tokens
.npmrcdisponibles
🔧 Backdoor systemd-fontd
- Binaire Go 7,6 Mo pour Linux x86-64, basé sur CHAOS client (
github.com/tiagorlampert/CHAOS/client) - SHA-256 :
2c9dbc14809f1e1aebda114194368b002acf74c8760b88fc101f625d179793c2 - Installé dans
/usr/lib/systemd/systemd-fontrenderdavecchattr +i(immutable) - Capacités : shell distant, captures d’écran, exploration/téléchargement de fichiers, upload, reboot/shutdown
- Serveur C2 : service Tor hidden
.onionsur port 80 - JWT d’authentification expirant le 29 septembre 2027
🎯 Portée de l’impact
Toute machine Linux ayant installé l’un de ces packages doit être considérée comme entièrement compromise, ainsi que toutes les clés SSH et tokens npm présents dessus.
📄 Type d’article
Analyse technique approfondie à visée CTI, publiée par SafeDep pour documenter la campagne, fournir les IoCs et décrire le fonctionnement du ver.
🧠 TTPs et IOCs détectés
TTP
- T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
- T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
- T1059.006 — Command and Scripting Interpreter: Python (Execution)
- T1543.002 — Create or Modify System Process: Systemd Service (Persistence)
- T1021.004 — Remote Services: SSH (Lateral Movement)
- T1552.004 — Unsecured Credentials: Private Keys (Credential Access)
- T1090.003 — Proxy: Multi-hop Proxy (Command and Control)
- T1496 — Resource Hijacking (Impact)
- T1036.004 — Masquerading: Masquerade Task or Service (Defense Evasion)
- T1222.002 — File and Directory Permissions Modification: Linux and Mac File and Directory Permissions Modification (Defense Evasion)
- T1113 — Screen Capture (Collection)
- T1567 — Exfiltration Over Web Service (Exfiltration)
IOC
- Domaines :
codeberg.org— VT · URLhaus · ThreatFox - Domaines :
s5n2uyo6gb6dhirsm5pihwohi6e7ayrwojx4xjow4cqabmbowpezenid.onion— VT · URLhaus · ThreatFox - Domaines :
ooynib.com— VT · URLhaus · ThreatFox - URLs :
https://codeberg.org/hellscripter/install-scripts/raw/branch/main/linux.sh— URLhaus - URLs :
https://web.archive.org/web/https://codeberg.org/hellscripter/install-scripts/raw/branch/main/node.js— URLhaus - URLs :
https://web.archive.org/web/https://codeberg.org/hellscripter/install-scripts/raw/branch/main/linux.sh— URLhaus - SHA256 :
2c9dbc14809f1e1aebda114194368b002acf74c8760b88fc101f625d179793c2— VT · MalwareBazaar - Emails :
s7dwzxru4z@ooynib.com - Fichiers :
linux.sh - Fichiers :
node.js - Fichiers :
systemd-fontrenderd - Chemins :
/usr/lib/systemd/systemd-fontrenderd - Chemins :
/etc/systemd/system/systemd-fontrenderd.service - Chemins :
/tmp/log
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 29 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
Malware / Outils
- CHAOS RAT (rat)
- systemd-fontd (backdoor)
- linux.sh (other)
🟡 Indice de vérification factuelle : 63/100 (moyenne)
- ⬜ safedep.io — source non référencée (0pts)
- ✅ 25025 chars — texte complet (fulltext extrait) (15pts)
- ✅ 14 IOCs dont des hashes (15pts)
- ✅ 1/7 IOC(s) confirmé(s) (MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (8pts)
- ✅ 12 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
IOCs confirmés externellement :
2c9dbc14809f1e1a…(sha256) → VT (19/76 détections)
🔗 Source originale : https://safedep.io/dirtyblanket-express-impersonation-npm/