Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PowerSploit — PowerSploit - A PowerShell Post-Exploitation Framework | Kitploit
Tools/GitHubGitHub/powershellmafia/powersploit
Privilege EscalationReconnaissancePayload GenerationPersistence MechanismsLateral MovementShellcodePost-ExploitationPenetration TestingArchived
GitHubpowershellmafia/powersploit

PowerSploit

PowerSploit - A PowerShell Post-Exploitation Framework

Repository anzeigen
13.1k4.7kvor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Dieses Projekt wird nicht mehr unterstützt

PowerSploit ist eine Sammlung von Microsoft PowerShell-Modulen, die Penetrationstestern in allen Phasen einer Bewertung helfen können. PowerSploit besteht aus den folgenden Modulen und Skripten:

Codeausführung

Code auf einem Zielcomputer ausführen.

Invoke-DllInjection

Injiziert eine DLL in die Prozess-ID Ihrer Wahl.

Invoke-ReflectivePEInjection

Lädt eine Windows-PE-Datei (DLL/EXE) reflektiv in den PowerShell-Prozess oder injiziert reflektiv eine DLL in einen entfernten Prozess.

Invoke-Shellcode

Injiziert Shellcode in die Prozess-ID Ihrer Wahl oder lokal in PowerShell.

Invoke-WmiCommand

Führt einen PowerShell-ScriptBlock auf einem Zielcomputer aus und gibt dessen formatierte Ausgabe über WMI als C2-Kanal zurück.

Skriptmodifikation

Skripte zur Ausführung auf einem kompromittierten Computer ändern und/oder vorbereiten.

Out-EncodedCommand

Komprimiert, kodiert Base-64 und generiert Befehlszeilenausgabe für ein PowerShell-Payload-Skript.

Out-CompressedDll

Komprimiert, kodiert Base-64 und gibt generierten Code aus, um eine verwaltete DLL im Speicher zu laden.

Out-EncryptedScript

Verschlüsselt Textdateien/Skripte.

Remove-Comment

Entfernt Kommentare und überflüssige Leerzeichen aus einem Skript.

Persistenz

Persistenzfähigkeiten zu einem PowerShell-Skript hinzufügen.

New-UserPersistenceOption

Konfiguriert Benutzerpersistenzoptionen für die Add-Persistence-Funktion.

New-ElevatedPersistenceOption

Konfiguriert erhöhte Persistenzoptionen für die Add-Persistence-Funktion.

Add-Persistence

Fügt einem Skript Persistenzfähigkeiten hinzu.

Install-SSP

Installiert eine DLL eines Security Support Providers (SSP).

Get-SecurityPackages

Listet alle geladenen Sicherheitspakete (SSPs) auf.

Antiviren-Umgehung

AV hat gegen PowerShell keine Chance!

Find-AVSignature

Findet einzelne Byte-AV-Signaturen mit der gleichen Methode wie DSplit aus 'class101'.

Exfiltration

Alle Ihre Daten gehören mir!

Invoke-TokenManipulation

Listet verfügbare Anmeldetoken auf. Erstellt Prozesse mit Anmeldetoken anderer Benutzer und imitiert Anmeldetoken im aktuellen Thread.

Invoke-CredentialInjection

Erstellt Anmeldungen mit Klartext-Anmeldeinformationen, ohne ein verdächtiges Ereignis-ID 4648 (Explizite Anmeldeinformationen) auszulösen.

Invoke-NinjaCopy

Kopiert eine Datei von einem NTFS-partitionierten Volume, indem das rohe Volume gelesen und die NTFS-Strukturen analysiert werden.

Invoke-Mimikatz

Lädt Mimikatz 2.0 reflektiv in den Speicher mittels PowerShell. Kann verwendet werden, um Anmeldeinformationen zu dumpen, ohne etwas auf die Festplatte zu schreiben. Kann für jede mit Mimikatz bereitgestellte Funktionalität verwendet werden.

Get-Keystrokes

Protokolliert gedrückte Tasten, Zeit und das aktive Fenster.

Get-GPPPassword

Ruft das Klartext-Passwort und andere Informationen für Konten ab, die über Gruppenrichtlinienpräferenzen (Group Policy Preferences) verteilt wurden.

Get-GPPAutologon

Ruft Benutzername und Passwort für die automatische Anmeldung aus registry.xml ab, wenn über Gruppenrichtlinienpräferenzen verteilt.

Get-TimedScreenshot

Eine Funktion, die in regelmäßigen Abständen Screenshots erstellt und in einem Ordner speichert.

New-VolumeShadowCopy

Erstellt eine neue Volumeschattenkopie.

Get-VolumeShadowCopy

Listet die Gerätepfade aller lokalen Volumeschattenkopien auf.

Mount-VolumeShadowCopy

Mountet eine Volumeschattenkopie.

Remove-VolumeShadowCopy

Löscht eine Volumeschattenkopie.

Get-VaultCredential

Zeigt Windows-Vault-Anmeldeinformationsobjekte an, einschließlich Klartext-Webanmeldeinformationen.

Out-Minidump

Erstellt einen vollständigen Speicher-Minidump eines Prozesses.

Get-MicrophoneAudio

Zeichnet Audio vom Systemmikrofon auf und speichert es auf der Festplatte.

Chaos

Mit PowerShell allgemeines Chaos verursachen.

Set-MasterBootRecord

Proof-of-Concept-Code, der den Master Boot Record mit einer Nachricht Ihrer Wahl überschreibt.

Set-CriticalProcess

Verursacht einen Bluescreen Ihres Computers beim Beenden von PowerShell.

Privilegieneskalation

Werkzeuge zur Unterstützung bei der Privilegieneskalation auf einem Ziel.

PowerUp

Zentrale Sammlung gängiger Privilegieneskalationsprüfungen, zusammen mit einigen Weaponization-Vektoren.

Aufklärung

Werkzeuge zur Unterstützung in der Aufklärungsphase eines Penetrationstests.

Invoke-Portscan

Führt einen einfachen Portscan mit regulären Sockets durch, lose basierend auf nmap.

Get-HttpStatus

Gibt die HTTP-Statuscodes und die vollständige URL für angegebene Pfade zurück, wenn eine Wörterbuchdatei bereitgestellt wird.

Invoke-ReverseDnsLookup

Scannt einen IP-Adressbereich nach DNS-PTR-Einträgen.

PowerView

PowerView ist eine Reihe von Funktionen, die Netzwerk- und Windows-Domänen-Enumeration und -Ausnutzung durchführen.

Recon\Wörterbücher

Eine Sammlung von Wörterbüchern, die in der Aufklärungsphase eines Penetrationstests verwendet werden. Die Wörterbücher stammen aus den folgenden Quellen.

  • 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/

Lizenz

Das PowerSploit-Projekt und alle einzelnen Skripte stehen unter der BSD-3-Klausel-Lizenz, sofern nicht ausdrücklich anders angegeben.

Verwendung

Siehe die kommentarbasierte Hilfe in jedem einzelnen Skript für detaillierte Verwendungsinformationen.

Um dieses Modul zu installieren, legen Sie den gesamten PowerSploit-Ordner in eines Ihrer Modulverzeichnisse. Die standardmäßigen PowerShell-Modulpfade sind in der Umgebungsvariablen $Env:PSModulePath aufgelistet.

Der standardmäßige benutzerspezifische Modulpfad ist: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" Der standardmäßige computerweite Modulpfad ist: "$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 nach dem Platzieren von PowerSploit in Ihrem Modulpfad den folgenden Einzeiler aus: $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.

Beitragsregeln

Wir brauchen Beiträge! Wenn Sie eine großartige Idee für PowerSploit haben, würden wir sie gerne hinzufügen. Neue Ergänzungen erfordern Folgendes:

  • Das Skript muss dem Style Guide entsprechen. Ausnahmen von der Richtlinie benötigen einen expliziten, gültigen Grund.
  • Das Modulmanifest muss aktualisiert werden, um die neu hinzugefügte Funktion widerzuspiegeln.
  • Eine kurze Beschreibung der Funktion sollte in dieser README.md hinzugefügt werden.
  • Pester-Tests müssen alle neuen Funktionen begleiten. Siehe den Tests-Ordner für Beispiele, aber wir suchen nach Tests, die zumindest die Grundlagen abdecken, indem sie auf erwartete/unerwartete Eingabe/Ausgabe testen und dass die Funktion die gewünschte Funktionalität zeigt. Stellen Sie sicher, dass die Funktion alle Tests besteht (vorzugsweise auf mehreren Betriebssystemen), bevor Sie einen Pull-Request einreichen. Danke!

Skript-Style-Guide

Für alle Beitragenden und zukünftigen Beitragenden zu PowerSploit bitte ich Sie, diesen Style Guide beim Schreiben Ihrer Skripte/Module zu befolgen.

  • Vermeiden Sie Write-Host um jeden Preis. PowerShell-Funktionen/Cmdlets sind keine Befehlszeilenprogramme! Pull-Requests, die Code mit Write-Host enthalten, werden nicht berücksichtigt. Stattdessen sollten Sie benutzerdefinierte Objekte ausgeben. Weitere Informationen zum Erstellen benutzerdefinierter Objekte finden Sie in diesen Artikeln:

    • 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
  • Wenn Sie relevante Debugging-Informationen auf dem Bildschirm anzeigen möchten, verwenden Sie Write-Verbose. Der Benutzer kann einfach '-Verbose' anhängen.

  • Stellen Sie immer eine beschreibende, kommentarbasierte Hilfe für jedes Skript bereit. Stellen Sie außerdem sicher, dass Sie Ihren Namen und eine BSD-3-Klausel-Lizenz angeben (es sei denn, es liegen mildernde Umstände vor, die die Anwendung der BSD-Lizenz verhindern).

  • Stellen Sie sicher, dass alle Funktionen der korrekten PowerShell-Verb-Nomen-Vereinbarung folgen. Verwenden Sie Get-Verb, um die von PowerShell verwendeten Standardverben aufzulisten. Ausnahmen von unterstützten Verben werden von Fall zu Fall betrachtet.

  • Ich bevorzuge, dass Variablennamen großgeschrieben und so beschreibend wie möglich sind.

  • Sorgen Sie für logische Abstände zwischen Ihrem Code. Rücken Sie Ihren Code ein, um ihn lesbarer zu machen.

  • Wenn Sie feststellen, dass Sie Code wiederholen, schreiben Sie eine Funktion.

  • Fangen Sie alle vorhersehbaren Fehler ab und geben Sie sinnvolle Ausgaben. Wenn Sie einen Fehler haben, der die Ausführung des Skripts stoppen sollte, verwenden Sie 'Throw'. Wenn Sie einen Fehler haben, der die Ausführung nicht stoppen muss, verwenden Sie Write-Error.

  • Wenn Sie ein Skript schreiben, das mit der Win32-API interagiert, versuchen Sie, die Inline-Kompilierung von C# mit Add-Type zu vermeiden. Versuchen Sie, wenn möglich, das PSReflect-Modul zu verwenden.

  • Verwenden Sie keine festcodierten Pfade. Ein Skript sollte sofort einsatzbereit sein. Niemand sollte den Code ändern müssen, es sei denn, er möchte es.

  • PowerShell v2-Kompatibilität ist sehr erwünscht.

  • Verwenden Sie Positionsparameter und machen Sie Parameter erforderlich, wenn es sinnvoll ist. Zum Beispiel suche ich etwas wie das Folgende:

Tool herunterladen
[Parameter(Position = 0, Mandatory = $True)]
  • Verwenden Sie keine Aliase, es sei denn, es ist sinnvoll für den Empfang von Pipeline-Eingaben. Sie erschweren das Lesen des Codes für Personen, die mit einem bestimmten Alias nicht vertraut sind.

  • Versuchen Sie, Befehle nicht zu lang laufen zu lassen. Zum Beispiel ist eine Pipeline ein natürlicher Ort für einen Zeilenumbruch.

  • Übertreiben Sie es nicht mit Inline-Kommentaren. Verwenden Sie sie nur, wenn bestimmte Aspekte des Codes für einen Leser verwirrend sein könnten.

  • Anstatt Out-Null zu verwenden, um unerwünschte/irrelevante Ausgaben zu unterdrücken, speichern Sie die unerwünschte Ausgabe in $null. Dies bietet eine geringfügige Leistungsverbesserung.

  • Verwenden Sie Standardwerte für Ihre Parameter, wenn es sinnvoll ist. Idealerweise möchten Sie ein Skript, das ohne Parameter funktioniert.

  • Wenn ein Skript komplexe benutzerdefinierte Objekte erstellt, fügen Sie eine ps1xml-Datei hinzu, die die Ausgabe des Objekts ordnungsgemäß formatiert.