Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.1k1447vor 10 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](https://github.com/bitsadmin/nopowershell/blob/master/CONTRIBUTING.md).

Die neuesten Binärdateien sind auf der [Releases](https://github.com/bitsadmin/nopowershell/releases)-Seite verfügbar. Der MASTER-Zweig wird nicht sehr regelmäßig aktualisiert; der neueste Code und die neuesten Cmdlets sind im [DEV](https://github.com/bitsadmin/nopowershell/tree/dev)-Zweig verfügbar. Um schnell mit NoPowerShell durchzustarten, schau dir auch unbedingt den Cmdlet-[Cheatsheet](https://github.com/bitsadmin/nopowershell/blob/master/CHEATSHEET.md) an.

# Screenshots
## Ausführung in Cobalt Strike
![Von NoPowerShell unterstützte Befehle](https://assets.kitploit.com/production/public/readmes/48612/014d00ecef4a10f0b85f4f40c9c5c114de4e6d33d32531a7951467cc95bbf2e0.png "NoPowerShell in Cobalt Strike")
## Beispielausführung von Befehlen
![NoPowerShell-Beispielbefehle](https://assets.kitploit.com/production/public/readmes/48612/a63c01165cc158efe7611bd6e0155a94a7df02d1a79bb5a863dfdeb2e6718470.png "NoPowerShell in Cobalt Strike")
## Rundll32-Version
![NoPowerShellDll über rundll32](https://assets.kitploit.com/production/public/readmes/48612/790eb9cd888836c07b56f57f05fbb73272527537ef7342c77bde0eb772dd94c6.png "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](https://github.com/bitsadmin/nopowershell/blob/master/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
| Cmdlet | Beschreibung |
| - | - |
| Invoke-Command | Fü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` |

# 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!

| Cmdlet | Beigetragen von | GitHub | Twitter | Beschreibung |
| - | - | - | - | - |
|  |  |  |  |  |

# Enthaltene NoPowerShell-Cmdlets
| Cmdlet | Modul | Anmerkungen |
| - | - | - |
| Get-ADUser | ActiveDirectory | |
| Get-ADObject | ActiveDirectory | |
| Get-ADReplicationSubnet | ActiveDirectory | |
| Get-ADGroup | ActiveDirectory | |
| Get-ADGroupMember | ActiveDirectory | |
| Get-ADComputer | ActiveDirectory | |
| Get-ADDomainController | ActiveDirectory | |
| Get-ADTrust | ActiveDirectory | |
| Copy-Acl | Additional | |
| Get-RemoteSmbShare | Additional | |
| Resolve-AdiDnsName | Additional | |
| Get-Whoami | Additional | |
| Get-WinStation | Additional | |
| Compress-Archive | Archive | Erfordert .NET 4.5+ |
| Expand-Archive | Archive | Erfordert .NET 4.5+ |
| Get-Help | Core | |
| Get-Command | Core | |
| Where-Object | Core | |
| Resolve-DnsName | DnsClient | |
| Get-LocalGroupMember | LocalAccounts | |
| Get-LocalGroup | LocalAccounts | |
| Set-Clipboard | Management | |
| Get-PSDrive | Management | |
| Get-HotFix | Management | |
| Stop-Process | Management | |
| Get-ChildItem | Management | |
| Copy-Item | Management | |
| Invoke-WmiMethod | Management | |
| Remove-Item | Management | |
| Get-ItemPropertyValue | Management | |
| Get-ItemProperty | Management | |
| Get-ComputerInfo | Management | |
| Get-DnsClientCache | Management | |
| Get-Process | Management | |
| Get-WmiObject | Management | |
| Get-Clipboard | Management | |
| Get-Content | Management | |
| Test-NetConnection | NetTCPIP | |
| Get-NetTCPConnection | NetTCPIP | |
| Get-NetNeighbor | NetTCPIP | Noch keine IPv6-Unterstützung |
| Get-NetRoute | NetTCPIP | |
| Get-NetIPAddress | NetTCPIP | |
| Get-Service | NoPowerShell.Commands | |
| Get-LocalUser | NoPowerShell.Commands | |
| Get-WinEvent | NoPowerShell.Commands | |
| New-Shortcut | NoPowerShell.Commands | |
| Get-Acl | Security | |
| Get-SmbMapping | SmbShare | |
| Get-SmbShare | SmbShare | |
| Invoke-Sqlcmd | SQLPS | |
| Get-FileHash | Utility | |
| ConvertFrom-SddlString | Utility | |
| Sort-Object | Utility | |
| Measure-Object | Utility | |
| Invoke-WebRequest | Utility | |
| Select-Object | Utility | |
| Out-File | Utility | |
| Format-Table | Utility | |
| Format-List | Utility | |
| Export-Csv | Utility | |
| ConvertTo-Csv | Utility | |
| Write-Output | Utility | |

Schau dir auch unbedingt den [Cheatsheet](https://github.com/bitsadmin/nopowershell/blob/master/CHEATSHEET.md) 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.

| Wer | Website | Anmerkungen |
| - | - | - |
| Mitwirkende von pinvoke.net | https://www.pinvoke.net/ | Verschiedene Cmdlets verwenden Codeausschnitte von pinvoke |
| Michael Conrad | https://github.com/MichaCo/ | Teile des Resolve-Dns-Cmdlets basieren auf dem Code des DnsClient.Net-Projekts |
| Rex Logan | https://stackoverflow.com/a/1148861 | Der meiste Code des Get-NetNeighbor-Cmdlets stammt aus seinem StackOverflow-Beitrag |
| PowerShell-Entwickler | https://github.com/PowerShell/ | Der Code der NoPowerShell-DLL basiert weitgehend auf dem Code, der die Konsoleneingabe von PowerShell verarbeitet |
| Benjamin Delpy | https://github.com/gentilkiwi/ | Der Code von Get-WinStation ist vom Code des Mimikatz-Befehls ts::sessions inspiriert |
| Dan Ports | https://github.com/danports/ | Der Marshalling-Code von Get-Winstation wurde teilweise aus dem Cassia-Projekt kopiert |
| Mazdak | https://www.codeproject.com/Articles/2937/Getting-local-groups-and-member-names-in-C | Native Funktionsaufrufe für das Get-LocalGroupMember-Cmdlet |
| Rex Logan | https://stackoverflow.com/a/1148861 | Code des Get-NetNeighbor-Cmdlets |

**Verfasst von Arris Huijgen ([@bitsadmin](https://x.com/bitsadmin/) - https://github.com/bitsadmin/)**
Tool herunterladen