Langages de script pour l’évasion
Mécanismes d’évasion
Vivre de la terre : Les scripts exploitent des interpréteurs Windows intégrés (comme , , , , ) ou ceux fréquemment installés (, ). Puisque ces interpréteurs sont légitimes, leur exécution est moins susceptible d’être signalée par des logiciels de sécurité basiques que par des exécutables inconnus.
powershell.execmd.execscript.exewscript.exemshta.exepython.exeAutoIt3.exeExécution sans fichiers (PowerShell) : PowerShell est particulièrement puissant car il permet l’exécution directe du code en mémoire sans nécessairement écrire de scripts sur le disque. Les commandes peuvent être téléchargées et exécutées à la volée, ou des commandes codées peuvent être transmises via la ligne de commande, minimisant ainsi les artefacts du disque.
Obscurcissement: Les scripts sont facilement obscurcissés grâce à diverses techniques (encodage comme Base64, substitution de caractères, découpe du code en parties plus petites), ce qui rend l’analyse statique difficile.
Automatisation: Les scripts excellent dans l’automatisation des séquences d’actions, telles que la désactivation des services de sécurité, la suppression de journaux/fichiers (par exemple, entrées de prélecture, clés de registre spécifiques, historique du navigateur), modification des paramètres système ou téléchargement et exécution de charges utiles secondaires.
Interaction avec les composants du système : Les scripts peuvent interagir directement avec les API Windows, WMI, les objets COM et le framework .NET, permettant des opérations complexes telles que l’injection de processus, la manipulation du registre, la communication réseau et des mécanismes de persistance (par exemple, la création de tâches planifiées ou d’entrées de démarrage).
Exploitation HTA : Les applications HTML (fichiers) peuvent exécuter des scripts intégrés (VBScript, JScript) avec des privilèges plus élevés que les pages web standard, en tirant parti de . Cela peut être utilisé pour contourner les restrictions du bac à sable du navigateur et exécuter un code arbitraire lorsqu’un utilisateur ouvre le fichier HTA.
.htamshta.exeAutoIt pour l’automatisation : AutoIt est un langage de script légitime conçu pour automatiser l’interface graphique Windows et le scripting général. Les attaquants l’utilisent à mauvais tour pour simuler des clics de souris ou des frappes de touche (comme des macros complexes ou des auto-clicers) ou automatiser des tâches malveillantes. Les scripts AutoIt compilés () peuvent parfois être plus difficiles à rétroconcevoir que d’autres types de scripts.
.exe
Implications médico-légales
Étudier les contournements basés sur des scripts nécessite d’analyser divers artefacts. Les domaines clés incluent :
Fichiers de script : Localiser les fichiers de script réels (, , , , , ) sur le disque. Vérifiez les lieux courants comme les dossiers temporaires, les profils utilisateurs ou les répertoires de téléchargement.
.ps1.bat.vbs.py.au3.htaJournaux d’exécution :
PowerShell : Vérifier les journaux d’événements (en particulier le journal opérationnel Windows PowerShell, les identifiants d’événements 400, 403, 800, 4103, 4104 pour la journalisation des blocs de script si activé), le fichier historique PSReadline ().
ConsoleHost_history.txtCMD/Batch : Entrées de prélecture pour , potentiellement les relations parent/enfant processus dans les journaux d’événements de sécurité (4688).
cmd.exeVBS/JScript : Prélecture pour ou , journaux d’événements.
wscript.execscript.exeHTA : Prélecture pour , historique des téléchargements du navigateur, artefacts du système de fichiers.
mshta.exePython/AutoIt : Prélecture pour ou , chemins d’installation, fichiers de script associés.
python.exeAutoIt3.exe
Analyse de la mémoire : Les chaînes de caractères dans les processus interpréteurs (, , etc.) peuvent contenir du contenu ou des commandes de script.
powershell.execmd.exeRegistre: Preuve de mécanismes de persistance mis en place par des scripts (par exemple, clés d’exécution, tâches planifiées).
Les efforts de détection se concentrent souvent sur la surveillance de l’exécution des scripts, l’analyse du contenu des scripts (en particulier pour détecter l’obfuscation ou les appels API suspects), et l’examen des journaux provenant des moteurs de script ou des événements système associés.
Mis à jour
