Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
nopowershell — PowerShell ricostruito in C# per scopi di Red Teaming | Kitploit
Strumenti/GitHubGitHub/bitsadmin/nopowershell
RicognizioneRaccolta InformazioniPost-ExploitCommand and ControlRed Teaming
GitHubbitsadmin/nopowershell

nopowershell

PowerShell ricostruito in C# per scopi di Red Teaming

Vedi Repository
1.1k144710 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

NoPowerShell

NoPowerShell è uno strumento implementato in C# che supporta l'esecuzione di comandi simili a quelli di PowerShell rimanendo invisibile a qualsiasi meccanismo di logging di PowerShell. Questo binario compatibile con .NET Framework 2 può essere caricato in Cobalt Strike per eseguire comandi in memoria. Non viene utilizzato System.Management.Automation.dll; solo librerie .NET native. Un caso d'uso alternativo per NoPowerShell è avviarlo come DLL tramite rundll32.exe in un ambiente ristretto: rundll32 NoPowerShell.dll,main.

Questo progetto rende facile per chiunque estendere le sue funzionalità usando solo poche righe di codice C#. Per maggiori informazioni, vedere CONTRIBUTING.md.

Gli ultimi binari sono disponibili nella pagina Releases. Il branch MASTER non viene aggiornato molto regolarmente; il codice e i cmdlet più recenti sono disponibili nel branch DEV. Per iniziare subito con NoPowerShell, assicurati di dare un'occhiata anche al Cheatsheet dei cmdlet.

Schermate

Esecuzione in Cobalt Strike

Comandi supportati da NoPowerShell

Esecuzione di esempio dei comandi

Comandi di esempio di NoPowerShell

Versione Rundll32

NoPowerShellDll via rundll32

Perché NoPowerShell

NoPowerShell è sviluppato per essere utilizzato con il comando execute-assembly di Cobalt Strike o in un ambiente ristretto tramite rundll32.exe. Motivi per usare NoPowerShell:

  • Esegue in modo piuttosto furtivo
  • Funzionalità potenti
  • Fornisce i cmdlet con cui hai già familiarità in PowerShell, quindi non c'è bisogno di imparare un altro strumento
  • Se non hai ancora molta familiarità con PowerShell, sono disponibili anche gli alias di cmd.exe (ad es. ping invece di Test-NetConnection)
  • Nel caso in cui tramite powerpick o powershell i cmdlet non siano disponibili, lo sono in nps (ad es. cmdlet del modulo ActiveDirectory)
  • Facilmente estendibile con solo poche righe di C#

Utilizzo

Esempi

Vedi CHEATSHEET.md.

Utilizzo in Cobalt Strike tramite execute-assembly

Usa il comando execute-assembly di Cobalt Strike per avviare NoPowerShell.exe. Ad esempio execute-assembly /path/to/NoPowerShell.exe Get-Command. Opzionalmente, NoPowerShell.cna può essere usato per aggiungere l'alias nps a Cobalt Strike.

Utilizzo in Cobalt Strike tramite BOF.NET

  1. Installa il BOF BOF.NET da https://github.com/CCob/BOF.NET
  2. Carica il runtime BOF.NET: bofnet_init
  3. Carica il modulo NoPowerShell: bofnet_load /path/to/NoPowerShell.dll
  4. Esegui i cmdlet NoPowerShell: bofnet_execute NoPowerShell.Program Get-Command

Utilizzo in Cobalt Strike con il fork di @williamknows di BOF.NET

Questo fork consente di eseguire eseguibili .NET normali.

  1. Ottieni e compila il fork di BOF.NET di @williamknows da https://github.com/williamknows/BOF.NET
  2. Carica il runtime BOF.NET: bofnet_init
  3. Carica il modulo NoPowerShell: bofnet_load /path/to/NoPowerShell.exe
  4. Esegui i cmdlet NoPowerShell: bofnet_executeassembly NoPowerShell Get-Command

Avvio tramite rundll32

  1. Crea un nuovo collegamento al file NoPowerShell.dll (trascina con il tasto destro -> Crea collegamenti qui)
  2. Aggiorna il collegamento anteponendo al nome del file rundll32 e aggiungendo ,main
  3. Il collegamento ora sarà simile a rundll32 C:\Path\to\NoPowerShell.dll,main
  4. Fai doppio clic sul collegamento

Nota

Quando si usa NoPowerShell da cmd.exe o PowerShell, è necessario eseguire l'escaping del carattere pipe (|) rispettivamente con un accento circonflesso (^) o un backtick (`), ad esempio:

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

Problemi noti

  • I caratteri pipe devono essere circondati da spazi
  • TLS 1.1+ non è supportato da .NET Framework 2, quindi qualsiasi sito che lo impone causerà un errore di connessione

Miglioramenti

  • Correggere i problemi di cui sopra
  • Supporto per gruppi di parametri
  • Aggiungere il supporto per codice .NET nella riga di comando, ad es.: [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

Cmdlet NoPowerShell richiesti

CmdletDescrizione
Invoke-CommandUtilizza PSRemoting per eseguire un comando su una macchina remota (che in tal caso verrà ovviamente registrato nei log)
*Altri comandi *-Item*
Search-ADAccount
Get-ADPrincipalGroupMembership
Get-ADOrganizationalUnits
*Altri comandi dal modulo PowerShell ActiveDirectory
*Utility Sysinternals come pipelist e sdelete

Cmdlet NoPowerShell contribuiti

Gli autori di ulteriori cmdlet NoPowerShell vengono aggiunti alla tabella seguente. Inoltre, la tabella elenca i comandi che la comunità ha richiesto di aggiungere. Insieme possiamo sviluppare un potente toolkit NoPowerShell!

CmdletContributo diGitHubTwitterDescrizione

Cmdlet NoPowerShell inclusi

CmdletModuleNote
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-ArchiveArchiveRichiede .NET 4.5+
Expand-ArchiveArchiveRichiede .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-NetNeighborNetTCPIPNon supporta ancora IPv6
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
Scarica lo strumento