🔍 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, hookant readdir, stat, open, fopen, access pour 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-unix et /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