Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
PowerSploit — PowerSploit - Un framework de post-exploitation PowerShell | Kitploit
Outils/GitHubGitHub/powershellmafia/powersploit
Escalade de PrivilègesReconnaissanceGénération de PayloadsMécanismes de PersistanceMouvement LatéralShellcodePost-ExploitationTests d'IntrusionArchived
GitHubpowershellmafia/powersploit

PowerSploit

PowerSploit - Un framework de post-exploitation PowerShell

Voir le dépôt
13.1k4.7kil y a 6 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Ce projet n'est plus supporté

PowerSploit est un ensemble de modules Microsoft PowerShell pouvant être utilisés pour aider les testeurs d'intrusion pendant toutes les phases d'une évaluation. PowerSploit comprend les modules et scripts suivants :

Exécution de code

Exécuter du code sur une machine cible.

Invoke-DllInjection

Injecte une DLL dans l'ID de processus de votre choix.

Invoke-ReflectivePEInjection

Charge de manière réflexive un fichier PE Windows (DLL/EXE) dans le processus PowerShell, ou injecte de manière réflexive une DLL dans un processus distant.

Invoke-Shellcode

Injecte du shellcode dans l'ID de processus de votre choix ou localement dans PowerShell.

Invoke-WmiCommand

Exécute un ScriptBlock PowerShell sur un ordinateur cible et renvoie sa sortie formatée en utilisant WMI comme canal C2.

Modification de script

Modifier et/ou préparer des scripts pour exécution sur une machine compromise.

Out-EncodedCommand

Compresse, encode en Base64 et génère une sortie en ligne de commande pour un script de charge utile PowerShell.

Out-CompressedDll

Compresse, encode en Base64 et génère le code nécessaire pour charger une DLL managée en mémoire.

Out-EncryptedScript

Chiffre des fichiers texte/scripts.

Remove-Comment

Supprime les commentaires et les espaces superflus d'un script.

Persistance

Ajouter des capacités de persistance à un script PowerShell

New-UserPersistenceOption

Configure les options de persistance au niveau utilisateur pour la fonction Add-Persistence.

New-ElevatedPersistenceOption

Configure les options de persistance élevée pour la fonction Add-Persistence.

Add-Persistence

Ajoute des capacités de persistance à un script.

Install-SSP

Installe une DLL de fournisseur de support de sécurité (SSP).

Get-SecurityPackages

Énumère tous les packages de sécurité (SSP) chargés.

Contournement antivirus

L'antivirus n'a aucune chance face à PowerShell !

Find-AVSignature

Localise les signatures AV d'un seul octet en utilisant la même méthode que DSplit de « class101 ».

Exfiltration

Toutes vos données m'appartiennent !

Invoke-TokenManipulation

Liste les jetons de connexion disponibles. Crée des processus avec les jetons de connexion d'autres utilisateurs et usurpe les jetons de connexion dans le thread actuel.

Invoke-CredentialInjection

Crée des connexions avec des identifiants en clair sans déclencher l'ID d'événement suspect 4648 (Connexion avec identifiants explicites).

Invoke-NinjaCopy

Copie un fichier depuis un volume partitionné en NTFS en lisant le volume brut et en analysant les structures NTFS.

Invoke-Mimikatz

Charge de manière réflexive Mimikatz 2.0 en mémoire en utilisant PowerShell. Peut être utilisé pour extraire des identifiants sans rien écrire sur le disque. Peut être utilisé pour toute fonctionnalité fournie par Mimikatz.

Get-Keystrokes

Enregistre les touches pressées, l'heure et la fenêtre active.

Get-GPPPassword

Récupère le mot de passe en clair et d'autres informations pour les comptes poussés via les préférences de stratégie de groupe (Group Policy Preferences).

Get-GPPAutologon

Récupère le nom d'utilisateur et le mot de passe de connexion automatique à partir de registry.xml s'ils sont poussés via les préférences de stratégie de groupe.

Get-TimedScreenshot

