Skip to content

Commit

Permalink
Add 10 file system based persistence techniques
Browse files Browse the repository at this point in the history
  • Loading branch information
jorik-utwente committed Nov 5, 2024
1 parent f880b13 commit a65bc9e
Show file tree
Hide file tree
Showing 10 changed files with 210 additions and 0 deletions.
27 changes: 27 additions & 0 deletions nursery/persist-via-accessibility-tools-backdoor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
rule:
meta:
name: persist via accessibility tools backdoor
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Event Triggered Execution::Accessibility Features [T1546.008]
references:
- https://pentestlab.blog/2019/11/13/persistence-accessibility-features/
features:
- and:
- or:
- match: copy file
- match: move file
- match: host-interaction/file-system/write
- or:
- string: /windows\\system32\\osk.exe/i
- string: /windows\\system32\\Magnify.exe/i
- string: /windows\\system32\\narator.exe/i
- string: /windows\\system32\\displayswitch.exe/i
- string: /windows\\system32\\atbroker.exe/i
- string: /windows\\system32\\sethc.exe/i
- string: /windows\\system32\\utilman.exe/i
23 changes: 23 additions & 0 deletions nursery/persist-via-browser-extension.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
rule:
meta:
name: persist via browser extension
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Browser Extensions [T1176]
features:
- and:
- or:
- match: copy file
- match: move file
- match: host-interaction/file-system/write
- or:
- string: /AppData\\Local\\Microsoft\\Edge\\User Data\\Default\\Extensions\\/i
- string: /AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\/i
- and:
- string: /AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\/i
- string: /.default\\extensions\\/i
20 changes: 20 additions & 0 deletions nursery/persist-via-errorhandler-script.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
rule:
meta:
name: persist via ErrorHandler script
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Event Triggered Execution [T1546]
references:
- https://www.hexacorn.com/blog/2022/01/16/beyond-good-ol-run-key-part-135/
features:
- and:
- or:
- match: copy file
- match: move file
- match: host-interaction/file-system/write
- string: /\\Windows\\Setup\\Scripts\\ErrorHandler.cmd/i
17 changes: 17 additions & 0 deletions nursery/persist-via-get-variable-hijack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
rule:
meta:
name: persist via Get-Variable hijack
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Hijack Execution Flow [T1574]
references:
- https://www.threatdown.com/blog/colibri-loader-combines-task-scheduler-and-powershell-in-clever-persistence-technique/
features:
- and:
- match: persist via host software binary compromise
- string: /Microsoft\\WindowsApps\\Get-Variable.exe/i
21 changes: 21 additions & 0 deletions nursery/persist-via-host-software-binary-compromise.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
rule:
meta:
name: persist via host software binary compromise
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Compromise Client Software Binary [T1554]
features:
- and:
- or:
- match: copy file
- match: move file
- match: host-interaction/file-system/write
- or:
- string: /Windows/i
- string: /Program Files/i
- string: /.exe$/i
16 changes: 16 additions & 0 deletions nursery/persist-via-iphlpapi-dll-hijack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
rule:
meta:
name: persist via iphlpapi DLL hijack
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Hijack Execution Flow [T1574]
references:
- https://cyble.com/blog/targeted-attacks-being-carried-out-via-dll-sideloading/
features:
- and:
- string: /\\Appdata\\Local\\Microsoft\\.*\\iphlpapi.dll/i
20 changes: 20 additions & 0 deletions nursery/persist-via-lnk-shortcut.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
rule:
meta:
name: persist via lnk shortcut
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Boot or Logon Autostart Execution::Shortcut Modification [T1547.009]
references:
- https://www.ired.team/offensive-security/persistence/modifying-.lnk-shortcuts
features:
- and:
- or:
- match: copy file
- match: move file
- match: host-interaction/file-system/write
- string: /\.lnk$/i
22 changes: 22 additions & 0 deletions nursery/persist-via-powershell-profile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
rule:
meta:
name: persist via PowerShell profile
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Event Triggered Execution::PowerShell Profile [T1546.013]
references:
- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles
features:
- and:
- or:
- match: copy file
- match: move file
- match: host-interaction/file-system/write
- or:
- string: /Profile.ps1/i
- string: /Microsoft.PowerShell_profile.ps1/i
23 changes: 23 additions & 0 deletions nursery/persist-via-startup-folder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
rule:
meta:
name: persist via startup folder
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Boot or Logon Autostart Execution::Registry Run Keys / Startup Folder [T1547.001]
references:
- https://dmcxblue.gitbook.io/red-team-notes-2-0/red-team-techniques/persistence/t1547-boot-or-logon-autostart-execution/registry-run-keys-startup-folder
features:
- and:
- or:
- match: copy file
- match: move file
- match: host-interaction/file-system/write
- or:
- string: /Microsoft\\Windows\\Start Menu\\Programs\\Startup\\/i
- string: /Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\/i
- string: /WINNT\\Profiles\\All Users\\Start Menu\\Programs\\Startup\\/i
21 changes: 21 additions & 0 deletions nursery/persist-via-windows-terminal-profile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
rule:
meta:
name: persist via Windows Terminal Profile
namespace: persistence/file-system
authors:
- j.j.vannielen@utwente.nl
scopes:
static: function
dynamic: call
att&ck:
- Persistence::Event Triggered Execution [T1546]
references:
- https://nasbench.medium.com/persistence-using-windows-terminal-profiles-5035d3fc86fe
features:
- and:
- or:
- match: copy file
- match: move file
- match: host-interaction/file-system/write
- or:
- string: /Local\\Packages\\Microsoft.WindowsTerminal_.*\\LocalState\\settings.json/i

0 comments on commit a65bc9e

Please sign in to comment.