Guide Red TeamTests d’intrusion autorisés · Red Team · Purple Team
Domaines
PowerSploit et PowerShell legacy · guide pratique V13

Fonctionnement, architecture et limites

Guide pratique consacré à fonctionnement, architecture et limites pour PowerSploit et PowerShell legacy, avec laboratoire autorisé, commandes, interprétation et nettoyage.

En bref

  • But : Guide pratique consacré à fonctionnement, architecture et limites pour PowerSploit et PowerShell legacy, avec laboratoire autorisé, commandes, interprétation et nettoyage.
  • Preuve attendue : la commande exacte, la version de l’outil, la sortie brute et la validation manuelle
  • Limite : le résultat est valable uniquement pour les versions, rôles, chemins et conditions effectivement testés.
Schéma synthétique : Fonctionnement, architecture et limites
Vue synthétique de « Fonctionnement, architecture et limites » : les étapes affichées correspondent aux sections pratiques de cette page. Le contrôle est ici appliqué spécifiquement à « Fonctionnement, architecture et limites ». Illustration propre à « 64 PowerSploit et PowerShell legacy — Fonctionnement, architecture et limites ».

Rôle de l’outil dans une mission

Dans « Rôle de l’outil dans une mission », le guide relie PowerView au rôle réel de PowerSploit. La démonstration reste limitée à une machine virtuelle ou un conteneur explicitement prévu pour le test. Avant toute commande, l’analyste note la version, le compte utilisé, l’adresse de la cible, l’heure en UTC et le résultat attendu. Cette discipline permet de distinguer une capacité théorique d’un constat réellement observé.

La procédure consacrée à « Rôle de l’outil dans une mission » commence par vérifier le statut archivé. Les paramètres sont introduits progressivement afin de voir quelle option modifie le résultat. Dans le domaine PowerSploit et PowerShell legacy, un test positif doit être répété avec une variation contrôlée, tandis qu’un résultat négatif est présenté avec ses limites : filtrage, droits insuffisants, dépendance absente, version différente ou mécanisme de protection. Cette lecture évite les faux positifs et transforme PowerSploit en instrument de mesure plutôt qu’en simple générateur de sorties.

Composants et flux techniques

L’interprétation professionnelle de « Composants et flux techniques » sépare le fait, l’hypothèse, l’impact conditionnel et la recommandation. Pour Fonctionnement, architecture et limites, les éléments commandes importées, événements 4103/4104, processus PowerShell, fichiers créés sont conservés dans un dossier de preuve portant un identifiant unique. Les données réelles sont remplacées par des marqueurs fictifs dès que possible. La correction vise Constrained Language Mode, WDAC/AppLocker, PowerShell logging, AMSI, puis un retest reproduit uniquement l’étape nécessaire pour démontrer que le chemin observé a été réduit ou supprimé.

Les erreurs les plus fréquentes dans « Composants et flux techniques » sont présenter le projet comme maintenu, désactiver les protections, charger tous les modules sans besoin, exécuter sur un poste de production. Le tutoriel explique comment les reconnaître avant qu’elles ne produisent un incident supplémentaire. Une limite de débit, un nombre maximal de tentatives et une procédure de retour arrière sont définis. Dans PowerSploit et PowerShell legacy, les commandes sont exécutées sur lab.local ou sur les plages 192.0.2.0/24, 198.51.100.0/24 et 203.0.113.0/24, réservées à la documentation.

Données d’entrée et hypothèses

Les erreurs les plus fréquentes dans « Données d’entrée et hypothèses » sont présenter le projet comme maintenu, désactiver les protections, charger tous les modules sans besoin, exécuter sur un poste de production. Le tutoriel explique comment les reconnaître avant qu’elles ne produisent un incident supplémentaire. Une limite de débit, un nombre maximal de tentatives et une procédure de retour arrière sont définis. Dans PowerSploit et PowerShell legacy, les commandes sont exécutées sur lab.local ou sur les plages 192.0.2.0/24, 198.51.100.0/24 et 203.0.113.0/24, réservées à la documentation.

