You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,11 @@
1
1
# Changelog
2
+
## 1.16.0
3
+
Features:
4
+
- Detection for the BootVerificationProgram hijacking
5
+
- Detection for the AppInit DLLs injection
6
+
Fixes:
7
+
- Fixed a false positive in the detection of the Suborner Attack caused by a faulty implementation of the Parse-NetUser internal function
8
+
2
9
## 1.15.1
3
10
Fixes:
4
11
- Fixed a gap in the detection of the techniques which relied on Get-IfSafeExecutable function which would prevent Powershell persistences from showing up
Write-Verbose-Message "$hostname - [!] Found custom Boot Verification Program at ImagePath property of the HKLM:\SYSTEM\CurrentControlSet\Control\BootVerificationProgram key!"
1950
+
$PersistenceObject=New-PersistenceObject-Hostname $hostname-Technique 'Boot Verification Program Hijacking'-Classification 'Uncatalogued Technique N.19'-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\BootVerificationProgram\ImagePath'-Value $bootVerificationProgram-AccessGained 'System'-Note "The executable pointed to by the ImagePath property of the HKLM:\SYSTEM\CurrentControlSet\Control\BootVerificationProgram key is run by the Windows Service Manager at boot time in place of the legitimate Bootvrfy.exe"-Reference 'https://persistence-info.github.io/Data/bootverificationprogram.html'
Write-Verbose-Message "$hostname - [!] AppInit_DLLs property under the HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Windows key is populated!"
1961
+
$PersistenceObject=New-PersistenceObject-Hostname $hostname-Technique 'AppInit DLL injection'-Classification 'MITRE ATT&CK T1546.010'-Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Windows'-Value $appInitDLL-AccessGained 'System/User'-Note "The DLLs specified in the AppInit_DLLs property of the HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Windows key are loaded by user32.dll whenever a new process starts."-Reference 'https://attack.mitre.org/techniques/T1546/010/'
Write-Verbose-Message "$hostname - [!] AppInit_DLLs property under the HKLM:\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows key is populated!"
1968
+
$PersistenceObject=New-PersistenceObject-Hostname $hostname-Technique 'AppInit DLL injection'-Classification 'MITRE ATT&CK T1546.010'-Path 'HKLM:\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows'-Value $appInitDLL-AccessGained 'System/User'-Note "The DLLs specified in the AppInit_DLLs property of the HKLM:\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows key are loaded by user32.dll whenever a new process starts."-Reference 'https://attack.mitre.org/techniques/T1546/010/'
@@ -2004,6 +2038,8 @@ function Find-AllPersistence {
2004
2038
'Suborner Attack'=$null
2005
2039
'DSRM Backdoor'=$null
2006
2040
'GhostTask'=$null
2041
+
'BootVerificationProgram'=$null
2042
+
'AppInitDLLs'=$null
2007
2043
}
2008
2044
2009
2045
# Collect the keys in a separate list
@@ -2089,6 +2125,8 @@ function Find-AllPersistence {
2089
2125
Get-RidHijacking
2090
2126
Get-DSRMBackdoor
2091
2127
Get-GhostTask
2128
+
Get-BootVerificationProgram
2129
+
Get-AppInitDLLs
2092
2130
2093
2131
if ($IncludeHighFalsePositivesChecks.IsPresent) {
2094
2132
Write-Verbose-Message "$hostname - You have used the -IncludeHighFalsePositivesChecks switch, this may generate a lot of false positives since it includes checks with results which are difficult to filter programmatically..."
@@ -2318,6 +2356,16 @@ function Find-AllPersistence {
2318
2356
Get-GhostTask
2319
2357
break
2320
2358
}
2359
+
'BootVerificationProgram'
2360
+
{
2361
+
Get-BootVerificationProgram
2362
+
break
2363
+
}
2364
+
'AppInitDLLs'
2365
+
{
2366
+
Get-AppInitDLLs
2367
+
break
2368
+
}
2321
2369
}
2322
2370
}
2323
2371
@@ -2375,12 +2423,11 @@ function Find-AllPersistence {
<palign="center">PersistenceSniper is a Powershell module that can be used by Blue Teams, Incident Responders and System Administrators to hunt persistences implanted in Windows machines. It is also available on <ahref=https://www.powershellgallery.com/packages/PersistenceSniper/1.0>Powershell Gallery</a> and it is digitally signed with a valid code signing certificate. The tool is under active development with new releases coming out by the week, so make sure to use the up-to-date version. Official Twitter/X account <ahref="https://twitter.com/PersistSniper">@PersistSniper</a>.</p>
<palign="center">PersistenceSniper is a Powershell module that can be used by Blue Teams, Incident Responders and System Administrators to hunt persistences implanted in Windows machines. It is also available on <ahref=https://www.powershellgallery.com/packages/PersistenceSniper>Powershell Gallery</a> and it is digitally signed with a valid code signing certificate. The tool is under active development with new releases coming out by the week, so make sure to use the up-to-date version. Official Twitter/X account <ahref="https://twitter.com/PersistSniper">@PersistSniper</a>.</p>
0 commit comments