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
Some signed third‑party drivers create their device object with a strong SDDL via IoCreateDeviceSecure but forget to set FILE_DEVICE_SECURE_OPEN in DeviceCharacteristics. Without this flag, the secure DACL is not enforced when the device is opened through a path containing an extra component, letting any unprivileged user obtain a handle by using a namespace path like:
754
+
755
+
- \\ .\\DeviceName\\anything
756
+
- \\ .\\amsdk\\anyfile (from a real-world case)
757
+
758
+
Once a user can open the device, privileged IOCTLs exposed by the driver can be abused forLPE and tampering. Example capabilities observedin the wild:
759
+
- Return full-access handles to arbitrary processes (token theft / SYSTEM shell via DuplicateTokenEx/CreateProcessAsUser).
760
+
- Unrestricted raw disk read/write (offline tampering, boot-time persistence tricks).
761
+
- Terminate arbitrary processes, including Protected Process/Light (PP/PPL), allowing AV/EDR kill from user land via kernel.
762
+
763
+
Minimal PoC pattern (user mode):
764
+
```c
765
+
// Example based on a vulnerable antimalware driver
766
+
#define IOCTL_REGISTER_PROCESS 0x80002010
767
+
#define IOCTL_TERMINATE_PROCESS 0x80002048
768
+
769
+
HANDLE h = CreateFileA("\\\\.\\amsdk\\anyfile", GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
- [Check Point Research – Chasing the Silver Fox: Cat & Mouse in Kernel Shadows](https://research.checkpoint.com/2025/silver-fox-apt-vulnerable-drivers/)
0 commit comments