Detection rules › Sigma

DSInternals Suspicious PowerShell Cmdlets

Severity
high
Author
Nasreddine Bencherchali (Nextron Systems), Nounou Mbeiri
Source
upstream

Detects execution and usage of the DSInternals PowerShell module. Which can be used to perform what might be considered as suspicious activity such as dumping DPAPI backup keys or manipulating NTDS.DIT files. The DSInternals PowerShell Module exposes several internal features of Active Directory and Azure Active Directory. These include FIDO2 and NGC key auditing, offline ntds.dit file manipulation, password auditing, DC recovery from IFM backups and password hash calculation.

MITRE ATT&CK coverage

TacticTechniques
ExecutionT1059.001 Command and Scripting Interpreter: PowerShell

Event coverage

ProviderEvent IDTitle
Sysmon1Process creation
Security-Auditing4688A new process has been created.

Stages and Predicates

Stage 1: selection

or:
CommandLine|contains: Add-ADDBSidHistory
CommandLine|contains: Add-ADNgcKey
CommandLine|contains: Add-ADReplNgcKey
CommandLine|contains: 'ConvertFrom-ADManagedPasswordBlob'
CommandLine|contains: ConvertFrom-GPPrefPassword
CommandLine|contains: ConvertFrom-ManagedPasswordBlob
CommandLine|contains: ConvertFrom-UnattendXmlPassword
CommandLine|contains: ConvertFrom-UnicodePassword
CommandLine|contains: ConvertTo-AADHash
CommandLine|contains: ConvertTo-GPPrefPassword
CommandLine|contains: ConvertTo-KerberosKey
CommandLine|contains: ConvertTo-LMHash
CommandLine|contains: ConvertTo-MsoPasswordHash
CommandLine|contains: ConvertTo-NTHash
CommandLine|contains: ConvertTo-OrgIdHash
CommandLine|contains: ConvertTo-UnicodePassword
CommandLine|contains: Disable-ADDBAccount
CommandLine|contains: Enable-ADDBAccount
CommandLine|contains: Get-ADDBAccount
CommandLine|contains: Get-ADDBBackupKey
CommandLine|contains: Get-ADDBDomainController
CommandLine|contains: 'Get-ADDBGroupManagedServiceAccount'
CommandLine|contains: Get-ADDBKdsRootKey
CommandLine|contains: Get-ADDBSchemaAttribute
CommandLine|contains: Get-ADDBServiceAccount
CommandLine|contains: Get-ADDefaultPasswordPolicy
CommandLine|contains: Get-ADKeyCredential
CommandLine|contains: Get-ADPasswordPolicy
CommandLine|contains: Get-ADReplAccount
CommandLine|contains: Get-ADReplBackupKey
CommandLine|contains: Get-ADReplicationAccount
CommandLine|contains: Get-ADSIAccount
CommandLine|contains: Get-AzureADUserEx
CommandLine|contains: Get-BootKey
CommandLine|contains: Get-KeyCredential
CommandLine|contains: Get-LsaBackupKey
CommandLine|contains: Get-LsaPolicy
CommandLine|contains: Get-SamPasswordPolicy
CommandLine|contains: Get-SysKey
CommandLine|contains: Get-SystemKey
CommandLine|contains: New-ADDBRestoreFromMediaScript
CommandLine|contains: New-ADKeyCredential
CommandLine|contains: New-ADNgcKey
CommandLine|contains: New-NTHashSet
CommandLine|contains: Remove-ADDBObject
CommandLine|contains: Save-DPAPIBlob
CommandLine|contains: Set-ADAccountPasswordHash
CommandLine|contains: Set-ADDBAccountPassword
CommandLine|contains: Set-ADDBBootKey
CommandLine|contains: Set-ADDBDomainController
CommandLine|contains: Set-ADDBPrimaryGroup
CommandLine|contains: Set-ADDBSysKey
CommandLine|contains: Set-AzureADUserEx
CommandLine|contains: Set-LsaPolicy
CommandLine|contains: Set-SamAccountPasswordHash
CommandLine|contains: Set-WinUserPasswordHash
CommandLine|contains: Test-ADDBPasswordQuality
CommandLine|contains: Test-ADPasswordQuality
CommandLine|contains: Test-ADReplPasswordQuality
CommandLine|contains: Test-PasswordQuality
CommandLine|contains: Unlock-ADDBAccount
CommandLine|contains: Write-ADNgcKey
CommandLine|contains: Write-ADReplNgcKey

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
CommandLinematch
  • Add-ADDBSidHistory
  • Add-ADNgcKey
  • Add-ADReplNgcKey
  • ConvertFrom-ADManagedPasswordBlob
  • ConvertFrom-GPPrefPassword
  • ConvertFrom-ManagedPasswordBlob
  • ConvertFrom-UnattendXmlPassword
  • ConvertFrom-UnicodePassword
  • ConvertTo-AADHash
  • ConvertTo-GPPrefPassword
  • ConvertTo-KerberosKey
  • ConvertTo-LMHash
  • ConvertTo-MsoPasswordHash
  • ConvertTo-NTHash
  • ConvertTo-OrgIdHash
  • ConvertTo-UnicodePassword
  • Disable-ADDBAccount
  • Enable-ADDBAccount
  • Get-ADDBAccount
  • Get-ADDBBackupKey
  • Get-ADDBDomainController
  • Get-ADDBGroupManagedServiceAccount
  • Get-ADDBKdsRootKey
  • Get-ADDBSchemaAttribute
  • Get-ADDBServiceAccount
  • Get-ADDefaultPasswordPolicy
  • Get-ADKeyCredential
  • Get-ADPasswordPolicy
  • Get-ADReplAccount
  • Get-ADReplBackupKey
  • Get-ADReplicationAccount
  • Get-ADSIAccount
  • Get-AzureADUserEx
  • Get-BootKey
  • Get-KeyCredential
  • Get-LsaBackupKey
  • Get-LsaPolicy
  • Get-SamPasswordPolicy
  • Get-SysKey
  • Get-SystemKey
  • New-ADDBRestoreFromMediaScript
  • New-ADKeyCredential
  • New-ADNgcKey
  • New-NTHashSet
  • Remove-ADDBObject
  • Save-DPAPIBlob
  • Set-ADAccountPasswordHash
  • Set-ADDBAccountPassword
  • Set-ADDBBootKey
  • Set-ADDBDomainController
  • Set-ADDBPrimaryGroup
  • Set-ADDBSysKey
  • Set-AzureADUserEx
  • Set-LsaPolicy
  • Set-SamAccountPasswordHash
  • Set-WinUserPasswordHash
  • Test-ADDBPasswordQuality
  • Test-ADPasswordQuality
  • Test-ADReplPasswordQuality
  • Test-PasswordQuality
  • Unlock-ADDBAccount
  • Write-ADNgcKey
  • Write-ADReplNgcKey