PowerSploit - Un framework de post-exploitation PowerShell
Forké pour ajouter quelques fonctionnalités à PowerView.ps1 que j'effectue couramment manuellement
Exécute du code sur une machine cible.
Invoke-DllInjectionInjecte une DLL dans l'ID de processus de votre choix.
Invoke-ReflectivePEInjectionCharge par réflexion un fichier PE Windows (DLL/EXE) dans le processus PowerShell, ou injecte par réflexion une DLL dans un processus distant.
Invoke-ShellcodeInjecte du shellcode dans l'ID de processus de votre choix ou localement dans PowerShell.
Invoke-WmiCommandExécute un ScriptBlock PowerShell sur un ordinateur cible et retourne sa sortie formatée en utilisant WMI comme canal C2.
Modifie et/ou prépare des scripts pour exécution sur une machine compromise.
Out-EncodedCommandCompresse, encode en Base-64 et génère une sortie en ligne de commande pour un script de charge utile PowerShell.
Out-CompressedDllCompresse, encode en Base-64 et génère du code pour charger une DLL managée en mémoire.
Out-EncryptedScriptChiffre des fichiers texte/scripts.
Remove-CommentSupprime les commentaires et les espaces superflus d'un script.
Ajoute des capacités de persistance à un script PowerShell
New-UserPersistenceOptionConfigure les options de persistance au niveau utilisateur pour la fonction Add-Persistence.
New-ElevatedPersistenceOptionConfigure les options de persistance avec élévation de privilèges pour la fonction Add-Persistence.
Add-PersistenceAjoute des capacités de persistance à un script.
Install-SSPInstalle une DLL de fournisseur de support de sécurité (SSP).
Get-SecurityPackagesÉnumère tous les packages de sécurité chargés (SSP).
L'antivirus n'a aucune chance face à PowerShell !
Find-AVSignatureLocalise les signatures antivirus d'un seul octet en utilisant la même méthode que DSplit de "class101".
Toutes vos données m'appartiennent !
Invoke-TokenManipulationListe les jetons d'ouverture de session disponibles. Crée des processus avec les jetons d'ouverture de session d'autres utilisateurs et impersonne les jetons d'ouverture de session dans le thread courant.
Invoke-CredentialInjectionCrée des ouvertures de session avec des identifiants en clair sans déclencher l'ID d'événement 4648 suspect (ouverture de session avec identifiants explicites).
Invoke-NinjaCopyCopie un fichier depuis un volume partitionné NTFS en lisant le volume brut et en analysant les structures NTFS.
Invoke-MimikatzCharge Mimikatz 2.0 par réflexion en mémoire à l'aide de PowerShell. Peut être utilisé pour extraire des identifiants sans rien écrire sur le disque. Peut être utilisé pour toutes les fonctionnalités fournies par Mimikatz.
Get-KeystrokesEnregistre les touches pressées, l'heure et la fenêtre active.
Get-GPPPasswordRécupère le mot de passe en clair et d'autres informations pour les comptes déployés via les préférences de stratégie de groupe.
Get-GPPAutologonRécupère le nom d'utilisateur et le mot de passe d'ouverture automatique depuis registry.xml s'ils sont déployés via les préférences de stratégie de groupe.
Get-TimedScreenshotUne fonction qui prend des captures d'écran à intervalle régulier et les enregistre dans un dossier.
New-VolumeShadowCopyCrée une nouvelle copie fantôme de volume.
Get-VolumeShadowCopyListe les chemins d'appareil de toutes les copies fantômes de volume locales.
Mount-VolumeShadowCopyMonte une copie fantôme de volume.
Remove-VolumeShadowCopySupprime une copie fantôme de volume.
Get-VaultCredentialAffiche les objets d'identifiants du coffre Windows, y compris les identifiants web en clair.
Out-MinidumpGénère un minidump complet de la mémoire d'un processus.
Get-MicrophoneAudioEnregistre l'audio du microphone système et le sauvegarde sur le disque.
Provoque le chaos général avec PowerShell.
Set-MasterBootRecordPreuve de concept qui écrase le secteur d'amorçage principal avec le message de votre choix.
Set-CriticalProcessProvoque un écran bleu sur votre machine à la sortie de PowerShell.
Outils pour aider à élever les privilèges sur une cible.
PowerUpRéférence des vérifications courantes d'élévation de privilèges, accompagnée de certains vecteurs de weaponisation.
Outils pour faciliter la phase de reconnaissance d'un test d'intrusion.
Invoke-PortscanEffectue un simple scan de ports à l'aide de sockets classiques, basé (assez) librement sur nmap.
Get-HttpStatusRetourne les codes de statut HTTP et l'URL complète pour les chemins spécifiés lorsqu'un fichier de dictionnaire est fourni.
Invoke-ReverseDnsLookupScanne une plage d'adresses IP pour trouver des enregistrements DNS PTR.
PowerViewPowerView est une série de fonctions qui effectue l'énumération et l'exploitation du réseau et des domaines Windows.
Une collection de dictionnaires utilisée pour faciliter la phase de reconnaissance d'un test d'intrusion. Les dictionnaires proviennent des sources suivantes.
Le projet PowerSploit et tous les scripts individuels sont sous licence BSD 3-Clause sauf mention explicite contraire.
Reportez-vous à l'aide basée sur les commentaires de chaque script pour des informations d'utilisation détaillées.
Pour installer ce module, déposez le dossier PowerSploit entier dans l'un de vos répertoires de modules. Les chemins de modules PowerShell par défaut sont répertoriés dans la variable d'environnement $Env:PSModulePath.
Le chemin de module par défaut pour l'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 souhaitez supprimer l'avertissement ennuyeux 'Do you really want to run scripts downloaded from the Internet', une fois que vous avez placé PowerSploit dans votre chemin de modules, exécutez la commande d'une 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 que favoriser une portabilité accrue.
Nous avons besoin de contributions ! Si vous avez une excellente idée pour PowerSploit, nous serions ravis de l'ajouter. Les nouvelles additions devront répondre aux exigences suivantes :