Le contrôle qualité de « Données d’entrée et hypothèses » demande à un second analyste de pouvoir comprendre la cible, la commande, les options et le résultat sans accéder à la mémoire de la première personne. Les fichiers de sortie sont hachés, les captures sont légendées et les actions de nettoyage sont consignées. Cette exigence est particulièrement importante pour PowerSploit, car un paramètre apparemment mineur peut changer le périmètre, le volume ou la portée du test.

Actions réalisées par le moteur

Dans « Actions réalisées par le moteur », le guide relie contrôles AMSI et application control au rôle réel de PowerSploit. La démonstration reste limitée à une machine virtuelle ou un conteneur explicitement prévu pour le test. Avant toute commande, l’analyste note la version, le compte utilisé, l’adresse de la cible, l’heure en UTC et le résultat attendu. Cette discipline permet de distinguer une capacité théorique d’un constat réellement observé.

La procédure consacrée à « Actions réalisées par le moteur » commence par observer puis supprimer. Les paramètres sont introduits progressivement afin de voir quelle option modifie le résultat. Dans le domaine PowerSploit et PowerShell legacy, un test positif doit être répété avec une variation contrôlée, tandis qu’un résultat négatif est présenté avec ses limites : filtrage, droits insuffisants, dépendance absente, version différente ou mécanisme de protection. Cette lecture évite les faux positifs et transforme PowerSploit en instrument de mesure plutôt qu’en simple générateur de sorties.

Sorties et niveaux de confiance

L’interprétation professionnelle de « Sorties et niveaux de confiance » sépare le fait, l’hypothèse, l’impact conditionnel et la recommandation. Pour Fonctionnement, architecture et limites, les éléments commandes importées, événements 4103/4104, processus PowerShell, fichiers créés sont conservés dans un dossier de preuve portant un identifiant unique. Les données réelles sont remplacées par des marqueurs fictifs dès que possible. La correction vise Constrained Language Mode, WDAC/AppLocker, PowerShell logging, AMSI, puis un retest reproduit uniquement l’étape nécessaire pour démontrer que le chemin observé a été réduit ou supprimé.

Les erreurs les plus fréquentes dans « Sorties et niveaux de confiance » sont présenter le projet comme maintenu, désactiver les protections, charger tous les modules sans besoin, exécuter sur un poste de production. Le tutoriel explique comment les reconnaître avant qu’elles ne produisent un incident supplémentaire. Une limite de débit, un nombre maximal de tentatives et une procédure de retour arrière sont définis. Dans PowerSploit et PowerShell legacy, les commandes sont exécutées sur lab.local ou sur les plages 192.0.2.0/24, 198.51.100.0/24 et 203.0.113.0/24, réservées à la documentation.

  • commandes importées
  • événements 4103/4104
  • processus PowerShell
  • fichiers créés
  • alertes EDR

Décider quand ne pas utiliser l’outil

L’interprétation professionnelle de « Décider quand ne pas utiliser l’outil » sépare le fait, l’hypothèse, l’impact conditionnel et la recommandation. Pour Fonctionnement, architecture et limites, les éléments commandes importées, événements 4103/4104, processus PowerShell, fichiers créés sont conservés dans un dossier de preuve portant un identifiant unique. Les données réelles sont remplacées par des marqueurs fictifs dès que possible. La correction vise Constrained Language Mode, WDAC/AppLocker, PowerShell logging, AMSI, puis un retest reproduit uniquement l’étape nécessaire pour démontrer que le chemin observé a été réduit ou supprimé.

Les erreurs les plus fréquentes dans « Décider quand ne pas utiliser l’outil » sont présenter le projet comme maintenu, désactiver les protections, charger tous les modules sans besoin, exécuter sur un poste de production. Le tutoriel explique comment les reconnaître avant qu’elles ne produisent un incident supplémentaire. Une limite de débit, un nombre maximal de tentatives et une procédure de retour arrière sont définis. Dans PowerSploit et PowerShell legacy, les commandes sont exécutées sur lab.local ou sur les plages 192.0.2.0/24, 198.51.100.0/24 et 203.0.113.0/24, réservées à la documentation.

Fiche de commandes du laboratoire

