
outil PowerShell pour l'évasion de VM
Invoke-AntiVM est un ensemble de modules pour effectuer la détection et l'empreinte numérique de VM (avec exfiltration) via Powershell.
Exécutez le script check-compatibility.ps1 pour vérifier quels modules ou fonctions sont compatibles avec la version de Powershell. Notre objectif est d'atteindre la compatibilité à partir de la version 2.0 mais nous n'y sommes pas encore. Veuillez exécuter check-compability.ps1 pour voir quels sont les problèmes de compatibilité actuels.
Nous avons écrit cet outil pour unifier plusieurs techniques d'identification de VM ou de technologies de sandbox. Il s'appuie à la fois sur des signatures et des signaux comportementaux pour identifier si un hôte est une VM ou non. Les modules sont catégorisés en groupes logiques : CPU, Execution,Network,Programs. L'utilisateur peut également décider d'exfiltrer une empreinte de l'hôte cible afin de pouvoir déterminer quelles fonctionnalités peuvent être utilisées pour identifier une solution de sandbox ou de VM.
Invoke-AntiVM a été développé pour comprendre quelles sont les implications de l'utilisation d'obfuscation et d'astuces anti-VM dans les payloads Powershell. Nous espérons que cela aidera les Red Teams à éviter l'analyse de leur payload et les Blue Teams à comprendre comment désobfusquer un script avec des techniques d'évasion. Vous pouvez soit utiliser le fichier de module principal Invoke-AntiVM.psd1, soit utiliser les fichiers de script ps1 individuels si vous souhaitez réduire la taille.
Des exemples d'utilisation sont fournis dans les scripts suivants :
Le dossier pastebin contient un script python :
Vous devez vous assurer d'utiliser la même clé de chiffrement que celle utilisée lors de l'étape d'exfiltration. Le dossier package montre comment empaqueter tous les scripts en un seul fichier pour une meilleure portabilité. Le dossier pastebin montre comment récupérer automatiquement et décoder les documents exfiltrés depuis pastebin.
Le code source d'Invoke-CradleCrafter est hébergé sur Github, et vous pouvez le télécharger, le forker et le consulter depuis ce dépôt (https://github.com/robomotic/invoke-antivm). Veuillez signaler les problèmes ou demandes de fonctionnalités via le suivi de bugs Github associé à ce projet.
Pour installer : exécutez le script install_module.ps1
Invoke-AntiVM est publié sous la licence Apache 2.0.
1.0