Une fonction qui prend des captures d'écran à intervalles réguliers et les sauvegarde dans un dossier.

New-VolumeShadowCopy

Crée une nouvelle copie fantôme de volume.

Get-VolumeShadowCopy

Liste les chemins d'accès de toutes les copies fantômes de volume locales.

Mount-VolumeShadowCopy

Monte une copie fantôme de volume.

Remove-VolumeShadowCopy

Supprime une copie fantôme de volume.

Get-VaultCredential

Affiche les objets d'identifiants du coffre Windows, y compris les identifiants web en clair.

Out-Minidump

Génère un minidump complet de la mémoire d'un processus.

Get-MicrophoneAudio

Enregistre l'audio depuis le microphone du système et le sauvegarde sur le disque.

Chahut

Provoquer le chaos général avec PowerShell.

Set-MasterBootRecord

Code de preuve de concept qui écrase le enregistrement de démarrage principal avec le message de votre choix.

Set-CriticalProcess

Provoque un écran bleu sur votre machine à la sortie de PowerShell.

Élévation de privilèges

Outils pour aider à l'élévation des privilèges sur une cible.

PowerUp

Ensemble de vérifications courantes d'élévation de privilèges, avec quelques vecteurs d'armement.

Reconnaissance

Outils pour aider à la phase de reconnaissance d'un test d'intrusion.

Invoke-Portscan

Effectue un simple scan de ports en utilisant des sockets classiques, basé (assez) librement sur nmap.

Get-HttpStatus

Renvoie les codes d'état HTTP et l'URL complète pour des chemins spécifiés lorsqu'un fichier dictionnaire est fourni.

Invoke-ReverseDnsLookup

Scanne une plage d'adresses IP pour les enregistrements DNS PTR.

PowerView

PowerView est une série de fonctions qui effectuent l'énumération du réseau et du domaine Windows ainsi que l'exploitation.

Recon\Dictionaries

Une collection de dictionnaires utilisés pour aider à la phase de reconnaissance d'un test d'intrusion. Les dictionnaires proviennent des sources suivantes.

  • admin.txt - http://cirt.net/nikto2/
  • generic.txt - http://sourceforge.net/projects/yokoso/files/yokoso-0.1/
  • sharepoint.txt - http://www.stachliu.com/resources/tools/sharepoint-hacking-diggity-project/

Licence

Le projet PowerSploit et tous les scripts individuels sont sous licence BSD 3-Clause sauf indication contraire explicite.

Utilisation

Reportez-vous à l'aide basée sur les commentaires dans chaque script individuel pour des informations d'utilisation détaillées.

Pour installer ce module, placez l'ensemble du dossier PowerSploit dans l'un de vos répertoires de modules. Les chemins de modules PowerShell par défaut sont listés dans la variable d'environnement $Env:PSModulePath.

Le chemin de module par défaut par utilisateur est : "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" Le chemin de module par défaut au niveau de l'ordinateur est : "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

Pour utiliser le module, tapez Import-Module PowerSploit

Pour voir les commandes importées, tapez Get-Command -Module PowerSploit

Si vous utilisez PowerShell v3 et que vous souhaitez supprimer l'avertissement ennuyeux « Voulez-vous vraiment exécuter des scripts téléchargés depuis Internet ? », une fois que vous avez placé PowerSploit dans votre chemin de modules, exécutez la ligne suivante : $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

Pour de l'aide sur chaque commande individuelle, Get-Help est votre ami.

Remarque : Les outils contenus dans ce module ont tous été conçus pour pouvoir être exécutés individuellement. Les inclure dans un module ne fait qu'augmenter la portabilité.

Règles de contribution