Les erreurs les plus fréquentes dans « Fiche de commandes du laboratoire » sont présenter le projet comme maintenu, désactiver les protections, charger tous les modules sans besoin, exécuter sur un poste de production. Le tutoriel explique comment les reconnaître avant qu’elles ne produisent un incident supplémentaire. Une limite de débit, un nombre maximal de tentatives et une procédure de retour arrière sont définis. Dans PowerSploit et PowerShell legacy, les commandes sont exécutées sur lab.local ou sur les plages 192.0.2.0/24, 198.51.100.0/24 et 203.0.113.0/24, réservées à la documentation.

Le contrôle qualité de « Fiche de commandes du laboratoire » demande à un second analyste de pouvoir comprendre la cible, la commande, les options et le résultat sans accéder à la mémoire de la première personne. Les fichiers de sortie sont hachés, les captures sont légendées et les actions de nettoyage sont consignées. Cette exigence est particulièrement importante pour PowerSploit, car un paramètre apparemment mineur peut changer le périmètre, le volume ou la portée du test.

  • Sortie attendue : fichiers créés
  • Sortie attendue : alertes EDR

Commandes et exemples

Fiche de commandes du laboratoire

# Contexte: 64 PowerSploit et PowerShell legacy / Fonctionnement, architecture et limites
git clone https://github.com/PowerShellMafia/PowerSploit.git
Get-FileHash .\PowerSploit.psd1 -Algorithm SHA256
Import-Module .\PowerSploit.psd1 -Force
Get-Command -Module PowerSploit

Lire les résultats

Pour « Fonctionnement, architecture et limites », confirmez les flux, les certificats, la journalisation et la portée du listener. L’exercice doit rester observable par l’équipe défensive et réversible à tout moment. Le point est ici appliqué au cas « Fonctionnement, architecture et limites ».

Détection, correction et retest

Après « Fonctionnement, architecture et limites », retirez listeners, règles réseau, certificats, comptes et artefacts temporaires. Les journaux de l’exercice sont conservés pour le débriefing Purple Team. Le point est ici appliqué au cas « Fonctionnement, architecture et limites ».

Comprendre le sujet avant d’agir

Le chapitre « Fonctionnement, architecture et limites » appartient au domaine « PowerSploit et PowerShell legacy ». Il doit permettre de comprendre le mécanisme avant d’utiliser un outil, puis de produire une preuve lisible par une autre personne. L’objectif n’est pas d’accumuler des commandes : chaque action doit répondre à une hypothèse, rester dans le périmètre et déboucher sur une conclusion vérifiable.

Dans ce contexte, l’attention porte surtout sur l’objectif d’émulation, les canaux autorisés, la durée, les comptes de test, la visibilité attendue et les règles d’arrêt. Une approche professionnelle commence par noter l’état initial, la version des composants et l’identité utilisée. Elle se termine par la conservation des sorties utiles, l’explication des limites et la vérification que le laboratoire a été remis dans son état prévu.

  • Point de contrôle — identifiant de campagne.
  • Point de contrôle — hôte et compte de test.
  • Point de contrôle — horodatage des actions.
  • Point de contrôle — télémétrie attendue côté défense.
  • Point de contrôle — preuve de suppression des artefacts.

Exécution contrôlée et déconfliction

La méthode suivante transforme « Fonctionnement, architecture et limites » en exercice reproductible. Elle évite de confondre la quantité de sorties avec la qualité de la preuve et permet d’arrêter le test dès que l’objectif est démontré.

  1. Définir en une phrase ce que l’exercice « Fonctionnement, architecture et limites » doit confirmer ou infirmer.
  2. Relever l’état initial du laboratoire et les versions utiles au domaine « PowerSploit et PowerShell legacy ».
  3. Choisir l’action la moins intrusive capable de répondre à la question.
  4. Exécuter une seule variation à la fois et conserver la sortie brute avec un horodatage UTC.
  5. Confirmer le résultat par une seconde observation ou une vérification manuelle.
  6. Documenter l’impact, les limites, la correction proposée et le critère de retest.

Exemple guidé dans le laboratoire

Préparez un scénario réduit dans `lab.local` qui ne contient que les composants nécessaires à « Fonctionnement, architecture et limites ». Notez l’état initial, appliquez la méthode du chapitre et sauvegardez chaque sortie sous un nom horodaté.

