Bypass AMSI
hackingDéfinition
Le bypass AMSI désigne les techniques employées pour contourner l'Antimalware Scan Interface, une interface Windows introduite avec PowerShell 5.0 permettant aux solutions antivirales d'inspecter dynamiquement le contenu de scripts avant leur exécution, y compris lorsqu'ils sont obfusqués ou générés en mémoire. Les méthodes de contournement incluent la modification en mémoire de la fonction AmsiScanBuffer pour la neutraliser, l'obfuscation avancée du code afin d'échapper aux signatures sans altérer la logique fonctionnelle, la réflexion PowerShell pour désactiver le champ interne signalant l'échec d'initialisation d'AMSI, ou l'exécution de code hors du contexte PowerShell classique, par exécution directe en mémoire via .NET. Ces techniques s'inscrivent dans la tactique MITRE ATT&CK Defense Evasion, notamment sous T1562.001 relative à la désactivation d'outils de sécurité. En défense, la surveillance des événements liés à l'échec de chargement AMSI, la journalisation approfondie PowerShell via les journaux Script Block Logging et Module Logging, la détection comportementale des modifications mémoire suspectes sur le processus powershell.exe, ainsi que le déploiement d'un EDR capable de détecter les techniques de patch mémoire indépendamment de l'AMSI lui-même, renforcent la résilience. La restriction de PowerShell en mode langage contraint (Constrained Language Mode) sur les postes non administratifs limite également fortement la surface d'exploitation disponible pour ces contournements.
Fonctionnement d'AMSI
Introduit avec Windows 10, l'Antimalware Scan Interface est une interface standardisée qui permet aux moteurs de script de soumettre leur contenu à l'antivirus avant exécution. Elle s'applique à PowerShell, VBScript, JScript, les macros Office, WMI et .NET. Concrètement, la DLL amsi.dll est chargée dans l'espace mémoire du processus hôte : lorsque PowerShell désobfusque une commande, il appelle AmsiScanBuffer() avec le code en clair, puis transmet le verdict au fournisseur AMSI (Microsoft Defender ou un tiers).
C'est précisément cette architecture qui constitue la faiblesse : le contrôle s'exécute dans le processus contrôlé, donc en espace utilisateur, avec les mêmes privilèges que l'attaquant. Un code qui s'exécute déjà peut altérer son propre gardien.
Techniques d'exploitation
Les familles de bypass documentées depuis 2016 relèvent de quelques principes :
- Patch mémoire : réécriture des premiers octets d'
AmsiScanBufferpour forcer un retour « contenu propre » (E_INVALIDARG), via VirtualProtect. - Corruption d'état : modification par réflexion .NET du champ
amsiInitFaileddeAmsiUtils, ce qui fait croire à PowerShell qu'AMSI n'a pas pu s'initialiser. - Downgrade : exécution en PowerShell v2, antérieur à AMSI, si le composant est encore installé.
- Obfuscation : fragmentation de chaînes, encodage, alias et concaténation dynamique pour ne jamais présenter de signature reconnaissable au scan.
- DLL hijacking : chargement d'une amsi.dll factice depuis un répertoire prioritaire.
Outils courants
Les tests d'intrusion s'appuient sur AMSITrigger et DefenderCheck pour identifier l'octet exact déclenchant la détection, Invoke-Obfuscation et Chameleon pour la transformation de charges, ainsi que les modules intégrés à Cobalt Strike, Covenant ou Metasploit. Ces outils sont réservés à des missions autorisées et contractualisées.
Détection
La supervision repose sur des signaux indirects : événements 4104 (Script Block Logging) contenant des appels à System.Management.Automation.AmsiUtils, VirtualProtect ou GetProcAddress ; alerte Defender Behavior:Win32/AmsiTampering ; désactivation soudaine de la journalisation ; lancement de powershell.exe -Version 2. Une solution EDR capable d'inspecter l'intégrité des pages mémoire d'amsi.dll reste le contrôle le plus fiable.
Contre-mesures
- Activer Constrained Language Mode couplé à AppLocker ou WDAC, qui bloque la réflexion .NET.
- Désinstaller le moteur PowerShell v2 et le framework .NET 2.0.
- Centraliser Script Block Logging et Module Logging vers un SIEM.
- Appliquer la protection contre les altérations (Tamper Protection) et l'ASR.
- Réduire les privilèges administrateurs locaux, qui conditionnent la plupart des variantes persistantes.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h