Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

AMSI Forensics

forensics

Définition

AMSI (Antimalware Scan Interface) est une API Windows introduite avec Windows 10 qui permet aux applications (notamment PowerShell, WScript, Mshta) de soumettre leur contenu à tous les antimalwares installés pour analyse avant exécution. AMSI est une couche de détection complémentaire aux signatures antivirales traditionnelles, particulièrement efficace contre les scripts obfusqués qui ne correspondent pas à des signatures de fichiers. Dans le contexte forensique, AMSI est importante pour deux raisons opposées. D'un côté, AMSI génère des détections et des logs qui peuvent révéler des tentatives d'exécution de code malveillant même si celui-ci a été obfusqué. D'un autre côté, les techniques de bypass AMSI sont largement connues et utilisées par les attaquants sophistiqués, ce qui signifie que l'absence de détection AMSI ne signifie pas l'absence d'exécution malveillante. Les bypasses AMSI documentés exploitent différentes faiblesses. Le patch mémoire AMSI consiste à modifier en mémoire la fonction AmsiScanBuffer() dans amsi.dll pour qu'elle retourne toujours S_OK (scan réussi, aucun malware) — cette technique est détectable en vérifiant l'intégrité des DLLs chargées en mémoire (Moneta, pe-sieve). La technique de downgrade force l'utilisation de PowerShell 2.0 (powershell.exe -Version 2) qui ne supporte pas AMSI. La technique de forçage d'erreur provoque une erreur d'initialisation AMSI, désactivant temporairement l'interface. Les logs AMSI sont écrits dans l'Event Log Windows (Microsoft-Windows-AMSI/Operational) avec l'EventID 1101 (scan effectué) et 1102 (détection positive). Ces événements incluent le nom de l'application qui a soumis le scan, l'identifiant de session, et le résultat. En cas de détection, le contenu soumis (le code malveillant) peut être inclus dans le log, fournissant une preuve forensique précieuse. Pour les équipes DFIR, l'analyse des logs AMSI combinée aux Script Block Logging PowerShell et aux Sysmon process events fournit une vue complète des tentatives d'exécution de code malveillant, même partiellement bloquées.

Fonctionnement

Les applications compatible AMSI (PowerShell, Wscript, Mshta, Office avec macros) appellent AmsiScanBuffer() ou AmsiScanString() pour soumettre le code avant exécution. L'AMSI provider enregistré (généralement Windows Defender AMSI provider) analyse le contenu et retourne AMSI_RESULT_DETECTED (blocage) ou AMSI_RESULT_CLEAN (autorisation). Les détections sont journalisées dans Microsoft-Windows-AMSI/Operational.

Application DFIR

Investigation AMSI : 1) Exporter Microsoft-Windows-AMSI/Operational EVTX, 2) Filtrer EventID 1101/1102, 3) Les événements 1102 contiennent le code malveillant soumis (même obfusqué), 4) Détecter les bypasses AMSI : pe-sieve → détection patch amsi.dll en mémoire, Sysmon EventID 7 (Image loaded) → amsi.dll chargée dans des processus inhabituels. Absence de logs AMSI + Script Block Logging vide = probable bypass AMSI utilisé.

Outils

Event Log : Microsoft-Windows-AMSI/Operational (EventID 1101, 1102). Détection bypass AMSI : pe-sieve (patch amsi.dll), Moneta (hooks dans amsi.dll), Sysmon + Elastic Detection Rules (AMSI bypass). Audit AMSI status : Get-MpComputerStatus -AMSIEnabled. Bypass techniques référence (pour compréhension forensique) : github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell (à des fins éducatives uniquement). Intégration SIEM : Elastic Security (AMSI Bypass rules).

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis