PowerSploit – Ein PowerShell-Post-Exploitation-Framework
Geforkt, um PowerView.ps1 ein paar Funktionen hinzuzufügen, die ich häufig manuell ausführe
Code auf einem Zielcomputer ausführen.
Invoke-DllInjectionInjiziert eine DLL in die Prozess-ID Ihrer Wahl.
Invoke-ReflectivePEInjectionLädt eine Windows-PE-Datei (DLL/EXE) reflektiv in den PowerShell-Prozess oder injiziert eine DLL reflektiv in einen entfernten Prozess.
Invoke-ShellcodeInjiziert Shellcode in die Prozess-ID Ihrer Wahl oder lokal innerhalb von PowerShell.
Invoke-WmiCommandFührt einen PowerShell-ScriptBlock auf einem Zielcomputer aus und gibt dessen formatierte Ausgabe über WMI als C2-Kanal zurück.
Skripte für die Ausführung auf einem kompromittierten Computer ändern und/oder vorbereiten.
Out-EncodedCommandKomprimiert, base-64-kodiert und erzeugt Befehlszeilenausgabe für ein PowerShell-Payload-Skript.
Out-CompressedDllKomprimiert, base-64-kodiert und gibt generierten Code aus, um eine verwaltete DLL in den Speicher zu laden.
Out-EncryptedScriptVerschlüsselt Textdateien/Skripte.
Remove-CommentEntfernt Kommentare und überflüssige Leerzeichen aus einem Skript.
Persistenzfunktionen zu einem PowerShell-Skript hinzufügen
New-UserPersistenceOptionKonfiguriert Persistenzoptionen auf Benutzerebene für die Add-Persistence-Funktion.
New-ElevatedPersistenceOptionKonfiguriert erhöhte Persistenzoptionen für die Add-Persistence-Funktion.
Add-PersistenceFügt einem Skript Persistenzfunktionen hinzu.
Install-SSPInstalliert eine DLL eines Security Support Providers (SSP).
Get-SecurityPackagesZählt alle geladenen Sicherheitspakete (SSPs) auf.
AV hat gegen PowerShell keine Chance!
Find-AVSignatureErmittelt einzelne Byte-AV-Signaturen mit derselben Methode wie DSplit aus "class101".
Alle Ihre Daten gehören mir!
Invoke-TokenManipulationListet verfügbare Anmeldetoken auf. Erstellt Prozesse mit Anmeldetoken anderer Benutzer und führt im aktuellen Thread einen Identitätswechsel mit Anmeldetoken durch.
Invoke-CredentialInjectionErstellt Anmeldungen mit Klartext-Anmeldedaten, ohne ein verdächtiges Ereignis mit der ID 4648 (Explizite Anmeldedaten-Anmeldung) auszulösen.
Invoke-NinjaCopyKopiert eine Datei von einem NTFS-partitionierten Volume, indem das rohe Volume gelesen und die NTFS-Strukturen analysiert werden.
Invoke-MimikatzLädt Mimikatz 2.0 mithilfe von PowerShell reflektiv in den Speicher. Kann verwendet werden, um Anmeldedaten zu extrahieren, ohne etwas auf die Festplatte zu schreiben. Kann für jede Funktion verwendet werden, die Mimikatz bereitstellt.
Get-KeystrokesProtokolliert gedrückte Tasten, Uhrzeit und das aktive Fenster.
Get-GPPPasswordRuft das Klartext-Passwort und andere Informationen für Konten ab, die über Gruppenrichtlinien-Einstellungen (Group Policy Preferences) verteilt wurden.
Get-GPPAutologonRuft Benutzername und Passwort der automatischen Anmeldung (Autologon) aus registry.xml ab, sofern diese über Gruppenrichtlinien-Einstellungen verteilt wurden.
Get-TimedScreenshotEine Funktion, die in regelmäßigen Abständen Screenshots erstellt und in einem Ordner speichert.
New-VolumeShadowCopyErstellt eine neue Volumeschattenkopie.
Get-VolumeShadowCopyListet die Gerätepfade aller lokalen Volumeschattenkopien auf.
Mount-VolumeShadowCopyMountet eine Volumeschattenkopie.
Remove-VolumeShadowCopyLöscht eine Volumeschattenkopie.
Get-VaultCredentialZeigt Windows Vault-Anmeldeinformationsobjekte an, einschließlich Klartext-Webanmeldedaten.
Out-MinidumpErzeugt einen Minidump des vollständigen Speichers eines Prozesses.
Get-MicrophoneAudioNimmt Audio über das Systemmikrofon auf und speichert es auf der Festplatte.
Mit PowerShell allgemeines Chaos anrichten.
Set-MasterBootRecordProof-of-Concept-Code, der den Master Boot Record mit der von Ihnen gewählten Nachricht überschreibt.
Set-CriticalProcessLässt Ihren Computer beim Beenden von PowerShell einen Blue Screen anzeigen.
Werkzeuge zur Unterstützung bei der Rechteausweitung auf einem Ziel.
PowerUpZentrale Anlaufstelle für übliche Prüfungen zur Rechteausweitung sowie einige Weaponization-Vektoren.
Werkzeuge zur Unterstützung der Aufklärungsphase eines Penetrationstests.
Invoke-PortscanFührt einen einfachen Portscan mit regulären Sockets durch, der (ziemlich) lose auf nmap basiert.
Get-HttpStatusGibt die HTTP-Statuscodes und die vollständige URL für angegebene Pfade zurück, wenn eine Wörterbuchdatei bereitgestellt wird.
Invoke-ReverseDnsLookupScannt einen IP-Adressbereich nach DNS-PTR-Einträgen.
PowerViewPowerView ist eine Reihe von Funktionen, die Netzwerk- und Windows-Domänen-Enumeration und -Ausnutzung durchführt.
Eine Sammlung von Wörterbüchern, die in der Aufklärungsphase eines Penetrationstests verwendet werden. Die Wörterbücher stammen aus den folgenden Quellen.
Das PowerSploit-Projekt und alle einzelnen Skripte stehen unter der BSD-3-Clause-Lizenz, sofern nicht ausdrücklich etwas anderes angegeben ist.
Für detaillierte Informationen zur Verwendung lesen Sie die kommentarbasierte Hilfe in jedem einzelnen Skript.
Um dieses Modul zu installieren, legen Sie den gesamten PowerSploit-Ordner in eines Ihrer Modulverzeichnisse. Die standardmäßigen PowerShell-Modulpfade sind in der Umgebungsvariable $Env:PSModulePath aufgelistet.
Der standardmäßige Modulpfad pro Benutzer lautet: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" Der standardmäßige Modulpfad auf Computerebene lautet: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"
Um das Modul zu verwenden, geben Sie Import-Module PowerSploit ein.
Um die importierten Befehle anzuzeigen, geben Sie Get-Command -Module PowerSploit ein.
Wenn Sie PowerShell v3 ausführen und die lästige Warnung 'Möchten Sie wirklich Skripte ausführen, die aus dem Internet heruntergeladen wurden?' entfernen möchten, führen Sie den folgenden Einzeiler aus, nachdem Sie PowerSploit in Ihren Modulpfad gelegt haben:
$Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }
Für Hilfe zu jedem einzelnen Befehl ist Get-Help Ihr Freund.
Hinweis: Die in diesem Modul enthaltenen Werkzeuge wurden alle so konzipiert, dass sie einzeln ausgeführt werden können. Die Aufnahme in ein Modul dient lediglich der erhöhten Portabilität.
Wir brauchen Beiträge! Wenn Sie eine großartige Idee für PowerSploit haben, würden wir sie gerne aufnehmen. Neue Ergänzungen erfordern Folgendes: