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/zerodaylab/powersploit
Penetration Testing FrameworksPrivilege EscalationReconnaissanceExploit FrameworksPersistence MechanismsIDS/IPS EvasionData ExfiltrationCommand and ControlRed TeamingPayload Development
GitHubzerodaylab/powersploit
23929vor 4 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

PowerSploit

PowerSploit - A PowerShell Post-Exploitation Framework

Repository anzeigen

Geforkt, um PowerView.ps1 ein paar Funktionen hinzuzufügen, die ich häufig manuell ausführe

Dieses Projekt wird nicht mehr unterstützt

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

CodeExecution

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 eine DLL reflektiv in einen entfernten Prozess.

Invoke-Shellcode

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

Invoke-WmiCommand

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

ScriptModification

Skripte für die Ausführung auf einem kompromittierten Computer ändern und/oder vorbereiten.

Out-EncodedCommand

Komprimiert, base-64-kodiert und erzeugt Befehlszeilenausgabe für ein PowerShell-Payload-Skript.

Out-CompressedDll

Komprimiert, base-64-kodiert und gibt generierten Code aus, um eine verwaltete DLL in den Speicher zu laden.

Out-EncryptedScript

Verschlüsselt Textdateien/Skripte.

Remove-Comment

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

Persistence

Persistenzfunktionen zu einem PowerShell-Skript hinzufügen

New-UserPersistenceOption

Konfiguriert Persistenzoptionen auf Benutzerebene für die Add-Persistence-Funktion.

New-ElevatedPersistenceOption

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

Add-Persistence

Fügt einem Skript Persistenzfunktionen hinzu.

Install-SSP

Installiert eine DLL eines Security Support Providers (SSP).

Get-SecurityPackages

Zählt alle geladenen Sicherheitspakete (SSPs) auf.

AntivirusBypass

AV hat gegen PowerShell keine Chance!

Find-AVSignature

Ermittelt einzelne Byte-AV-Signaturen mit derselben 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 führt im aktuellen Thread einen Identitätswechsel mit Anmeldetoken durch.

Invoke-CredentialInjection

Erstellt Anmeldungen mit Klartext-Anmeldedaten, ohne ein verdächtiges Ereignis mit der ID 4648 (Explizite Anmeldedaten-Anmeldung) 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 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-Keystrokes

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

Get-GPPPassword

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

Get-GPPAutologon

Ruft Benutzername und Passwort der automatischen Anmeldung (Autologon) aus registry.xml ab, sofern diese über Gruppenrichtlinien-Einstellungen verteilt wurden.

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-Webanmeldedaten.

Out-Minidump

Erzeugt einen Minidump des vollständigen Speichers eines Prozesses.

Get-MicrophoneAudio

Nimmt Audio über das Systemmikrofon auf und speichert es auf der Festplatte.

Mayhem

Mit PowerShell allgemeines Chaos anrichten.

Set-MasterBootRecord

Proof-of-Concept-Code, der den Master Boot Record mit der von Ihnen gewählten Nachricht überschreibt.

Set-CriticalProcess

Lässt Ihren Computer beim Beenden von PowerShell einen Blue Screen anzeigen.

Privesc

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

PowerUp

Zentrale Anlaufstelle für übliche Prüfungen zur Rechteausweitung sowie einige Weaponization-Vektoren.

Recon

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

Invoke-Portscan

Führt einen einfachen Portscan mit regulären Sockets durch, der (ziemlich) lose auf nmap basiert.

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ührt.

Recon\Dictionaries

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-Clause-Lizenz, sofern nicht ausdrücklich etwas anderes angegeben ist.

Verwendung

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.

Beitragsregeln

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:

  • Das Skript muss dem Styleguide entsprechen. Ausnahmen von der Richtlinie benötigen einen expliziten, triftigen Grund.
  • Das Modulmanifest muss aktualisiert werden, um die neue hinzugefügte Funktion widerzuspiegeln.
  • Eine kurze Beschreibung der Funktion sollte in dieser README.md ergänzt werden.
  • Pester-Tests müssen alle neuen Funktionen begleiten. In den Ordnern Tests finden Sie Beispiele, aber wir suchen Tests, die zumindest die Grundlagen abdecken, indem sie erwartete/unerwartete Ein- und Ausgaben testen und prüfen, dass die Funktion die gewünschte Funktionalität aufweist. Stellen Sie sicher, dass die Funktion alle Tests besteht (idealerweise auf mehreren Betriebssystemen), bevor Sie einen Pull Request einreichen. Danke!

Skript-Styleguide

An alle Mitwirkenden und zukünftige Mitwirkende von PowerSploit: Ich bitte Sie, diesen Styleguide zu befolgen, wenn Sie Ihre Skripte/Module schreiben.

  • Vermeiden Sie Write-Host um jeden Preis. PowerShell-Funktionen/-Cmdlets sind keine Kommandozeilenprogramme! Pull Requests mit Code, der Write-Host verwendet, werden nicht berücksichtigt. Sie sollten stattdessen 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 Debug-Informationen auf dem Bildschirm anzeigen möchten, verwenden Sie Write-Verbose. Der Benutzer kann einfach '-Verbose' anhängen.

  • Stellen Sie für jedes Skript stets eine beschreibende, kommentarbasierte Hilfe bereit. Stellen Sie außerdem sicher, dass Sie Ihren Namen und eine BSD-3-Clause-Lizenz angeben (sofern keine mildernden Umstände vorliegen, die die Anwendung der BSD-Lizenz verhindern).

  • Stellen Sie sicher, dass alle Funktionen der korrekten PowerShell-Verb-Substantiv-Konvention folgen. Verwenden Sie Get-Verb, um die von PowerShell verwendeten Standardverben aufzulisten. Ausnahmen von den unterstützten Verben werden von Fall zu Fall geprüft.

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

  • Sorgen Sie für logische Abstände in Ihrem Code. Rücken Sie Ihren Code ein, um die Lesbarkeit zu verbessern.

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

  • Fangen Sie alle vorhersehbaren Fehler ab und geben Sie aussagekräftige Ausgaben aus. Wenn Sie einen Fehler haben, der die Ausführung des Skripts stoppen soll, 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, vermeiden Sie es, C# inline mit Add-Type zu kompilieren. Verwenden Sie nach Möglichkeit das PSReflect-Modul.

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

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

  • Verwenden Sie positionelle Parameter und machen Sie Parameter verpflichtend, wenn es sinnvoll ist. Zum Beispiel suche ich nach Folgendem:

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

  • Versuchen Sie, Befehle nicht zu lang werden zu lassen. Eine Pipeline ist beispielsweise 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 den Leser verwirrend sein könnten.

  • Anstatt Out-Null zum Unterdrücken unerwünschter/irrelevanter Ausgaben zu verwenden, speichern Sie die unerwünschte Ausgabe in $null. Das bietet eine leichte Leistungsverbesserung.

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

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