1 Introduction
Une sandbox (bac à sable) est une machine isolée et instrumentée (presque toujours une machine virtuelle) dans laquelle on exécute volontairement un fichier suspect pour enregistrer tout ce qu'il fait : processus lancés, fichiers écrits, clés de registre modifiées, connexions réseau. À la fin de l'exécution, la machine est restaurée à partir d'un instantané sain.
C'est l'analyse dynamique : observer le comportement à l'exécution. Elle complète l'analyse statique, qui examine le fichier sans l'exécuter. Pour un analyste SOC ou CTI, la sandbox est le moyen le plus rapide de répondre à la question « que fait cette pièce jointe, et quels IOC puis-je rechercher ? » en quelques minutes, sans être rétro-ingénieur.
| Analyse statique | Analyse dynamique | |
|---|---|---|
| Principe | Inspecter le fichier au repos | L'exécuter et observer |
| Résultats typiques | hashs, type de fichier, chaînes, imports et sections PE, macros, signature, entropie | Arbre de processus, modifications fichiers/registre, trafic DNS/HTTP, appels d'API, dumps mémoire |
| Outils | file, strings/FLOSS, Detect It Easy, pefile, olevba (oletools), capa, YARA | CAPE, ANY.RUN, Joe Sandbox, Hybrid Analysis, ou un labo manuel avec Procmon et Wireshark |
| Force | Sans risque ; voit tous les chemins de code, même ceux qui ne s'exécutent jamais | Contourne le packing et l'obfuscation : le code doit se décompresser pour s'exécuter |
| Faiblesse | Aveugle face aux charges packées ou chiffrées | Ne voit que le chemin emprunté pendant cette exécution ; peut être contournée |
Le bon ordre : d'abord rechercher le hash (ce fichier a-t-il déjà été analysé ?), puis un tri statique rapide, puis la sandbox. Si vous ne savez pas interpréter les verdicts, consultez Lire un rapport d'analyse de fichier.
2 Ce qu'elle enregistre
Une sandbox s'accroche au système d'exploitation (surveillance des API, pilote noyau ou introspection depuis l'hyperviseur) et capture le trafic réseau qui sort de la VM. Une exécution type dure de 2 à 5 minutes et produit :
Arbre de processus
Chaque processus créé, avec son parent, son PID, sa ligne de commande complète et son niveau d'intégrité. C'est en général la partie la plus parlante d'un rapport.
Activité fichiers
Fichiers créés, modifiés, supprimés ou renommés : charges utiles dans %TEMP%, notes de rançon, fichiers chiffrés, scripts.
Modifications du registre
Clés et valeurs écrites (persistance via les clés Run, services, paramètres de sécurité désactivés) et clés lues (souvent des vérifications d'environnement).
Réseau
Requêtes DNS, requêtes HTTP (URL, user agent), SNI TLS et empreintes JA3/JA4, IP contactées, et une capture PCAP complète sur laquelle on peut rejouer des règles IDS.
Appels d'API
Des séquences comme VirtualAllocEx → WriteProcessMemory → CreateRemoteThread (injection de processus) ou CryptEncrypt en boucle sur les fichiers de l'utilisateur.
Fichiers déposés
Une copie de chaque fichier écrit pendant l'exécution, avec ses hashs : les étapes suivantes, que vous voudrez aussi analyser et bloquer.
Dumps mémoire
Des instantanés de la mémoire des processus, où le code décompressé, les chaînes déchiffrées et la configuration du malware (liste de C2, identifiant de campagne, clés) apparaissent en clair.
Signatures et captures d'écran
Les règles comportementales déclenchées (« crée une clé Run », « détecte une VM »), les correspondances YARA et IDS, souvent mappées sur ATT&CK, plus des captures du bureau.
3 Lire un rapport
Ne vous arrêtez pas au score. Un score agrège des signatures, dont certaines sont faibles ; votre travail est de reconstituer l'histoire et d'en extraire ce qui est exploitable. Voici les extraits clés de l'exécution d'un Facture_4471.docm (fictif) :
PROCESS TREE
WINWORD.EXE (2148) "C:\Users\admin\Desktop\Facture_4471.docm"
└─ powershell.exe (3312) -nop -w hidden -enc SQBFAFgAIAAoAE4AZQB3AC0ATwBi...
└─ rundll32.exe (4020) C:\Users\admin\AppData\Local\Temp\upd.dll,Start
NETWORK
DNS cdn-update.example A 203.0.113.45
HTTPS 203.0.113.45:443 SNI=cdn-update.example GET /s2/upd.dll (216 KB)
HTTPS 203.0.113.45:443 POST /api/v1/beacon every ~60 s
FILES
created C:\Users\admin\AppData\Local\Temp\upd.dll
SHA-256 fb18cd2a74c578b056a81a207cfe4b93d412c707c7f6751c0d4ea32219da4bf2
REGISTRY
set HKCU\Software\Microsoft\Windows\CurrentVersion\Run\OneDriveUpdate
= "rundll32.exe C:\Users\admin\AppData\Local\Temp\upd.dll,Start"
SIGNATURES
[high] Office application spawns a script interpreter
[high] PowerShell with encoded command line
[medium] Persistence via Run registry key
[medium] Queries keyboard layout (T1614.001)
[low] Checks for VirtualBox registry keys (T1497.001)
Une méthode de lecture
Vérifier les conditions d'exécution : version de l'OS, version d'Office, durée, accès Internet autorisé ou non. Un document qui a besoin d'Office et tourne sur une VM qui n'en a pas ne prouve rien.
Lire l'arbre de processus depuis le haut : ici, Word qui lance PowerShell est déjà très anormal. Décodez la commande base64 (elle est en UTF-16LE) pour voir l'URL de téléchargement.
Suivre le réseau : séparez le trafic malveillant (téléchargement, beacon) du bruit de fond (Windows Update, vérifications de certificats, télémétrie). Des POST réguliers toutes les ~60 s sont typiques d'un beaconing vers un C2.
Regarder la persistance et les fichiers déposés : ce qui survit à un redémarrage, et quels nouveaux fichiers méritent leur propre analyse.
Remettre en question les signatures : « interroge la disposition du clavier » est aussi le fait de logiciels légitimes. Les signatures sont des pistes, pas des preuves ; le comportement constaté aux étapes 2 à 4, si.
Cette exécution se mappe proprement sur ATT&CK : T1204.002, T1059.001, T1027.010, T1105, T1218.011, T1547.001, T1071.001. La méthode complète est détaillée dans Comprendre MITRE ATT&CK.
4 Techniques d'évasion
Les auteurs de malwares savent que leurs échantillons finiront en sandbox. Beaucoup vérifient donc d'abord leur environnement et ne font rien (ou quelque chose d'anodin) s'il ressemble à une machine d'analyse. ATT&CK suit ces comportements principalement sous T1497 Virtualization/Sandbox Evasion, T1622 Debugger Evasion et T1480 Execution Guardrails.
| Famille | Ce que vérifie le malware | ATT&CK |
|---|---|---|
| Détection de VM | Pilotes, services et clés de registre VirtualBox/VMware (VBoxService.exe, vmtoolsd.exe), préfixes MAC (08:00:27 VirtualBox, 00:0C:29/00:50:56 VMware), le bit hyperviseur de CPUID, un disque de moins de 60 Go, 1 ou 2 CPU, peu de RAM | T1497.001 |
| Détection de débogueur | IsDebuggerPresent, CheckRemoteDebuggerPresent, le drapeau BeingDebugged du PEB, les écarts de temps causés par les points d'arrêt | T1622 |
| Temporisation | Dormir plus de 10 minutes avant d'agir (plus longtemps que l'analyse), détecter qu'une sandbox a « accéléré » une mise en veille en comparant des horloges, ne se déclencher qu'après une date donnée | T1497.003 |
| Interaction utilisateur | Attendre des mouvements de souris ou des clics, le défilement jusqu'à la page 2 d'un document, le nombre de documents récents, l'historique du navigateur, la durée de fonctionnement du système, une archive protégée dont le mot de passe est dans l'e-mail | T1497.002 |
| Géorepérage | Disposition du clavier ou langue du système (certaines familles s'arrêtent sur un clavier russe ou d'un autre pays de la CEI), géolocalisation de l'IP publique, fuseau horaire, nom du domaine Active Directory de la cible | T1614.001, T1480 |
| Filtrage côté serveur | Le serveur de charge utile ne répond qu'une fois par IP, seulement aux pays ciblés, ou est déjà hors ligne quand vous analysez l'échantillon | — |
Un verdict « propre » n'est pas une preuve d'innocence
« Aucune activité malveillante » signifie seulement « rien de malveillant n'a été observé pendant cette exécution, dans cet environnement ». Considérez un rapport vide comme non concluant quand : l'arbre de processus est presque vide, l'échantillon s'arrête en quelques secondes, il lit des clés liées aux VM puis s'arrête, les appels réseau échouent, ou le fichier a besoin d'un argument, d'un export de DLL ou d'un processus parent particulier pour s'exécuter. Relancez avec une durée plus longue, un autre OS ou une autre langue, un accès Internet via une sortie VPN dans le pays ciblé, ou en mode interactif, et combinez avec l'analyse statique. Les vérifications anti-sandbox sont elles-mêmes un fort indice de malveillance.
5 Manipulation sécurisée
Jamais sur votre poste de travail
N'ouvrez jamais, ne double-cliquez jamais et ne « jetez pas juste un œil » à un échantillon sur une machine de production ou personnelle. Utilisez une sandbox dédiée ou une VM de labo isolée.
Transporter les échantillons dans une archive chiffrée
La convention est un ZIP ou un 7z protégé par le mot de passe infected. Cela empêche l'antivirus de supprimer l'échantillon et évite que quelqu'un l'ouvre par accident. Indiquez le SHA-256 dans le ticket.
Maîtriser le réseau
Une VM de labo ne doit pas atteindre votre réseau interne. Simulez Internet (INetSim, FakeNet-NG) ou faites sortir le trafic par une sortie VPN/Tor dédiée, jamais par l'IP de votre entreprise : l'attaquant voit qui analyse sa charge utile.
Restaurer après chaque exécution
Revenez à l'instantané sain, désactivez les dossiers partagés, le presse-papiers et le glisser-déposer entre l'hôte et la VM, et maintenez l'hyperviseur à jour (les évasions de VM existent, même si elles sont rares).
Neutraliser ce que vous partagez
Dans les tickets, messageries et rapports, écrivez hxxps://cdn-update[.]example plutôt qu'un lien cliquable.
Réfléchir avant d'envoyer sur un service public
Sur les sandboxes publiques et les offres gratuites, le fichier, son rapport et souvent son contenu deviennent visibles de tous. Une vraie facture, un contrat ou un document RH joint à un e-mail de phishing peut contenir des données personnelles ou confidentielles. Les attaquants surveillent aussi ces plateformes pour savoir si leur échantillon a été repéré. Cherchez d'abord le hash ; n'envoyez le fichier que si votre politique et la sensibilité des données le permettent (respectez le TLP), ou utilisez une sandbox privée ou sur site.
6 Outils et services
Quelques options très utilisées, chacune avec ses compromis. Vérifiez les conditions actuelles de chaque fournisseur : les offres gratuites et les règles de visibilité évoluent.
CAPE (CAPEv2)
Sandbox open source, auto-hébergée, héritière de Cuckoo. Son nom signifie Config And Payload Extraction : elle est spécialisée dans le dépackage et l'extraction des configurations de malwares. Privée par construction, mais c'est à vous de l'exploiter.
ANY.RUN
Sandbox cloud dans laquelle on interagit en direct avec la VM : cliquer sur « Activer le contenu », saisir le mot de passe d'une archive, naviguer vers une page de phishing. Très utile contre les vérifications d'interaction utilisateur. Les analyses de l'offre gratuite sont publiques.
Joe Sandbox
Sandbox commerciale (cloud ou sur site) réputée pour des rapports très détaillés sur Windows, Linux, macOS et Android. Il existe une offre cloud gratuite, dont les résultats sont publics.
Hybrid Analysis
Service communautaire gratuit opéré par CrowdStrike sur sa technologie Falcon Sandbox. Grande base de rapports publics consultable, pratique pour vérifier si un hash a déjà été analysé.
Rechercher un hash sur ces plateformes ne révèle rien sur vous. Envoyer un fichier, si. Dans le doute, cherchez d'abord.
Essayez sur mlab.sh
Avant d'envoyer quoi que ce soit, recherchez le hash d'un fichier suspect, puis enrichissez les domaines et IP trouvés dans le rapport de sandbox.
Commencer l'analyse sur mlab.sh7 Créer des détections
Un rapport de sandbox est une matière première. Transformez-le en protections pour tout le parc, du niveau le plus fragile au plus durable de la pyramide de la douleur :
IOC
Hashs de l'échantillon et des fichiers déposés, URL de la charge utile, domaine et IP du C2. Filtrez d'abord le bruit (Microsoft, autorités de certification, CDN), puis partagez-les en indicateurs STIX avec une période de validité.
YARA
Les chaînes vues dans les fichiers déposés ou les dumps mémoire (chemins uniques, mutex, marqueurs de configuration) deviennent des règles YARA qui attrapent les variantes futures, pas seulement ce hash.
Sigma
Le comportement de l'arbre de processus (« WINWORD.EXE lance powershell.exe avec -enc ») devient une règle Sigma pour les logs de votre SIEM ou EDR.
Suricata / Snort
Le PCAP montre l'URI exacte du C2, les en-têtes et le SNI TLS : de quoi écrire des règles réseau.
Par exemple, une première règle YARA construite à partir de cette exécution :
rule LedgerLoader_Stage2_Training
{
meta:
description = "Second stage LedgerLoader vu en sandbox (exemple de formation)"
author = "mlab Academy"
date = "2026-10-21"
hash = "fb18cd2a74c578b056a81a207cfe4b93d412c707c7f6751c0d4ea32219da4bf2"
strings:
$persist = "OneDriveUpdate" ascii wide
$uri = "/api/v1/beacon" ascii
$stage = "/s2/upd.dll" ascii
condition:
uint16(0) == 0x5A4D and filesize < 500KB and 2 of them
}
Enfin, mappez le comportement observé sur ATT&CK. Les sandboxes le font automatiquement, mais leur mapping est généré à partir des signatures et souvent bruyant ou trop large : ne gardez que les techniques réellement confirmées dans l'arbre de processus, les fichiers, le registre et le réseau.
Modules connexes
Lire un rapport d'analyse de fichier
Décrypter les rapports de sandbox et d'antivirus : comprendre les verdicts et les indicateurs clés.
Reconnaître un fichier malveillant
Les signaux d'alerte qui doivent vous mettre la puce à l'oreille avant d'ouvrir un fichier suspect.
Écrire des règles YARA
Apprenez à écrire des règles YARA qui détectent des familles de malwares entières : chaînes, conditions, modules, tests avec yara et YARA-X.
Source : mlab Academy — Plateforme de sensibilisation à la cybersécurité
URL : https://academy.mlab.sh/fr-FR/page/analyse-sandbox
Module : L'analyse dynamique en sandbox — Ingénierie de détection
Avertissement : Ce contenu est à des fins de sensibilisation uniquement.