đ Contexte
PubliĂ© le 4 mai 2026 par les chercheurs Aliakbar Zahravi et Ahmed Mohamed Ibrahim de Trend Micro, cet article prĂ©sente l’analyse technique complĂšte de Quasar Linux (QLNX), un implant Linux prĂ©cĂ©demment non documentĂ© dĂ©couvert via une approche de threat hunting assistĂ©e par IA. Le malware prĂ©sente un taux de dĂ©tection trĂšs faible et cible spĂ©cifiquement les environnements de dĂ©veloppement logiciel.
đŻ Cibles et objectifs
QLNX est conçu pour compromettre les dĂ©veloppeurs et Ă©quipes DevOps afin d’infiltrer la chaĂźne d’approvisionnement logicielle. Son module de credential harvesting cible explicitement :
- Tokens NPM (
.npmrc), clés PyPI (.pypirc), tokens GitHub CLI - Credentials AWS (
.aws/credentials), kubeconfig Kubernetes, Docker Hub - Tokens Git, HashiCorp Vault, Terraform, fichiers
.env - Clés SSH privées, bases de données de navigateurs (Chrome, Firefox)
/etc/shadow(si root), historiques shell, presse-papiers X11
âïž CapacitĂ©s techniques
Exécution furtive :
- Exécution fileless via
memfd_create+execveat(syscalls 319/322) - Auto-suppression du binaire sur disque aprÚs chargement en mémoire
- Usurpation du nom de processus (faux threads kernel :
[kworker/0:0],[rcu_sched], etc.) - Mutex single-instance via lock file
/tmp/.X752e2ca1-lock
Rootkit double couche :
- Userspace : rootkit LD_PRELOAD compilé à la volée sur la cible via
gcc, hookantreaddir,stat,open,fopen,accesspour masquer fichiers, PIDs et ports - Kernel : contrÎleur eBPF gérant des BPF maps pour cacher PIDs, fichiers et ports réseau (kernel ℠4.18 requis)
Backdoor PAM :
- Deux implémentations embarquées comme code source C compilé dynamiquement sur la cible
- Interception inline des authentifications PAM pour capturer les mots de passe en clair
- Mot de passe maßtre hardcodé :
O$$f$QtYJK - Stockage XOR-chiffré dans
/var/log/.ICE-unixet/var/log/.Test-unix
Persistance (7 mécanismes) :
- Service systemd systĂšme et utilisateur, crontab
@reboot, script init.d, injection.bashrc, LD_PRELOAD shared library, XDG autostart desktop - Tous les artefacts contiennent le marqueur
QLNX_MANAGED
Communications C2 :
- Protocole TCP binaire custom sur TLS (défaut), HTTPS et HTTP
- Magic identifier
QLNX(51 4C 4E 58) en début de session - Beacon initial incluant version (1.4.1), OS, privilÚges, géolocalisation (via
ip-api.com), fingerprint machine (SHA256 de MAC/machine-id), username, hostname - Jitter aléatoire entre 3 000 et 15 000 ms pour le beaconing
- 58 commandes enregistrées couvrant shell PTY, gestion fichiers, injection de processus, keylogging, screenshots, SOCKS proxy, port forwarding, BOF/COFF en mémoire
Réseau P2P mesh :
- Les implants forment un réseau maillé résilient permettant le relais C2 agent-à -agent
Surveillance :
- Keylogger via
/dev/input(raw) ou X11 (fallback) - Capture d’Ă©cran, monitoring presse-papiers avec dĂ©duplication SHA256
- Monitoring filesystem temps réel via
inotify - Timestomping via
utimensat
đŠ Artefacts et IoCs
Le binaire principal (quasar-implant, 147,91 KB, ELF 64-bit x86-64) embarque le code source C des composants rootkit et PAM comme littéraux de chaßnes, compilés dynamiquement sur la cible. Les fichiers persistants incluent /usr/lib/libsecurity_utils.so.1, /usr/lib/.libpam_cache.so, et des entrées dans /etc/ld.so.preload.
đ° Nature de l’article
Il s’agit d’une analyse technique approfondie publiĂ©e par Trend Micro Research, visant Ă documenter un malware Linux inĂ©dit, fournir des IoCs exploitables et des requĂȘtes de hunting pour les clients Trend Vision One.
đ§ TTPs et IOCs dĂ©tectĂ©s
TTP
- T1059.004 â Command and Scripting Interpreter: Unix Shell (Execution)
- T1055.009 â Process Injection: Proc Memory (Defense Evasion)
- T1055.001 â Process Injection: Dynamic-link Library Injection (Defense Evasion)
- T1574.006 â Hijack Execution Flow: Dynamic Linker Hijacking (Persistence)
- T1543.002 â Create or Modify System Process: Systemd Service (Persistence)
- T1053.003 â Scheduled Task/Job: Cron (Persistence)
- T1037.004 â Boot or Logon Initialization Scripts: RC Scripts (Persistence)
- T1547.013 â Boot or Logon Autostart Execution: XDG Autostart Entries (Persistence)
- T1546.004 â Event Triggered Execution: Unix Shell Configuration Modification (Persistence)
- T1036.005 â Masquerading: Match Legitimate Name or Location (Defense Evasion)
- T1036.003 â Masquerading: Rename System Utilities (Defense Evasion)
- T1070.003 â Indicator Removal: Clear Command History (Defense Evasion)
- T1070.006 â Indicator Removal: Timestomp (Defense Evasion)
- T1070.002 â Indicator Removal: Clear Linux or Mac System Logs (Defense Evasion)
- T1027.011 â Obfuscated Files or Information: Fileless Storage (Defense Evasion)
- T1014 â Rootkit (Defense Evasion)
- T1556.003 â Modify Authentication Process: Pluggable Authentication Modules (Credential Access)
- T1552.001 â Unsecured Credentials: Credentials In Files (Credential Access)
- T1552.004 â Unsecured Credentials: Private Keys (Credential Access)
- T1056.001 â Input Capture: Keylogging (Collection)
- T1113 â Screen Capture (Collection)
- T1115 â Clipboard Data (Collection)
- T1005 â Data from Local System (Collection)
- T1041 â Exfiltration Over C2 Channel (Exfiltration)
- T1090.001 â Proxy: Internal Proxy (Command and Control)
- T1090.003 â Proxy: Multi-hop Proxy (Command and Control)
- T1095 â Non-Application Layer Protocol (Command and Control)
- T1573.002 â Encrypted Channel: Asymmetric Cryptography (Command and Control)
- T1571 â Non-Standard Port (Command and Control)
- T1021.004 â Remote Services: SSH (Lateral Movement)
- T1046 â Network Service Discovery (Discovery)
- T1057 â Process Discovery (Discovery)
- T1082 â System Information Discovery (Discovery)
- T1083 â File and Directory Discovery (Discovery)
- T1548.003 â Abuse Elevation Control Mechanism: Sudo and Sudo Caching (Privilege Escalation)
- T1620 â Reflective Code Loading (Defense Evasion)
- T1610 â Deploy Container (Defense Evasion)
IOC
- SHA256 :
ea1d34b21b739a6bbf89b3f7e67978005cf7f3eda612cefc7eac1c8ead7c5545â VT · MalwareBazaar - SHA256 :
82daa93219ba40a6e41cdf3174ba57eb5d3383d1cd805584e9954eb0200182a1â VT · MalwareBazaar - SHA256 :
42d0c420eb5fe181388f2e4f0b7d7c0d302971e7a06fdc1bec481b68c8ccae1fâ VT · MalwareBazaar - SHA256 :
c99cf0dc1ef1057d713cb082acaf42e4df4656809c91741752bddcab39bbfacaâ VT · MalwareBazaar - SHA256 :
ea89caab82181881d971be312412795051f6322b105c8b9d29cfb5729fab8d33â VT · MalwareBazaar - SHA256 :
417430b2d4ae8d005224a9ff5dcb4007d452338acbcbcbb62c4e8ed1a70552ddâ VT · MalwareBazaar - SHA256 :
d55549d5655e2f202e215676f4bdb0994ea08a93d15ec4ded413f64cfa7facc8â VT · MalwareBazaar - SHA1 :
b0f2c668cbdd63a871c90592b6c93e931115872eâ VT · MalwareBazaar - MD5 :
70f70743f287a837d17c56933152a8a6â VT · MalwareBazaar - Fichiers :
quasar-implant - Fichiers :
libsecurity_utils.so.1 - Fichiers :
pam_security.so - Fichiers :
hide_src_39ZzH.c - Fichiers :
pam_src_51YyC3.c - Fichiers :
libpam_cache.so - Fichiers :
pcs_a3kf9x.c - Chemins :
/usr/lib/libsecurity_utils.so.1 - Chemins :
/usr/lib/.libpam_cache.so - Chemins :
/etc/ld.so.preload - Chemins :
/tmp/.pam_cache - Chemins :
/var/log/.Test-unix - Chemins :
/var/log/.ICE-unix - Chemins :
/tmp/.X752e2ca1-lock - Chemins :
~/.config/systemd/user/quasar_linux.service - Chemins :
~/.config/autostart/quasar_linux.desktop - Chemins :
/etc/systemd/system/quasar_linux.service - Chemins :
/etc/init.d/quasar_linux
Malware / Outils
- Quasar Linux (QLNX) (rat)
- pam_security.so (backdoor)
- libsecurity_utils.so.1 (other)
- libpam_cache.so (other)
đą Indice de vĂ©rification factuelle : 83/100 (haute)
- â trendmicro.com â source reconnue (liste interne) (20pts)
- â 43601 chars â texte complet (fulltext extrait) (15pts)
- â 27 IOCs dont des hashes (15pts)
- â 1/3 IOC(s) confirmĂ©(s) (MalwareBazaar, ThreatFox, VirusTotal) (8pts)
- â 37 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 :
ea1d34b21b739a6bâŠ(sha256) â VT (3/75 dĂ©tections)
đ Source originale : https://www.trendmicro.com/en_us/research/26/e/quasar-linux-qlnx-a-silent-foothold-in-the-software-supply-chain.html