Le cas est réussi lorsque la conclusion peut être relue et reproduite sans connaissance implicite. Les captures servent d’illustration, mais la preuve principale reste la sortie brute accompagnée de son contexte.

  • Préparation — confirmer les actifs et comptes autorisés pour « Fonctionnement, architecture et limites ».
  • Exécution — limiter l’action à une seule hypothèse et une seule variation.
  • Validation — reproduire le résultat et conserver la sortie brute.
  • Clôture — nettoyer les artefacts, documenter les limites et définir le retest.

Lecture des commandes et options

Les commandes déjà présentes dans « Fonctionnement, architecture et limites » doivent être lues comme des exemples de laboratoire. Les lignes suivantes expliquent leur rôle afin d’éviter une exécution aveugle.

  • `git clone https://github.com/PowerShellMafia/PowerSploit.git` — interagit avec un dépôt ; évitez d’exposer des secrets dans l’historique ou les sorties.
  • `Get-FileHash .\PowerSploit.psd1 -Algorithm SHA256` — cette ligne participe à l’exercice « Fonctionnement, architecture et limites » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Import-Module .\PowerSploit.psd1 -Force` — cette ligne participe à l’exercice « Fonctionnement, architecture et limites » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `Get-Command -Module PowerSploit` — cette ligne participe à l’exercice « Fonctionnement, architecture et limites » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.

Traces, nettoyage et restitution

Pour « Fonctionnement, architecture et limites », un résultat utile relie au minimum le contexte, l’action et l’observation. Une sortie d’outil isolée reste une indication : elle devient une preuve lorsque le périmètre, la version, les paramètres et la reproduction sont documentés.

La conclusion doit préciser ce qui est confirmé, ce qui reste probable et ce qui n’a pas été testé. Dans le profil « operation », les éléments à rapprocher sont notamment : identifiant de campagne, hôte et compte de test, horodatage des actions. Les autres éléments servent à expliquer la portée et à préparer le retest.

  • Élément à documenter — identifiant de campagne.
  • Élément à documenter — hôte et compte de test.
  • Élément à documenter — horodatage des actions.
  • Élément à documenter — télémétrie attendue côté défense.
  • Élément à documenter — preuve de suppression des artefacts.

Erreurs fréquentes et amélioration de la qualité

Les erreurs ci-dessous sont particulièrement importantes pour « Fonctionnement, architecture et limites ». Elles produisent des faux positifs, des conclusions impossibles à reproduire ou un risque inutile pour le laboratoire.

  • À éviter — privilégier la furtivité au détriment de la sécurité.
  • À éviter — déployer sans canal de déconfliction.
  • À éviter — utiliser des secrets ou données réels.
  • À éviter — oublier les mécanismes de persistance créés.
  • À éviter — ne pas vérifier la disparition des sessions et fichiers.

Checklist avant de clôturer le chapitre

Cette checklist résume les contrôles attendus pour considérer « Fonctionnement, architecture et limites » comme terminé de manière professionnelle.

  • L’objectif et le périmètre de « Fonctionnement, architecture et limites » sont écrits.
  • La version des outils et composants est enregistrée.
  • La commande, le filtre ou la procédure exacte est conservé.
  • La sortie brute est horodatée et accompagnée de son contexte.
  • Le résultat a été confirmé par une seconde observation.
  • Les limites et les éléments non testés sont explicites.
  • Les artefacts créés ont été supprimés ou remis dans l’état convenu.
  • La recommandation et le critère de retest sont exploitables.

Références

À retenir

Pour maîtriser « Fonctionnement, architecture et limites », retenez trois idées : comprendre l’objectif d’émulation, les canaux autorisés, la durée, les comptes de test, la visibilité attendue et les règles d’arrêt, exécuter une méthode limitée et reproductible, puis transformer la sortie en preuve contextualisée. Le chapitre est terminé lorsque le résultat peut être confirmé, que ses limites sont explicites et que la correction peut être retestée sans réinterpréter toute la mission.

  • Savoir expliquer le mécanisme propre à « Fonctionnement, architecture et limites » sans réciter une commande.
  • Conserver au minimum identifiant de campagne, hôte et compte de test et horodatage des actions.
  • Éviter en priorité de privilégier la furtivité au détriment de la sécurité et de déployer sans canal de déconfliction.
  • Proposer une action corrective mesurable et un retest réalisable.