|
| 1 | +{ |
| 2 | + "platform": "all", |
| 3 | + "version": "1.0.0", |
| 4 | + "description": "Detect credential dumping and credential access techniques", |
| 5 | + "queries": { |
| 6 | + "mimikatz_execution": { |
| 7 | + "query": "SELECT pid, name, path, cmdline, parent FROM processes WHERE name IN ('mimikatz.exe', 'mimikatz', 'mimilib.dll') OR cmdline LIKE '%sekurlsa%' OR cmdline LIKE '%lsadump%';", |
| 8 | + "interval": 300, |
| 9 | + "description": "Mimikatz execution detection", |
| 10 | + "platform": "windows" |
| 11 | + }, |
| 12 | + "lsass_process_access": { |
| 13 | + "query": "SELECT pid, name, path, cmdline, parent FROM processes WHERE name IN ('procdump.exe', 'procdump64.exe', 'pwdump.exe', 'gsecdump.exe') OR cmdline LIKE '%procdump%lsass%' OR cmdline LIKE '%comsvcs.dll%MiniDump%';", |
| 14 | + "interval": 300, |
| 15 | + "description": "LSASS memory dumping tools", |
| 16 | + "platform": "windows" |
| 17 | + }, |
| 18 | + "credential_file_access": { |
| 19 | + "query": "SELECT p.name, p.cmdline, pm.path FROM processes p JOIN process_memory_map pm ON p.pid = pm.pid WHERE pm.path IN ('/etc/shadow', '/etc/passwd', '/etc/master.passwd', 'C:\\Windows\\System32\\config\\SAM', 'C:\\Windows\\System32\\config\\SECURITY') AND p.name NOT IN ('sshd', 'login', 'su', 'sudo', 'lsass.exe');", |
| 20 | + "interval": 300, |
| 21 | + "description": "Access to credential storage files" |
| 22 | + }, |
| 23 | + "shadow_file_reads": { |
| 24 | + "query": "SELECT pid, name, cmdline FROM processes WHERE cmdline LIKE '%/etc/shadow%' AND name NOT IN ('sshd', 'login', 'passwd', 'useradd', 'usermod');", |
| 25 | + "interval": 300, |
| 26 | + "description": "Unauthorized /etc/shadow access", |
| 27 | + "platform": "posix" |
| 28 | + }, |
| 29 | + "sam_registry_access": { |
| 30 | + "query": "SELECT key, name, path FROM registry WHERE key LIKE '%SAM%' OR key LIKE '%SECURITY%';", |
| 31 | + "interval": 600, |
| 32 | + "description": "SAM registry key access", |
| 33 | + "platform": "windows" |
| 34 | + }, |
| 35 | + "password_search": { |
| 36 | + "query": "SELECT pid, name, cmdline FROM processes WHERE (cmdline LIKE '%grep%password%' OR cmdline LIKE '%find%password%' OR cmdline LIKE '%Select-String%password%' OR cmdline LIKE '%findstr%password%');", |
| 37 | + "interval": 300, |
| 38 | + "description": "Searching for password files" |
| 39 | + }, |
| 40 | + "credential_files": { |
| 41 | + "query": "SELECT path, filename, size, mtime FROM file WHERE (filename LIKE '%password%' OR filename LIKE '%credential%' OR filename LIKE '%secret%' OR filename = '.bash_history' OR filename = '.zsh_history' OR filename LIKE '%.pem' OR filename LIKE '%.key') AND (path LIKE '/home/%' OR path LIKE '/Users/%' OR path LIKE 'C:\\Users\\%');", |
| 42 | + "interval": 3600, |
| 43 | + "description": "Credential-related files" |
| 44 | + }, |
| 45 | + "browser_credential_theft": { |
| 46 | + "query": "SELECT pid, name, cmdline FROM processes WHERE cmdline LIKE '%Login Data%' OR cmdline LIKE '%logins.json%' OR cmdline LIKE '%key4.db%' OR cmdline LIKE '%Cookies%';", |
| 47 | + "interval": 300, |
| 48 | + "description": "Browser credential database access" |
| 49 | + }, |
| 50 | + "keychain_access": { |
| 51 | + "query": "SELECT pid, name, cmdline FROM processes WHERE cmdline LIKE '%security%dump-keychain%' OR cmdline LIKE '%keychain%' OR name = 'security';", |
| 52 | + "interval": 300, |
| 53 | + "description": "macOS Keychain access", |
| 54 | + "platform": "darwin" |
| 55 | + }, |
| 56 | + "dpapi_access": { |
| 57 | + "query": "SELECT pid, name, cmdline FROM processes WHERE cmdline LIKE '%dpapi%' OR cmdline LIKE '%CryptUnprotectData%';", |
| 58 | + "interval": 300, |
| 59 | + "description": "Windows DPAPI credential access", |
| 60 | + "platform": "windows" |
| 61 | + }, |
| 62 | + "ntds_dit_access": { |
| 63 | + "query": "SELECT pid, name, cmdline FROM processes WHERE cmdline LIKE '%ntds.dit%';", |
| 64 | + "interval": 300, |
| 65 | + "description": "Active Directory database access", |
| 66 | + "platform": "windows" |
| 67 | + }, |
| 68 | + "kerberos_ticket_theft": { |
| 69 | + "query": "SELECT pid, name, cmdline FROM processes WHERE cmdline LIKE '%klist%' OR cmdline LIKE '%kerberos%' OR cmdline LIKE '%kirbi%' OR cmdline LIKE '%ccache%';", |
| 70 | + "interval": 300, |
| 71 | + "description": "Kerberos ticket manipulation" |
| 72 | + }, |
| 73 | + "sudo_without_password": { |
| 74 | + "query": "SELECT pid, name, cmdline, uid FROM processes WHERE name = 'sudo' AND cmdline NOT LIKE '%-S%' AND uid != 0;", |
| 75 | + "interval": 300, |
| 76 | + "description": "Sudo usage potentially leveraging cached credentials", |
| 77 | + "platform": "posix" |
| 78 | + }, |
| 79 | + "sudoers_file_access": { |
| 80 | + "query": "SELECT path, mtime, ctime FROM file WHERE path IN ('/etc/sudoers', '/etc/sudoers.d') OR path LIKE '/etc/sudoers.d/%';", |
| 81 | + "interval": 3600, |
| 82 | + "description": "Sudoers file modification monitoring", |
| 83 | + "platform": "posix" |
| 84 | + }, |
| 85 | + "ssh_private_keys": { |
| 86 | + "query": "SELECT path, filename, mode, uid, gid FROM file WHERE filename LIKE 'id_%' AND path LIKE '%/.ssh/%' AND filename NOT LIKE '%.pub';", |
| 87 | + "interval": 3600, |
| 88 | + "description": "SSH private key files", |
| 89 | + "platform": "posix" |
| 90 | + }, |
| 91 | + "powershell_credential_access": { |
| 92 | + "query": "SELECT pid, name, cmdline FROM processes WHERE cmdline LIKE '%Get-Credential%' OR cmdline LIKE '%ConvertFrom-SecureString%' OR cmdline LIKE '%CredentialManager%';", |
| 93 | + "interval": 300, |
| 94 | + "description": "PowerShell credential access commands", |
| 95 | + "platform": "windows" |
| 96 | + }, |
| 97 | + "registry_credential_storage": { |
| 98 | + "query": "SELECT key, name, data FROM registry WHERE key LIKE '%Credentials%' OR key LIKE '%Password%';", |
| 99 | + "interval": 3600, |
| 100 | + "description": "Credentials stored in registry", |
| 101 | + "platform": "windows" |
| 102 | + } |
| 103 | + } |
| 104 | +} |
0 commit comments