Detect Exploitation for Privilege Escalation in IBM QRadar
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. Security constructs such as permission levels will often hinder access to information and use of certain techniques, so adversaries will likely need to perform privilege escalation to include use of software exploitation to circumvent those restrictions. When initially gaining access to a system, an adversary may be operating within a lower privileged process which will prevent them from accessing certain resources on the system. Vulnerabilities may exist, usually in operating system components and software commonly running at higher permissions, that can be exploited to gain higher levels of access on the system. A key sub-technique is Bring Your Own Vulnerable Driver (BYOVD), where adversaries drop a legitimately signed but vulnerable kernel driver onto a compromised machine and then exploit it to execute code in kernel mode, bypassing Driver Signature Enforcement. Real-world examples include Embargo ransomware using MS4Killer, ZeroCleare using VBoxDrv.sys, APT29 exploiting CVE-2021-36934, and Turla exploiting VBoxDrv.sys vulnerabilities.
MITRE ATT&CK
- Tactic
- Privilege Escalation
- Canonical reference
- https://attack.mitre.org/techniques/T1068/
QRadar Detection Query
SELECT
DATEFORMAT(devicetime, 'yyyy-MM-dd HH:mm:ss') AS EventTime,
hostname AS Hostname,
username AS UserAccount,
eventid AS EventID,
QIDNAME(qid) AS EventName,
filename AS DriverFile,
filepath AS DriverPath,
CASE
WHEN LOWER(filename) IN (
'rtcore64.sys', 'rtcore32.sys', 'gdrv.sys', 'gdrv2.sys',
'asrdrv10.sys', 'asrdrv101.sys', 'asrdrv102.sys', 'aswarpot.sys',
'vboxdrv.sys', 'dbutil_2_3.sys', 'dbutildrv2.sys', 'mhyprot2.sys',
'mhyprot3.sys', 'iqvw64e.sys', 'iqvw32e.sys', 'winring0x64.sys',
'winring0.sys', 'capcom.sys', 'msio64.sys', 'msio32.sys',
'ms4killer.sys', 'glckio2.sys', 'physmem.sys', 'nvflash.sys',
'nicm.sys', 'nscm.sys', 'spwizeng.sys', 'bs_rcio64.sys'
) THEN 'KnownVulnerableDriverLoaded'
WHEN LOWER(filepath) MATCHES '(?i).*\\\\(temp|tmp|downloads|appdata|users\\\\public|programdata|perflogs|\$recycle\.bin|windows\\\\tasks)\\\\.*'
THEN 'DriverFromSuspiciousPath'
ELSE 'KernelDriverServiceInstalled'
END AS DetectionSignal,
LOGSOURCETYPENAME(devicetype) AS LogSourceType
FROM events
WHERE
LOGSOURCETYPENAME(devicetype) IN (
'Microsoft Windows Security Event Log',
'Microsoft Windows Sysmon'
)
AND (eventid = 6 OR eventid = 4697)
AND (
LOWER(filename) IN (
'rtcore64.sys', 'rtcore32.sys', 'gdrv.sys', 'gdrv2.sys',
'asrdrv10.sys', 'asrdrv101.sys', 'asrdrv102.sys', 'aswarpot.sys',
'vboxdrv.sys', 'dbutil_2_3.sys', 'dbutildrv2.sys', 'mhyprot2.sys',
'mhyprot3.sys', 'iqvw64e.sys', 'iqvw32e.sys', 'winring0x64.sys',
'winring0.sys', 'capcom.sys', 'msio64.sys', 'msio32.sys',
'ms4killer.sys', 'glckio2.sys', 'physmem.sys', 'nvflash.sys',
'nicm.sys', 'nscm.sys', 'spwizeng.sys', 'bs_rcio64.sys'
)
OR LOWER(filepath) MATCHES '(?i).*\\\\(temp|tmp|downloads|appdata|users\\\\public|programdata|perflogs)\\\\.*'
)
AND devicetime > NOW() - 86400000
ORDER BY devicetime DESC QRadar AQL detection for BYOVD kernel driver loading and kernel-mode service installation (T1068). Correlates Sysmon EventID 6 (Driver Load) and Windows Security EventID 4697 (Service Installed as kernel driver) from their respective QRadar DSMs. Relies on QRadar's normalized filename and filepath properties populated by the Windows Security and Microsoft Windows Sysmon DSMs during log source parsing — the Sysmon DSM maps ImageLoaded to filepath and the driver basename to filename. The 86400000ms lookback window equals 24 hours.
Data Sources
Required Tables
False Positives & Tuning
- MSI Afterburner, ASUS GPU Tweak, and EVGA Precision tools loading RTCore64.sys or RTCore32.sys for GPU overclocking register access — these are exact blocklist names and produce high-volume FPs on gaming/engineering workstations until allowlisted by verified hash in QRadar's reference set
- Legitimate VirtualBox installations loading VBoxDrv.sys — the QRadar Sysmon DSM must correctly map ImageLoaded to the filepath property; verify DSM mapping before tuning
- Corporate endpoint management platforms (Tanium, BigFix, Ivanti Neurons) deploying kernel-mode agents that stage .sys files in %ProgramData% as part of managed agent installation workflows
Other platforms for T1068
Testing Methodology
Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1BYOVD — Drop and Register Known Vulnerable Driver (RTCore64.sys Simulation)
Expected signal: Windows Security Event ID 4697 (New Service Installed): ServiceName=RTCore64, ServiceFileName=C:\Windows\Temp\RTCore64.sys, ServiceType=0x1 (Kernel Driver). Sysmon Event ID 1 (Process Create): Image=sc.exe, CommandLine containing 'create RTCore64 type= kernel'. DeviceRegistryEvents: RegistryKey containing \Services\RTCore64, RegistryValueName=ImagePath, RegistryValueData=C:\Windows\Temp\RTCore64.sys.
- Test 2Suspicious Driver Load Path — Copy System Driver to Temp and Reload
Expected signal: Sysmon Event ID 11 (File Create): TargetFilename=C:\Users\Public\null_test.sys. Security Event ID 4697: ServiceFileName=C:\Users\Public\null_test.sys, ServiceType=0x1. DeviceRegistryEvents: RegistryKey containing \Services\TestPathDriver, ImagePath=C:\Users\Public\null_test.sys.
- Test 3SeLoadDriverPrivilege Assignment via sc.exe (Privilege Telemetry)
Expected signal: Security Event ID 4697: ServiceName=FakePrivTest, ServiceType=0x1. Security Event ID 4672: PrivilegeList containing SeLoadDriverPrivilege assigned to the calling session's SubjectLogonId. System Event ID 7045 (New Service Installed) in System event log. sc.exe Process Create in Sysmon Event ID 1.
- Test 4Linux Kernel Module Load from Non-Standard Path (Container/Linux)
Expected signal: Auditd SYSCALL record with syscall=finit_module or init_module, uid/euid of calling process. Syslog/kern.log message: 'df00tech_test: disagrees about version of symbol module_layout' or 'insmod: ERROR: could not insert module'. Auditd WATCH record for file access to /tmp/df00tech_test.ko. /var/log/audit/audit.log entries with key=t1068_test.
- Test 5BYOVD — Enumerate Loaded Drivers for Vulnerable Candidates
Expected signal: Sysmon Event ID 1 (Process Create): driverquery.exe, sc.exe, powershell.exe executions with respective command lines. Security Event ID 4688 (if command-line auditing enabled) for same processes. WMI Activity log entries for Win32_SystemDriver query in Microsoft-Windows-WMI-Activity/Operational.
References (12)
- https://attack.mitre.org/techniques/T1068/
- https://www.loldrivers.io/
- https://learn.microsoft.com/en-us/windows/security/threat-protection/windows-defender-application-control/microsoft-recommended-driver-block-rules
- https://www.welivesecurity.com/wp-content/uploads/2020/06/ESET_InvisiMole.pdf
- https://unit42.paloaltonetworks.com/acidbox-rare-malware/
- https://www.welivesecurity.com/en/eset-research/embargo-ransomware-rockyou2024-data-leak-ms4killer/
- https://github.com/wavestone-cdt/EDRSandblast
- https://github.com/Idov31/Nidhogg
- https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-deviceimageloadevents-table
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1068/T1068.md
- https://github.com/SigmaHQ/sigma/tree/master/rules/windows/driver_load
Unlock Pro Content
Get the full detection package for T1068 including response playbook, investigation guide, and atomic red team tests.