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
nopowershell — PowerShell in C# für Red-Teaming-Zwecke neu aufgebaut | Kitploit
Tools/GitHubGitHub/bitsadmin/nopowershell
AufklärungInformationsbeschaffungPost-ExploitationCommand and ControlRed Teaming
GitHubbitsadmin/nopowershell

nopowershell

PowerShell in C# für Red-Teaming-Zwecke neu aufgebaut

Repository anzeigen
1.1k1443vor 6 MonatenVon 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

NoPowerShell

NoPowerShell ist ein in C# implementiertes Tool, das die Ausführung PowerShell-ähnlicher Befehle unterstützt, während es für sämtliche PowerShell-Protokollierungsmechanismen unsichtbar bleibt. Diese mit .NET Framework 2 kompatible Binärdatei kann in Cobalt Strike geladen werden, um Befehle im Speicher auszuführen. Es wird keine System.Management.Automation.dll verwendet; nur native .NET-Bibliotheken. Ein alternativer Anwendungsfall für NoPowerShell besteht darin, es als DLL über rundll32.exe in einer eingeschränkten Umgebung zu starten: rundll32 NoPowerShell.dll,main.

Dieses Projekt ermöglicht es jedem, seine Funktionalität mit nur wenigen Zeilen C#-Code zu erweitern. Weitere Informationen findest du in CONTRIBUTING.md.

Die neuesten Binärdateien sind auf der Releases-Seite verfügbar. Der MASTER-Zweig wird nicht sehr regelmäßig aktualisiert; der neueste Code und die neuesten Cmdlets sind im DEV-Zweig verfügbar. Um schnell mit NoPowerShell durchzustarten, schau dir auch unbedingt den Cmdlet-Cheatsheet an.

Screenshots

Ausführung in Cobalt Strike

Von NoPowerShell unterstützte Befehle

Beispielausführung von Befehlen

NoPowerShell-Beispielbefehle

Rundll32-Version

NoPowerShellDll über rundll32

Warum NoPowerShell

NoPowerShell wurde für die Verwendung mit dem execute-assembly-Befehl von Cobalt Strike oder in einer eingeschränkten Umgebung mit rundll32.exe entwickelt. Gründe für die Verwendung von NoPowerShell:

  • Führt ziemlich unauffällig aus
  • Leistungsstarke Funktionalität
  • Stellt die Cmdlets bereit, die du bereits aus PowerShell kennst, sodass du kein weiteres Tool erlernen musst
  • Falls du mit PowerShell noch nicht sehr vertraut bist, stehen auch die cmd.exe-Aliasse zur Verfügung (z. B. ping anstelle von Test-NetConnection)
  • Falls Cmdlets über powerpick oder powershell nicht verfügbar sind, sind sie in nps doch verfügbar (z. B. Cmdlets aus dem ActiveDirectory-Modul)
  • Mit nur wenigen Zeilen C# leicht erweiterbar

Verwendung

Beispiele

Siehe CHEATSHEET.md.

Verwendung in Cobalt Strike über execute-assembly

Verwende den execute-assembly-Befehl von Cobalt Strike, um die NoPowerShell.exe zu starten. Zum Beispiel execute-assembly /path/to/NoPowerShell.exe Get-Command. Optional kann NoPowerShell.cna verwendet werden, um den nps-Alias zu Cobalt Strike hinzuzufügen.

Verwendung in Cobalt Strike über BOF.NET

  1. Installiere die BOF.NET-BOF von https://github.com/CCob/BOF.NET
  2. Lade die BOF.NET-Laufzeitumgebung: bofnet_init
  3. Lade das NoPowerShell-Modul: bofnet_load /path/to/NoPowerShell.dll
  4. Führe NoPowerShell-Cmdlets aus: bofnet_execute NoPowerShell.Program Get-Command

Verwendung in Cobalt Strike mit @williamknows' BOF.NET-Fork

Dieser Fork ermöglicht die Ausführung regulärer .NET-Executables

  1. Besorge und kompiliere den Fork von @williamknows von BOF.NET von https://github.com/williamknows/BOF.NET
  2. Lade die BOF.NET-Laufzeitumgebung: bofnet_init
  3. Lade das NoPowerShell-Modul: bofnet_load /path/to/NoPowerShell.exe
  4. Führe NoPowerShell-Cmdlets aus: bofnet_executeassembly NoPowerShell Get-Command

Start über rundll32

  1. Erstelle eine neue Verknüpfung zur Datei NoPowerShell.dll (Ziehen mit Rechtsklick -> Hier Verknüpfungen erstellen)
  2. Aktualisiere die Verknüpfung, indem du den Dateinamen mit rundll32 präfixierst und ,main anhängst
  3. Die Verknüpfung sieht dann wie folgt aus: rundll32 C:\Path\to\NoPowerShell.dll,main
  4. Doppelklicke auf die Verknüpfung

Hinweis

