@@ -27,76 +27,76 @@ search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
27
27
has_parameters=if(match(process, "-[A-Za-z]"), 1, 0),
28
28
has_query=case(
29
29
match(process, "-[Qq]\\s+"), 1,
30
- match(process_lower, "(?i) --query\\s+"), 1,
31
- match(process_lower, "(?i) --initial-query\\s+"), 1,
30
+ match(process_lower, "--query\\s+"), 1,
31
+ match(process_lower, "--initial-query\\s+"), 1,
32
32
true(), 0
33
33
),
34
34
has_output=case(
35
35
match(process, "-[oO]\\s+"), 1,
36
- match(process_lower, "(?i) --output-file\\s+"), 1,
36
+ match(process_lower, "--output-file\\s+"), 1,
37
37
true(), 0
38
38
),
39
39
has_input=case(
40
40
match(process, "-[iI]\\s+"), 1,
41
- match(process_lower, "(?i) --input-file\\s+"), 1,
41
+ match(process_lower, "--input-file\\s+"), 1,
42
42
true(), 0
43
43
),
44
44
has_url_input=case(
45
45
match(process, "-[iI]\\s+https?://"), 1,
46
- match(process_lower, "(?i) --input-file\\s+https?://"), 1,
46
+ match(process_lower, "--input-file\\s+https?://"), 1,
47
47
match(process, "-[iI]\\s+ftp://"), 1,
48
- match(process_lower, "(?i) --input-file\\s+ftp://"), 1,
48
+ match(process_lower, "--input-file\\s+ftp://"), 1,
49
49
true(), 0
50
50
),
51
51
has_admin_conn=case(
52
52
match(process, "-A"), 1,
53
- match(process_lower, "(?i) --dedicated-admin-connection"), 1,
53
+ match(process_lower, "--dedicated-admin-connection"), 1,
54
54
true(), 0
55
55
),
56
56
has_suspicious_auth=case(
57
57
match(process, "-U\\s+sa\\b"), 1,
58
- match(process_lower, "(?i) --user-name\\s+sa\\b"), 1,
58
+ match(process_lower, "--user-name\\s+sa\\b"), 1,
59
59
match(process, "-U\\s+admin\\b"), 1,
60
- match(process_lower, "(?i) --user-name\\s+admin\\b"), 1,
60
+ match(process_lower, "--user-name\\s+admin\\b"), 1,
61
61
match(process, "-E\\b"), 1,
62
- match(process_lower, "(?i) --use-trusted-connection"), 1,
62
+ match(process_lower, "--use-trusted-connection"), 1,
63
63
true(), 0
64
64
),
65
65
has_local_server=case(
66
66
match(process, "-S\\s+127\\.0\\.0\\.1"), 1,
67
- match(process_lower, "(?i) --server\\s+127\\.0\\.0\\.1"), 1,
67
+ match(process_lower, "--server\\s+127\\.0\\.0\\.1"), 1,
68
68
match(process, "-S\\s+localhost"), 1,
69
- match(process_lower, "(?i) --server\\s+localhost"), 1,
69
+ match(process_lower, "--server\\s+localhost"), 1,
70
70
true(), 0
71
71
),
72
72
has_suspicious_output=case(
73
- match(process_lower, "(?i) -o\\s+.*\\.(txt|csv|dat)"), 1,
74
- match(process_lower, "(?i) --output-file\\s+.*\\.(txt|csv|dat)"), 1,
73
+ match(process_lower, "-o\\s+.*\\.(txt|csv|dat)"), 1,
74
+ match(process_lower, "--output-file\\s+.*\\.(txt|csv|dat)"), 1,
75
75
true(), 0
76
76
),
77
77
has_cert_bypass=case(
78
78
match(process, "-C"), 1,
79
- match(process_lower, "(?i) --trust-server-certificate"), 1,
79
+ match(process_lower, "--trust-server-certificate"), 1,
80
80
true(), 0
81
81
),
82
82
has_suspicious_query=case(
83
- match(process_lower, "(?i)( xp_cmdshell|sp_oacreate|sp_execute_external|openrowset|bulk\\s+insert)"), 1,
84
- match(process_lower, "(?i)( master\\.\\.\\.sysdatabases|msdb\\.\\.\\.backuphistory|sysadmin|securityadmin)"), 1,
85
- match(process_lower, "(?i)( select.*from.*sys\\.|select.*password|dump\\s+database)"), 1,
86
- match(process_lower, "(?i)( sp_addextendedproc|sp_makewebtask|sp_addsrvrolemember)"), 1,
87
- match(process_lower, "(?i)( sp_configure.*show\\s+advanced|reconfigure|enable_xp_cmdshell)"), 1,
88
- match(process_lower, "(?i)( exec.*master\\.dbo\\.|exec.*msdb\\.dbo\\.)"), 1,
89
- match(process_lower, "(?i)( sp_password|sp_control_dbmasterkey_password|sp_dropextendedproc)"), 1,
90
- match(process_lower, "(?i)( powershell|cmd\\.exe|rundll32|regsvr32|certutil)"), 1,
83
+ match(process_lower, "(xp_cmdshell|sp_oacreate|sp_execute_external|openrowset|bulk\\s+insert)"), 1,
84
+ match(process_lower, "(master\\.\\.\\.sysdatabases|msdb\\.\\.\\.backuphistory|sysadmin|securityadmin)"), 1,
85
+ match(process_lower, "(select.*from.*sys\\.|select.*password|dump\\s+database)"), 1,
86
+ match(process_lower, "(sp_addextendedproc|sp_makewebtask|sp_addsrvrolemember)"), 1,
87
+ match(process_lower, "(sp_configure.*show\\s+advanced|reconfigure|enable_xp_cmdshell)"), 1,
88
+ match(process_lower, "(exec.*master\\.dbo\\.|exec.*msdb\\.dbo\\.)"), 1,
89
+ match(process_lower, "(sp_password|sp_control_dbmasterkey_password|sp_dropextendedproc)"), 1,
90
+ match(process_lower, "(powershell|cmd\\.exe|rundll32|regsvr32|certutil)"), 1,
91
91
true(), 0
92
92
),
93
93
has_suspicious_path=case(
94
- match(process_lower, "(?i)( \\\\temp\\\\|\\\\windows\\\\|\\\\public\\\\|\\\\users\\\\public\\\\|\\\\programdata\\\\)"), 1,
95
- match(process_lower, "(?i)( \\\\desktop\\\\.*\\.(zip|rar|7z|tar|gz))"), 1,
96
- match(process_lower, "(?i)( \\\\downloads\\\\.*\\.(dat|bin|tmp))"), 1,
97
- match(process_lower, "(?i)( \\\\appdata\\\\local\\\\temp\\\\|\\\\windows\\\\tasks\\\\)"), 1,
98
- match(process_lower, "(?i)( \\\\recycler\\\\|\\\\system32\\\\|\\\\system volume information\\\\)"), 1,
99
- match(process_lower, "(?i)( \\.vbs|\\.ps1|\\.bat|\\.cmd|\\.exe)$"), 1,
94
+ match(process_lower, "(\\\\temp\\\\|\\\\windows\\\\|\\\\public\\\\|\\\\users\\\\public\\\\|\\\\programdata\\\\)"), 1,
95
+ match(process_lower, "(\\\\desktop\\\\.*\\.(zip|rar|7z|tar|gz))"), 1,
96
+ match(process_lower, "(\\\\downloads\\\\.*\\.(dat|bin|tmp))"), 1,
97
+ match(process_lower, "(\\\\appdata\\\\local\\\\temp\\\\|\\\\windows\\\\tasks\\\\)"), 1,
98
+ match(process_lower, "(\\\\recycler\\\\|\\\\system32\\\\|\\\\system volume information\\\\)"), 1,
99
+ match(process_lower, "(\\.vbs|\\.ps1|\\.bat|\\.cmd|\\.exe)$"), 1,
100
100
true(), 0
101
101
),
102
102
has_suspicious_combo=case(
@@ -106,17 +106,17 @@ search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
106
106
true(), 0
107
107
),
108
108
has_obfuscation=case(
109
- match(process_lower, "(?i)( char\\(|convert\\(|cast\\(|declare\\s+@)"), 1,
110
- match(process_lower, "(?i)( exec\\s+\\(|exec\\s+@|;\\s*exec)"), 1,
109
+ match(process_lower, "(char\\(|convert\\(|cast\\(|declare\\s+@)"), 1,
110
+ match(process_lower, "(exec\\s+\\(|exec\\s+@|;\\s*exec)"), 1,
111
111
match(process, "\\^|\\%|\\+\\+|\\-\\-"), 1,
112
112
len(process) > 500, 1,
113
113
true(), 0
114
114
),
115
115
has_data_exfil=case(
116
- match(process_lower, "(?i)( for\\s+xml|for\\s+json)"), 1,
117
- match(process_lower, "(?i)( bulk\\s+insert.*from)"), 1,
118
- match(process_lower, "(?i)( bcp.*queryout|bcp.*out)"), 1,
119
- match(process_lower, "(?i)( select.*into.*from|select.*into.*outfile)"), 1,
116
+ match(process_lower, "(for\\s+xml|for\\s+json)"), 1,
117
+ match(process_lower, "(bulk\\s+insert.*from)"), 1,
118
+ match(process_lower, "(bcp.*queryout|bcp.*out)"), 1,
119
+ match(process_lower, "(select.*into.*from|select.*into.*outfile)"), 1,
120
120
true(), 0
121
121
)
122
122
0 commit comments