Nous avons besoin de contributions ! Si vous avez une excellente idée pour PowerSploit, nous aimerions l'ajouter. Les nouvelles additions devront respecter les conditions suivantes :

  • Le script doit adhérer au guide de style. Toute exception à la ligne directrice nécessitera une raison explicite et valide.
  • Le manifeste du module doit être mis à jour pour refléter la nouvelle fonction ajoutée.
  • Une brève description de la fonction doit être ajoutée à ce README.md.
  • Des tests Pester doivent accompagner toutes les nouvelles fonctions. Voir le dossier Tests pour des exemples, mais nous recherchons des tests qui couvrent au moins les bases en testant les entrées/sorties attendues/inattendues et que la fonction présente la fonctionnalité souhaitée. Assurez-vous que la fonction réussit tous les tests (de préférence sur plusieurs OS) avant de soumettre une pull request. Merci !

Guide de style des scripts

Pour tous les contributeurs et futurs contributeurs de PowerSploit, je vous demande de suivre ce guide de style lors de l'écriture de vos scripts/modules.

  • Évitez Write-Host à tout prix. Les fonctions/cmdlets PowerShell ne sont pas des utilitaires en ligne de commande ! Les pull requests contenant du code utilisant Write-Host ne seront pas prises en compte. Vous devez plutôt produire des objets personnalisés. Pour plus d'informations sur la création d'objets personnalisés, lisez ces articles :

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • Si vous souhaitez afficher des informations de débogage pertinentes à l'écran, utilisez Write-Verbose. L'utilisateur peut toujours ajouter '-Verbose'.

  • Fournissez toujours une aide descriptive basée sur les commentaires pour chaque script. Assurez-vous également d'inclure votre nom et une licence BSD 3-Clause (sauf circonstances particulières empêchant l'application de la licence BSD).

  • Assurez-vous que toutes les fonctions respectent la règle verbe-nom appropriée de PowerShell. Utilisez Get-Verb pour lister les verbes par défaut utilisés par PowerShell. Les exceptions aux verbes pris en charge seront examinées au cas par cas.

  • Je préfère que les noms de variables soient en majuscules et aussi descriptifs que possible.

  • Fournissez un espacement logique entre votre code. Indentez votre code pour le rendre plus lisible.

  • Si vous vous retrouvez à répéter du code, écrivez une fonction.

  • Capturez toutes les erreurs anticipées et fournissez une sortie significative. Si vous avez une erreur qui doit arrêter l'exécution du script, utilisez 'Throw'. Si vous avez une erreur qui ne nécessite pas d'arrêter l'exécution, utilisez Write-Error.

  • Si vous écrivez un script qui interagit avec l'API Win32, essayez d'éviter de compiler du C# en ligne avec Add-Type. Essayez d'utiliser le module PSReflect, si possible.

  • N'utilisez pas de chemins codés en dur. Un script doit être utilisable dès sa sortie de la boîte. Personne ne devrait avoir à modifier le code sauf s'il le souhaite.

  • La compatibilité avec PowerShell v2 est hautement souhaitée.

  • Utilisez des paramètres positionnels et rendez les paramètres obligatoires lorsque cela a du sens. Par exemple, je recherche quelque chose comme ceci :

    • [Parameter(Position = 0, Mandatory = $True)]
Télécharger l’outil
  • N'utilisez pas d'alias sauf si cela a du sens pour recevoir une entrée par pipeline. Ils rendent le code plus difficile à lire pour les personnes qui ne connaissent pas un alias particulier.

  • Essayez de ne pas laisser les commandes s'étendre trop longtemps. Par exemple, un pipeline est un endroit naturel pour un saut de ligne.

  • N'en faites pas trop avec les commentaires en ligne. Utilisez-les seulement lorsque certains aspects du code pourraient être confus pour un lecteur.

  • Plutôt que d'utiliser Out-Null pour supprimer la sortie indésirable/non pertinente, enregistrez la sortie indésirable dans $null. Cela offre une légère amélioration des performances.

  • Utilisez des valeurs par défaut pour vos paramètres lorsque cela a du sens. Idéalement, vous voulez un script qui fonctionne sans nécessiter de paramètres.

  • Si un script crée des objets personnalisés complexes, incluez un fichier ps1xml qui formatera correctement la sortie de l'objet.