Bei Verwendung von NoPowerShell über cmd.exe oder PowerShell musst du das Pipe-Zeichen (|) entsprechend mit einem Caret (^) oder einem Backtick (`) escapen, z. B.:

  • cmd.exe: ls ^| select Name
  • PowerShell: ls `| select Name

Bekannte Probleme

  • Pipe-Zeichen müssen von Leerzeichen umgeben sein
  • TLS 1.1+ wird von .NET Framework 2 nicht unterstützt, daher führt jede Website, die es erzwingt, zu einem Verbindungsfehler

Verbesserungen

  • Die oben genannten Probleme beheben
  • Unterstützung für Parametergruppen
  • Unterstützung für .NET-Code in der Befehlszeile hinzufügen, z. B.: [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

Angefragte NoPowerShell-Cmdlets

Beigetragene NoPowerShell-Cmdlets

Autoren zusätzlicher NoPowerShell-Cmdlets werden in der folgenden Tabelle aufgeführt. Darüber hinaus listet die Tabelle Befehle auf, die von der Community zum Hinzufügen angefragt wurden. Gemeinsam können wir ein leistungsstarkes NoPowerShell-Toolkit entwickeln!

CmdletBeigetragen vonGitHubTwitterBeschreibung

Enthaltene NoPowerShell-Cmdlets

Schau dir auch unbedingt den Cheatsheet an, um Beispiele für die Verwendung dieser Cmdlets zu finden.

Danksagungen

Verschiedene NoPowerShell-Cmdlets und die NoPowerShell-DLL enthalten Code, der von anderen Entwicklern erstellt wurde.

Verfasst von Arris Huijgen (@bitsadmin - https://github.com/bitsadmin/)

Tool herunterladen
CmdletBeschreibung
Invoke-CommandFührt über PSRemoting einen Befehl auf einem entfernten Computer aus (wobei der Befehl in diesem Fall natürlich protokolliert wird)
*Weitere *-Item*-Befehle
Search-ADAccount
Get-ADPrincipalGroupMembership
Get-ADOrganizationalUnits
*Weitere Befehle aus dem PowerShell-Modul ActiveDirectory
*Sysinternals-Dienstprogramme wie pipelist und sdelete
CmdletModulAnmerkungen
Get-ADUserActiveDirectory
Get-ADObjectActiveDirectory
Get-ADReplicationSubnetActiveDirectory
Get-ADGroupActiveDirectory
Get-ADGroupMemberActiveDirectory
Get-ADComputerActiveDirectory
Get-ADDomainControllerActiveDirectory
Get-ADTrustActiveDirectory
Copy-AclAdditional
Get-RemoteSmbShareAdditional
Resolve-AdiDnsNameAdditional
Get-WhoamiAdditional
Get-WinStationAdditional
Compress-ArchiveArchiveErfordert .NET 4.5+
Expand-ArchiveArchiveErfordert .NET 4.5+
Get-HelpCore
Get-CommandCore
Where-ObjectCore
Resolve-DnsNameDnsClient
Get-LocalGroupMemberLocalAccounts
Get-LocalGroupLocalAccounts
Set-ClipboardManagement
Get-PSDriveManagement
Get-HotFixManagement
Stop-ProcessManagement
Get-ChildItemManagement
Copy-ItemManagement
Invoke-WmiMethodManagement
Remove-ItemManagement
Get-ItemPropertyValueManagement
Get-ItemPropertyManagement
Get-ComputerInfoManagement
Get-DnsClientCacheManagement
Get-ProcessManagement
Get-WmiObjectManagement
Get-ClipboardManagement
Get-ContentManagement
Test-NetConnectionNetTCPIP
Get-NetTCPConnectionNetTCPIP
Get-NetNeighborNetTCPIPNoch keine IPv6-Unterstützung
Get-NetRouteNetTCPIP
Get-NetIPAddressNetTCPIP
Get-ServiceNoPowerShell.Commands
Get-LocalUserNoPowerShell.Commands
Get-WinEventNoPowerShell.Commands
New-ShortcutNoPowerShell.Commands
Get-AclSecurity
Get-SmbMappingSmbShare
Get-SmbShareSmbShare
Invoke-SqlcmdSQLPS
Get-FileHashUtility
ConvertFrom-SddlStringUtility
Sort-ObjectUtility
Measure-ObjectUtility
Invoke-WebRequestUtility
Select-ObjectUtility
Out-FileUtility
Format-TableUtility
Format-ListUtility
Export-CsvUtility
ConvertTo-CsvUtility
Write-OutputUtility
WerWebsiteAnmerkungen
Mitwirkende von pinvoke.nethttps://www.pinvoke.net/Verschiedene Cmdlets verwenden Codeausschnitte von pinvoke
Michael Conradhttps://github.com/MichaCo/Teile des Resolve-Dns-Cmdlets basieren auf dem Code des DnsClient.Net-Projekts
Rex Loganhttps://stackoverflow.com/a/1148861Der meiste Code des Get-NetNeighbor-Cmdlets stammt aus seinem StackOverflow-Beitrag
PowerShell-Entwicklerhttps://github.com/PowerShell/Der Code der NoPowerShell-DLL basiert weitgehend auf dem Code, der die Konsoleneingabe von PowerShell verarbeitet
Benjamin Delpyhttps://github.com/gentilkiwi/Der Code von Get-WinStation ist vom Code des Mimikatz-Befehls ts::sessions inspiriert
Dan Portshttps://github.com/danports/Der Marshalling-Code von Get-Winstation wurde teilweise aus dem Cassia-Projekt kopiert
Mazdakhttps://www.codeproject.com/Articles/2937/Getting-local-groups-and-member-names-in-CNative Funktionsaufrufe für das Get-LocalGroupMember-Cmdlet
Rex Loganhttps://stackoverflow.com/a/1148861Code des Get-NetNeighbor-Cmdlets