
Offensive VBA 0x4 - Reverse Shell Macro with Powercat
VBA 0x4 offensif - Macro Shell inversée avec Powercat
Mots-clés
Résumé
249 mots
Évaluation critique
Valeur des informations & solidité de l’argumentation
La valeur informative réside dans la complétude du chaînage opérationnel : de la préparation de l’infrastructure d’attaque (serveur web, listener) jusqu’à l’obtention effective du shell, chaque étape est montrée et commentée en temps réel. L’articulation entre les deux routines d’ouverture de document est un détail utile, souvent omis, qui illustre une logique de redondance visant à maximiser les chances de déclenchement. Le recours à Invoke-Expression et à WebClient pour un chargement en mémoire est correctement identifié comme l’élément clé expliquant l’absence d’artefact sur disque, ce qui constitue le principal enseignement technique de la séquence. L’argumentation reste toutefois essentiellement démonstrative : elle repose sur l’observation d’un résultat obtenu dans un environnement maîtrisé, sans hypothèse testée ni variable contrôlée. Aucune discussion n’aborde les conditions d’échec — blocage des macros par les paramètres de sécurité Office, interférence de l’AMSI ou d’un EDR, journalisation PowerShell, filtrage réseau sortant. Le choix du port et de l’adressage relève de la commodité du laboratoire et n’est pas discuté. La comparaison avec Netcat est pertinente mais reste analogique et succincte, sans exploration des modes d’utilisation alternatifs pourtant évoqués. Enfin, la portée est strictement procédurale : la vidéo transmet un savoir-faire reproductible, mais n’apporte ni analyse comparative des techniques équivalentes, ni évaluation de la robustesse de la méthode face aux défenses modernes.
Rigueur scientifique, qualité des sources, adéquation du titre
La rigueur technique est satisfaisante pour un tutoriel : les commandes sont exécutées devant la caméra, le résultat est vérifié par des commandes de reconnaissance élémentaires, et l’auteur attribue explicitement le script à son auteur d’origine en renvoyant vers le dépôt GitHub. Aucune affirmation n’est avancée sans démonstration correspondante. La qualité des sources se limite cependant à une source primaire unique, le dépôt Powercat, utilisée comme documentation de référence et comme artefact à déployer. Aucune documentation Microsoft sur le modèle objet VBA, aucune publication sur les techniques de chargement en mémoire, aucune référence aux cadres de connaissance adversariale ne vient étayer ou situer la technique. Le propos reste donc auto-référencé. L’adéquation entre le titre et le contenu est exacte : la vidéo traite bien de la construction d’une macro VBA de reverse shell reposant sur Powercat, sans digression significative. Une séquence de promotion d’une plateforme de laboratoire est présente en début de vidéo, d’une durée approximative de trente secondes, sans incidence sur l’évaluation du contenu technique.
394 mots
Adéquation titre / contenu
Le titre annonce une macro VBA de reverse shell via Powercat : le contenu y répond exactement, sans écart ni promesse non tenue.
Qualité & fiabilité
6/10
Démonstration technique reproductible et cohérente avec l'outil cité (Powercat, dépôt GitHub officiel de l'auteur). Le contenu est exact sur le plan opérationnel : téléchargement en mémoire via IEX/WebClient, exécution de Powercat en mode connexion sortante, obtention d'un shell. Aucune source externe, étude ou donnée chiffrée n'est mobilisée ; il s'agit d'un savoir-faire de red team présenté sans validation croisée ni discussion des limites (détection EDR, AMSI, macros bloquées par défaut dans les versions récentes d'Office). Fiabilité factuelle élevée, mais profondeur analytique et contextualisation défensive faibles.
Moments clés
Repères établis par PSI à partir de la transcription : le créateur n'a pas défini de chapitres.
- Introduction et positionnement de l'épisode dans la série Offensive VBA, annonce du retour à l'émulation d'adversaire.
- Présentation de Powercat sur son dépôt GitHub : équivalent PowerShell de Netcat, support de PowerShell 2 et ultérieur.
- Explication des deux usages possibles : écoute (bind shell) ou connexion sortante vers un listener (reverse shell).
- Mise en place du laboratoire : téléchargement du script, serveur web sur le port 8080, listener Netcat sur le port 1337.
- Création du document Word .docm et ouverture de l'IDE VBA pour écrire la macro.
- Création des routines AutoOpen et Document_Open appelant la sous-routine powercat comme mécanisme de redondance.
- Déclaration des variables URL et PS script, puis construction de la commande Invoke-Expression avec WebClient et DownloadString.
- Assemblage de l'appel powershell.exe avec ExecutionPolicy Bypass et WindowStyle Hidden.
- Exécution : requête observée sur le serveur web et réception du reverse shell sur le listener Netcat.
- Vérification de l'accès par systeminfo et whoami, mention de l'absence d'écriture sur disque et de la suite vers l'élévation de privilèges.
Sources citées
- Powercat — dépôt GitHub de besimorhino — Script PowerShell présenté comme l'équivalent de Netcat pour Windows, utilisé comme charge utile centrale de la macro VBA.
- Cyber Ranges — plateforme de laboratoires d'émulation d'adversaire — Plateforme de laboratoires mentionnée en début de vidéo comme environnement d'entraînement pour les techniques d'émulation d'adversaire.
Sources concordantes
- MITRE ATT&CK — T1059.005 Command and Scripting Interpreter: Visual Basic — Confirme l'usage des macros VBA comme interpréteur d'exécution documenté dans les attaques réelles, cohérent avec la démonstration.
- MITRE ATT&CK — T1059.001 Command and Scripting Interpreter: PowerShell — Documente l'exécution PowerShell avec contournement de politique et fenêtre masquée, exactement les options employées dans la macro.
Références externes
Apport & nouveautés
L’apport de cette vidéo ne réside pas dans l’invention d’une technique — le chargement en mémoire d’un script PowerShell depuis une macro VBA est documenté de longue date dans la littérature red team — mais dans la mise en évidence d’un enchaînement minimal et fonctionnel : deux routines d’ouverture redondantes, une variable d’URL, une commande Invoke-Expression avec WebClient, et un appel powershell.exe masqué. L’intérêt pédagogique tient à la sobriété de la construction et à la vérification du résultat en direct, ce qui rend la chaîne reproductible sans dépendance lourde. La vidéo ne propose en revanche aucune analyse des contre-mesures, ce qui limite sa portée au seul versant offensif.
Pour aller plus loin :
- Powercat — Dépôt de référence du script utilisé, avec la documentation des modes écoute et connexion.
- Invoke-Expression (Microsoft Learn) — Documentation officielle de la cmdlet employée pour l’exécution en mémoire.
- MITRE ATT&CK — T1059.005 Command and Scripting Interpreter: Visual Basic — Cadre de référence situant l’usage des macros VBA comme vecteur d’exécution.
- MITRE ATT&CK — T1204.002 User Execution: Malicious File — Contexte sur le déclenchement par ouverture de document piégé.
- AMSI (Antimalware Scan Interface) — Interface de détection PowerShell de Microsoft, non abordée dans la vidéo alors qu’elle conditionne l’efficacité de la technique en environnement protégé.
209 mots
Profil radar
Le profil est celui d'un tutoriel technique dense et opérationnel : niveau technique et fiabilité factuelle élevés, mais quantité d'information et qualité analytique modérées, faute de contextualisation défensive et de sources multiples. Le radar traduit un contenu précis dans son exécution, limité dans sa portée explicative.