Detection rules › Sigma

Malicious Nishang PowerShell Commandlets

Severity
high
Author
Alec Costello
Source
upstream

Detects Commandlet names and arguments from the Nishang exploitation framework

MITRE ATT&CK coverage

TacticTechniques
ExecutionT1059.001 Command and Scripting Interpreter: PowerShell

Event coverage

ProviderEvent IDTitle
PowerShell4104Creating Scriptblock text (MessageNumber of MessageTotal).

Stages and Predicates

Stage 1: selection

or:
ScriptBlockText|contains: 'Add-ConstrainedDelegationBackdoor'
ScriptBlockText|contains: Copy-VSS
ScriptBlockText|contains: Create-MultipleSessions
ScriptBlockText|contains: DNS_TXT_Pwnage
ScriptBlockText|contains: DataToEncode
ScriptBlockText|contains: Do-Exfiltration-Dns
ScriptBlockText|contains: Download-Execute-PS
ScriptBlockText|contains: 'DownloadAndExtractFromRemoteRegistry'
ScriptBlockText|contains: Download_Execute
ScriptBlockText|contains: DumpCerts
ScriptBlockText|contains: DumpCreds
ScriptBlockText|contains: DumpHashes
ScriptBlockText|contains: Enable-DuplicateToken
ScriptBlockText|contains: Enable-Duplication
ScriptBlockText|contains: Execute-Command-MSSQL
ScriptBlockText|contains: Execute-DNSTXT-Code
ScriptBlockText|contains: Execute-OnTime
ScriptBlockText|contains: ExetoText
ScriptBlockText|contains: ExfilOption
ScriptBlockText|contains: FakeDC
ScriptBlockText|contains: FireBuster
ScriptBlockText|contains: FireListener
ScriptBlockText|contains: 'Get-Information '
ScriptBlockText|contains: Get-PassHints
ScriptBlockText|contains: Get-WLAN-Keys
ScriptBlockText|contains: Get-Web-Credentials
ScriptBlockText|contains: Get-WebCredentials
ScriptBlockText|contains: HTTP-Backdoor
ScriptBlockText|contains: Invoke-AmsiBypass
ScriptBlockText|contains: Invoke-BruteForce
ScriptBlockText|contains: Invoke-CredentialsPhish
ScriptBlockText|contains: Invoke-Decode
ScriptBlockText|contains: Invoke-Encode
ScriptBlockText|contains: Invoke-Interceptor
ScriptBlockText|contains: Invoke-JSRatRegsvr
ScriptBlockText|contains: Invoke-JSRatRundll
ScriptBlockText|contains: Invoke-MimikatzWDigestDowngrade
ScriptBlockText|contains: Invoke-NetworkRelay
ScriptBlockText|contains: Invoke-PSGcat
ScriptBlockText|contains: Invoke-PowerShellIcmp
ScriptBlockText|contains: Invoke-PowerShellUdp
ScriptBlockText|contains: Invoke-Prasadhak
ScriptBlockText|contains: Invoke-PsGcatAgent
ScriptBlockText|contains: Invoke-SSIDExfil
ScriptBlockText|contains: Invoke-SessionGopher
ScriptBlockText|contains: LoggedKeys
ScriptBlockText|contains: Nishang
ScriptBlockText|contains: NotAllNameSpaces
ScriptBlockText|contains: OUT-DNSTXT
ScriptBlockText|contains: Out-CHM
ScriptBlockText|contains: Out-HTA
ScriptBlockText|contains: Out-RundllCommand
ScriptBlockText|contains: Out-SCF
ScriptBlockText|contains: Out-SCT
ScriptBlockText|contains: Out-Shortcut
ScriptBlockText|contains: Out-WebQuery
ScriptBlockText|contains: Out-Word
ScriptBlockText|contains: Parse_Keys
ScriptBlockText|contains: Password-List
ScriptBlockText|contains: Powerpreter
ScriptBlockText|contains: Remove-Persistence
ScriptBlockText|contains: Remove-PoshRat
ScriptBlockText|contains: Remove-Update
ScriptBlockText|contains: Run-EXEonRemote
ScriptBlockText|contains: Set-DCShadowPermissions
ScriptBlockText|contains: Set-RemotePSRemoting
ScriptBlockText|contains: Set-RemoteWMI
ScriptBlockText|contains: Shellcode32
ScriptBlockText|contains: Shellcode64
ScriptBlockText|contains: StringtoBase64
ScriptBlockText|contains: TexttoExe
ScriptBlockText|contains: exfill

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
ScriptBlockTextmatch
  • Add-ConstrainedDelegationBackdoor
  • Copy-VSS
  • Create-MultipleSessions
  • DNS_TXT_Pwnage
  • DataToEncode
  • Do-Exfiltration-Dns
  • Download-Execute-PS
  • DownloadAndExtractFromRemoteRegistry
  • Download_Execute
  • DumpCerts corpus 2 (sigma 2)
  • DumpCreds corpus 2 (sigma 2)
  • DumpHashes
  • Enable-DuplicateToken
  • Enable-Duplication
  • Execute-Command-MSSQL
  • Execute-DNSTXT-Code
  • Execute-OnTime
  • ExetoText
  • ExfilOption
  • FakeDC
  • FireBuster
  • FireListener
  • Get-Information
  • Get-PassHints
  • Get-WLAN-Keys
  • Get-Web-Credentials
  • Get-WebCredentials
  • HTTP-Backdoor
  • Invoke-AmsiBypass
  • Invoke-BruteForce
  • Invoke-CredentialsPhish
  • Invoke-Decode
  • Invoke-Encode
  • Invoke-Interceptor
  • Invoke-JSRatRegsvr
  • Invoke-JSRatRundll
  • Invoke-MimikatzWDigestDowngrade
  • Invoke-NetworkRelay
  • Invoke-PSGcat
  • Invoke-PowerShellIcmp
  • Invoke-PowerShellUdp
  • Invoke-Prasadhak
  • Invoke-PsGcatAgent
  • Invoke-SSIDExfil
  • Invoke-SessionGopher
  • LoggedKeys
  • Nishang
  • NotAllNameSpaces
  • OUT-DNSTXT
  • Out-CHM
  • Out-HTA
  • Out-RundllCommand
  • Out-SCF
  • Out-SCT
  • Out-Shortcut
  • Out-WebQuery
  • Out-Word
  • Parse_Keys
  • Password-List
  • Powerpreter
  • Remove-Persistence
  • Remove-PoshRat
  • Remove-Update corpus 2 (sigma 2)
  • Run-EXEonRemote
  • Set-DCShadowPermissions
  • Set-RemotePSRemoting
  • Set-RemoteWMI
  • Shellcode32
  • Shellcode64
  • StringtoBase64
  • TexttoExe
  • exfill

Neighbors

Broader alternatives (more inclusive than this rule)

These rules match a superset of what this rule catches. They cover the same events plus more. Use them if you want wider coverage and can absorb more false positives.