
Proof-of-concept exploiting a Fortinet fortimon3_74.sys kernel driver flaw to bypass PPL and terminate protected processes like lsass.exe via an unauthenticated kill command.
A vulnerability in Fortinet's fortimon3_74.sys kernel driver (FortiClient's "anti-exploit" minifilter) allows any local administrator to terminate any process - including PPL (Protected Process Light) protected processes like Windows Defender (MsMpEng.exe) and lsass.exe - by sending an 8-byte message to an unauthenticated communication port.
No buffer overflow. No heap spray. No ROP chain. Just 8 bytes.
| Field | Value |
|---|---|
| Driver | fortimon3_74.sys (FortiClient Anti-Exploit Minifilter) |
| Port | \Fortimon3FilterAntiExploitPort |
| Impact | PPL bypass, arbitrary process termination |
| Access | Local administrator |
| Authentication | None |
| BYOVD Risk | High - driver is signed by Fortinet |
The driver exposes a minifilter communication port with no caller authentication. It accepts a simple 8-byte message:
struct {
DWORD magic; // 0x6C6C696B ("kill" in little-endian ASCII)
DWORD pid; // Target process ID
};
Upon receiving this message, the driver calls ZwOpenProcess with PROCESS_ALL_ACCESS from kernel mode (bypassing PPL checks), then ZwTerminateProcess. No validation is performed on the caller or target.
The ZwOpenProcess handle is created in the caller's handle table (missing OBJ_KERNEL_HANDLE flag), creating a brief window where a usermode attacker could duplicate a PROCESS_ALL_ACCESS handle to a PPL-protected process like lsass.exe - enabling credential theft without killing the process.
PROCESS_ALL_ACCESS used instead of PROCESS_TERMINATEOBJ_KERNEL_HANDLE flag exposes kernel handle to usermode
Watch the full demo - demonstrates PPL bypass against protected processes.
| File | Description |
|---|---|
poc.c | Proof of Concept - terminates any process by name via the vulnerable driver |
cl.exe poc.c /Fe:poc_kill.exe
poc_kill.exe MsMpEng.exe
Requires: local administrator privileges, fortimon3_74.sys loaded.
me1n
fortimon3_74.sys |
| Vulnerable driver binary (Fortinet-signed) |
poc.jpg | Screenshot - lsass.exe terminated, system restart triggered |
forti.mp4 | Video demo of the exploit |