🔍 Contexte
Publié le 22 septembre 2026 par Malbear Labs en collaboration avec Threat Hunting Labs, cet article constitue une analyse technique exhaustive de quatre payloads récupérés lors d’une intrusion réelle. L’article complète un write-up de Threat Hunting Labs décrivant la chaîne d’attaque initiale (SEO poisoning → RMM personnalisé → Cobalt Strike).
🧩 PavokwiLoader
PavokwiLoader est un loader C++ dont la fonction WinMain contient plus de 80 000 instructions entièrement inlinées. Il implémente de nombreuses techniques d’évasion :
- Anti-debug : lecture des registres de débogage matériels (DR0-DR7), requêtes
ZwQueryInformationProcesspourProcessDebugPortetProcessDebugObjectHandle - Anti-VM : vérification des clés de registre GPU (accepte uniquement NVIDIA ou Intel) et des contrôleurs de disque virtuels
- Sandbox checks : comparaison du nom d’utilisateur contre une liste codée en dur (
john,sandbox,analyst,cuckoo, etc.) - Host profiling : vérification du nombre de processeurs, RAM, taille du disque (minimum ~500 Go)
- Bypass rapide : présence du fichier
%APPDATA%\fontcache_mspermet de sauter toutes les vérifications - Obfuscation : plus de 2 000 clusters MBA, chiffrement de toutes les chaînes par XOR avec keystream MBA, résolution dynamique d’API via hash FNV-1a modifié (seed
0x676092FE, multiplicateur0xE6006695) - Injection de processus : cible smartscreen.exe ou navigateurs, injection via
ZwQueueApcThreadou modification du contexte de thread (ZwSetContextThread) - Payload caché : 652 chunks extraits d’un blob de 1,6 Mo, données cachées dans les octets d’opérandes, chiffrement ChaCha20 modifié (constantes, rotations et rounds différents)
- ETW Bypass : utilisation d’un breakpoint matériel sur
EtwEventWriteavec handler vectorisé pour simuler un retour réussi sans exécuter la fonction
🖥️ HVNC (stage final de PavokwiLoader)
Le stage final implémente un HVNC (Hidden Virtual Network Computing) :
- Création d’un bureau caché via
CreateDesktopW, capture viaPrintWindow(WM_PRINT) - Clonage de profil Chrome : copie du profil, reconstruction de
Local Stateavec la clé DPAPI, lancement du vrai navigateur avec--user-data-dir - Contournement de l’App-Bound Encryption de Chrome 127
- C2 WebSocket sur
wss://salobakodasofne[.]com/wsetwss://ajdbsgjlgbdfgsdlfkbskldf[.]com/ws - TLS 1.3 implémenté from scratch (X25519, HKDF-SHA256, AES-GCM)
- Fallback DNS-over-HTTPS vers
8.8.8.8et1.1.1.1avec clé XOR 32 octets - Trois canaux WebSocket distincts :
agent,file_agent,stream_agent - Cinq méthodes de persistance :
Load, COM InprocServer32,UserInitMprLogonScript, Run key, tâche planifiée
🐍 Loader Python (JivaChat)
Installeur Inno Setup 6.7.0 se faisant passer pour une application de chat :
- Dépose
7za.exeetdata.7z(mot de passe :UvcPOTe0zv5Y8j30) main.pyw: obfuscation par lambdas etchr(), clé ChaCha20 dérivée par brute-force (valeur correcte :99884509)- UAC bypass via RPC APPINFO (
RAiLaunchAdminProcess, GUID201ef99a-7fa0-444c-9399-19ba84f12a1a), cibleswinver.exeetcomputerdefaults.exe - Persistance via tâche planifiée nommée MultiUpdater
- Chargement réflectif de
lMiMWML.zic(ChaCha20 standard)
🔐 lMiMWML.zic et Cobalt Strike
lMiMWML.zic est un wrapper MinGW x64 avec trois gates d’environnement (fichiers dans %TEMP%, logiciels installés, RAM/CPU). Le beacon Cobalt Strike est chiffré par rotation ROR8 position-dépendante. Configuration déchiffrée :
- C2 :
45.94.31.112:443 - URIs :
/api/v3/r(GET),/api/v3/s(POST) - Watermark :
987654321(associé à IcedID, Dagon Locker, Qakbot) - Magic bytes par défaut (
AAAAAAAA/BBBBBBBB), ReflectiveLoader non personnalisé
🤖 RMMCRAT (rmm.exe)
RAT C++ se faisant passer pour un agent RMM légitime :
- Chiffrement de toutes les chaînes via keystream splitmix64 XOR
- Résolution dynamique de 77 fonctions Win32 via
GetProcAddresschiffré - C2 :
https://softbymade.top, token d’enregistrement :r4iZqA7PmI1GDu0wlnvB1yB2sWDRrb5KYSRq9uCb7UI - Stockage DPAPI (
credentials.dat,client_id.bin) sousC:\ProgramData\RMMAgent\ - Configuration embarquée en clair (blob RMMC) en fin de PE
- Tâches :
run_package(livraison de payload),stop_agent, fingerprinting complet
🛠️ Faux agent RMM (RemoteAgentAgent)
Bundle PyInstaller (Python 3.11) enregistré comme service Windows via NSSM :
- C2 :
https://app-af-agent-prod-009.azurewebsites.net - Exécution de commandes PowerShell arbitraires (
-ExecutionPolicy Bypass) - Protocole REST simple : register, poll, execute, report
📋 Type d’article
Analyse technique approfondie (reverse engineering) publiée par un laboratoire de recherche en cybersécurité, visant à documenter les techniques d’évasion, les mécanismes de C2 et les IOCs d’une chaîne d’intrusion multi-stages pour permettre la détection et la chasse aux menaces.
🧠 TTPs et IOCs détectés
TTP
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1027.007 — Dynamic API Resolution (Defense Evasion)
- T1055 — Process Injection (Defense Evasion)
- T1055.004 — Asynchronous Procedure Call (Defense Evasion)
- T1134.004 — Parent PID Spoofing (Defense Evasion)
- T1548.002 — Bypass User Account Control (Privilege Escalation)
- T1562.001 — Disable or Modify Tools (Defense Evasion)
- T1543.003 — Windows Service (Persistence)
- T1053.005 — Scheduled Task (Persistence)
- T1547.001 — Registry Run Keys / Startup Folder (Persistence)
- T1112 — Modify Registry (Defense Evasion)
- T1071.001 — Web Protocols (Command and Control)
- T1095 — Non-Application Layer Protocol (Command and Control)
- T1132.001 — Standard Encoding (Command and Control)
- T1573.002 — Asymmetric Cryptography (Command and Control)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
- T1005 — Data from Local System (Collection)
- T1539 — Steal Web Session Cookie (Credential Access)
- T1555.003 — Credentials from Web Browsers (Credential Access)
- T1497 — Virtualization/Sandbox Evasion (Defense Evasion)
- T1497.001 — System Checks (Defense Evasion)
- T1497.003 — Time Based Evasion (Defense Evasion)
- T1059.001 — PowerShell (Execution)
- T1059.003 — Windows Command Shell (Execution)
- T1140 — Deobfuscate/Decode Files or Information (Defense Evasion)
- T1036.005 — Match Legitimate Name or Location (Defense Evasion)
- T1218.011 — Rundll32 (Defense Evasion)
- T1082 — System Information Discovery (Discovery)
- T1057 — Process Discovery (Discovery)
- T1012 — Query Registry (Discovery)
- T1016 — System Network Configuration Discovery (Discovery)
- T1033 — System Owner/User Discovery (Discovery)
- T1105 — Ingress Tool Transfer (Command and Control)
- T1219 — Remote Access Software (Command and Control)
- T1552.002 — Credentials in Registry (Credential Access)
- T1553 — Subvert Trust Controls (Defense Evasion)
IOC
- IPv4 :
45.94.31.112— AbuseIPDB · VT · ThreatFox - IPv4 :
87.120.93.82— AbuseIPDB · VT · ThreatFox - IPv4 :
104.21.80.234— AbuseIPDB · VT · ThreatFox - IPv4 :
172.67.187.164— AbuseIPDB · VT · ThreatFox - Domaines :
salobakodasofne.com— VT · URLhaus · ThreatFox - Domaines :
ajdbsgjlgbdfgsdlfkbskldf.com— VT · URLhaus · ThreatFox - Domaines :
softbymade.top— VT · URLhaus · ThreatFox - Domaines :
chamaedorea.xyz— VT · URLhaus · ThreatFox - Domaines :
s302643.love-is.nexus— VT · URLhaus · ThreatFox - URLs :
wss://salobakodasofne.com/ws— URLhaus - URLs :
wss://ajdbsgjlgbdfgsdlfkbskldf.com/ws— URLhaus - URLs :
https://softbymade.top/api/v1/agents/register— URLhaus - URLs :
https://softbymade.top/api/v1/agents/heartbeat— URLhaus - URLs :
https://app-af-agent-prod-009.azurewebsites.net/api/register— URLhaus - URLs :
https://app-af-agent-prod-009.azurewebsites.net/api/commands— URLhaus - URLs :
http://45.94.31.112/api/v3/r— URLhaus - URLs :
http://45.94.31.112/api/v3/s— URLhaus - SHA256 :
e678dcc13c0e9fca5713fb9ddfdbb7f4304ae47b1832725f22df5288edce3dab— VT · MalwareBazaar - SHA256 :
3ef451c669cdffc1415e6a816c141f3d7f1a560ba7f2f2bddb734c55e2228788— VT · MalwareBazaar - SHA256 :
6ee5b6da19809fbb7626aae42e0de904389ca7422463a168c8276cbef40b9e51— VT · MalwareBazaar - SHA256 :
f9642deb87a32987e0514530a4507137d2dfc856cd8ed1f15b7522b83b2c634f— VT · MalwareBazaar - SHA256 :
28273fcde296082f6194f6b863b4fd67cddc645339b4416ac3d302495cb1b389— VT · MalwareBazaar - SHA256 :
3afabe2f9197f66460044083c708a5206291b2efe1138be1c763f60c47069787— VT · MalwareBazaar - SHA256 :
009c3f6d2dd110451414783d6b04639bd99032a1838ed75f066f530296256b94— VT · MalwareBazaar - SHA256 :
2a0886d6bcdb2bdac610c9e50e1e9002fa4b1df2e61da3386d156aa8021c6229— VT · MalwareBazaar - SHA256 :
41c7a0285a322cb047ddd1bbd91fa7a4301c68355448f3079897b62fc50dcbed— VT · MalwareBazaar - Fichiers :
PavokwiLoader.exe - Fichiers :
rmm.exe - Fichiers :
RemoteAgentAgent.exe - Fichiers :
main.pyw - Fichiers :
lMiMWML.zic - Fichiers :
agent_service.py - Fichiers :
ExKQc.lhf - Fichiers :
begvivn.mgk - Fichiers :
credentials.dat - Fichiers :
client_id.bin - Fichiers :
agent.log - Fichiers :
crash.log - Fichiers :
agent.conf - Chemins :
%APPDATA%\fontcache_ms - Chemins :
C:\ProgramData\RMMAgent\packages\ - Chemins :
C:\ProgramData\RMMAgent\credentials.dat - Chemins :
C:\ProgramData\RMMAgent\client_id.bin - Chemins :
C:\Program Files\RemoteAgent\RemoteAgentAgent.exe - Chemins :
%TEMP%\begvivn.mgk
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 25 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
- PavokwiLoader (loader)
- RMMCRAT (rat)
- Cobalt Strike (framework)
- RemoteAgentAgent (rat)
- JivaChat (loader)
🟢 Indice de vérification factuelle : 70/100 (haute)
- ⬜ malbearlabs.com — source non référencée (0pts)
- ✅ 78839 chars — texte complet (fulltext extrait) (15pts)
- ✅ 45 IOCs dont des hashes (15pts)
- ✅ 4/12 IOCs confirmés (AbuseIPDB, MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (15pts)
- ✅ 36 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 :
45.94.31.112(ip) → VT (13/91 détections)87.120.93.82(ip) → VT (3/91 détections)salobakodasofne.com(domain) → VT (3/91 détections)ajdbsgjlgbdfgsdlfkbskldf.com(domain) → VT (3/91 détections)
🔗 Source originale : https://malbearlabs.com/posts/novel-malware-built-to-survive-the-analyst