Skip to content

Commit 7d734ac

Browse files
committed
Add DataStreams Field to MFT Rules and Add Part 1 Rules for Suspicious Script and Executable Locations
Add DataStreams Field to MFT Rules and Add Part 1 Rules for Suspicious Script and Executable Locations Reduce False Positives with Recycle Bin and ADAMNTDS.DIT and NTDS.DIT Exclude Intel and Temp from root_nonstand_fold as other rules cover this Add MFT Rules to Cover Root of Program Files and Windows Folders Add MFT rule for RTLO and add .lnk to most sup_script_exec rules
1 parent f1152b1 commit 7d734ac

38 files changed

+2032
-4
lines changed

rules/mft/adamntds_dit_mft.yml

+8-2
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
38-
condition: (adamntds and adamntds_1) and not adamntds_2
40+
condition: (adamntds and adamntds_1) and not (adamntds_2 or adamntds_3)
3941

4042
adamntds:
4143
FullPath:
@@ -49,4 +51,8 @@ filter:
4951
FullPath:
5052
- 'iProgram Files\Microsoft ADAM\*'
5153
- 'iWindows\WinSxS*'
52-
- 'iWindows\servicing\LCU\*'
54+
- 'iWindows\servicing\LCU\*'
55+
56+
adamntds_3:
57+
FileSize:
58+
- 55

rules/mft/advanced_ip_scanner_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: ais and (ais_1 or ais_2 or ais_3 or ais_4)

rules/mft/advanced_port_scanner_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: aps and (aps_1 or aps_2 or aps_3 or aps_4)

rules/mft/angry_ip_scanner_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: ais and (ais_1 or ais_2 or ais_3 or ais_4)

rules/mft/anydesk_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: anydesk and (anydesk_1 or anydesk_2 or anydesk_3 or anydesk_4 or anydesk_5 or anydesk_6)

rules/mft/browserscan_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: (browserscan and browserscan_loot) or (browserscan_1 and browserscan_2)

rules/mft/filezilla_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: filezilla and (filezilla_1 or filezilla_2 or filezilla_3 or filezilla_4)

rules/mft/lsass_dmp_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: lsass and (lsass_1 or lsass_2)

rules/mft/megasync_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: ms and (ms_1 or ms_2 or ms_3)

rules/mft/mimikatz_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: mimikatz

rules/mft/netscan_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: netscan and (netscan_1 or netscan_2 or netscan_3)

rules/mft/nirsoft_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: nirsoft and (nirsoft_1 or nirsoft_2 or nirsoft_3)

rules/mft/ntds_dit_mft.yml

+8-2
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
38-
condition: (ntds and ntds_1) and not ntds_2
40+
condition: (ntds and ntds_1) and not (ntds_2 or ntds_3)
3941

4042
ntds:
4143
FullPath:
@@ -50,4 +52,8 @@ filter:
5052
- 'iWindows\NTDS\NTDS.dit'
5153
- 'iWindows\WinSxS*'
5254
- 'iWindows\servicing\LCU\*'
53-
- 'i*adamntds.dit*'
55+
- 'i*adamntds.dit*'
56+
57+
ntds_3:
58+
FileSize:
59+
- 55

rules/mft/processhacker_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: ph and (ph_1 or ph_2 or ph_3 or ph_4)

rules/mft/psexec_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: psexec or (key_1 and key_2)

rules/mft/pstools_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: pstools or (pstools_1 and pstools_2)

rules/mft/rclone_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: rclone or (rclone_1 and rclone_2)

rules/mft/rubeus_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: rubeus

rules/mft/shadow_dumper_mft.yml

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ fields:
3333
to: IsDeleted
3434
- name: HasAlternateDataStreams
3535
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
3638

3739
filter:
3840
condition: shadowdumper
+118
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
title: Suspicious Script or Executable Location - Intel
3+
group: MFT
4+
description: Suspicious Script or Executable in a different location than standard. Potential Threat Actor Activity.
5+
authors:
6+
- Reece394
7+
8+
9+
kind: mft
10+
level: medium
11+
status: stable
12+
timestamp: StandardInfoCreated
13+
14+
15+
fields:
16+
- name: FileNamePath
17+
to: FullPath
18+
- name: StandardInfoLastModified0x10
19+
to: StandardInfoLastModified
20+
- name: StandardInfoLastAccess0x10
21+
to: StandardInfoLastAccess
22+
- name: FileNameCreated0x30
23+
to: FileNameCreated
24+
- name: FileNameLastModified0x30
25+
to: FileNameLastModified
26+
- name: FileNameLastAccess0x30
27+
to: FileNameLastAccess
28+
- name: FileSize
29+
to: FileSize
30+
- name: IsADirectory
31+
to: IsADirectory
32+
- name: IsDeleted
33+
to: IsDeleted
34+
- name: HasAlternateDataStreams
35+
to: HasAlternateDataStreams
36+
- name: DataStreams
37+
to: DataStreams
38+
39+
filter:
40+
condition: sup and directory
41+
42+
sup:
43+
FullPath:
44+
- 'i*.bat'
45+
- 'i*.cmd'
46+
- 'i*.cpl'
47+
- 'i*.ex'
48+
- 'i*.ex_'
49+
- 'i*.exe'
50+
- 'i*.jse'
51+
- 'i*.msc'
52+
- 'i*.ps1'
53+
- 'i*.ps1xml'
54+
- 'i*.ps2'
55+
- 'i*.ps2xml'
56+
- 'i*.psc1'
57+
- 'i*.psc2'
58+
- 'i*.msh'
59+
- 'i*.msh1'
60+
- 'i*.msh2'
61+
- 'i*.mshxml'
62+
- 'i*.msh1xml'
63+
- 'i*.msh2xml'
64+
- 'i*.reg'
65+
- 'i*.vb'
66+
- 'i*.vbe'
67+
- 'i*.ws'
68+
- 'i*.wsf'
69+
- 'i*.wsc'
70+
- 'i*.hta'
71+
- 'i*.vbs'
72+
- 'i*.com'
73+
- 'i*.dll'
74+
- 'i*.sys'
75+
- 'i*.isu'
76+
- 'i*.scr'
77+
- 'i*.mst'
78+
- 'i*.job'
79+
- 'i*.paf'
80+
- 'i*.sct'
81+
- 'i*.gadget'
82+
- 'i*.pif'
83+
- 'i*.shb'
84+
- 'i*.vbscript'
85+
- 'i*.inf'
86+
- 'i*.inf1'
87+
- 'i*.shs'
88+
- 'i*.bin'
89+
- 'i*.ins'
90+
- 'i*.u3p'
91+
- 'i*.wsh'
92+
- 'i*.inx'
93+
- 'i*.js'
94+
- 'i*.msi'
95+
- 'i*.msp'
96+
- 'i*.rgs'
97+
- 'i*.sh'
98+
- 'i*.run'
99+
- 'i*.jar'
100+
- 'i*.py'
101+
- 'i*.py3'
102+
- 'i*.pyc'
103+
- 'i*.pyo'
104+
- 'i*.pyw'
105+
- 'i*.pyx'
106+
- 'i*.pyd'
107+
- 'i*.pxd'
108+
- 'i*.pyi'
109+
- 'i*.pyz'
110+
- 'i*.pl'
111+
- 'i*.rb'
112+
- 'i*.ocx'
113+
- 'i*.scf'
114+
- 'i*.lnk'
115+
116+
directory:
117+
FullPath:
118+
- 'iIntel\*'

0 commit comments

Comments
 (0)