Analysis of kprl.sys: suspicious verdict, risk score 58/100. 2 YARA matches, 0/76 multi-engine detections. SHA256 e15bf768353c1f4c. Kernel imports, IOCTL codes, MITRE ATT&CK, and code-signing details.
DriverShield analyzed the Windows kernel driver kprl.sys and assigned a verdict of Suspicious with a composite risk score of 58/100, indicating some risk signals warranting review (30-59 band).
| Verdict | Suspicious (58/100) |
| YARA matches | 2 |
| Multi-engine detections | 0 / 76 |
| File size | 37160 bytes |
| Code-signing signer | Sectigo Public Code Signing CA EV E36 |
| Analyzed | 2026-09-16 |
| SHA256 | e15bf768353c1f4ce182b4c8c211c712f6d310170166222bde051dfadfc14aad |
| SHA1 | f0f8f412bdf430dd58881e321cf109e458a7a56e |
| MD5 | a6710a29f40732689478fb389aff2d6f |
Each component is scored 0-100 and then weighted into the composite. See the analysis methodology for the exact formula.
| Component | Sub-score |
|---|---|
| Multi-engine consensus | 0 / 100 |
| YARA signature matches | 80 / 100 |
| Dangerous kernel imports | 100 / 100 |
| IOCTL dispatch surface | 33 / 100 |
| Known-vulnerable corpus | 0 / 100 |
| Code-signing state | 0 / 100 |
| Packing and entropy | 0 / 100 |
| Dynamic behaviour | 0 / 100 |
| CVE cross-reference | 0 / 100 |
Kernel-mode APIs resolved from the Import Address Table of kprl.sys, ranked by exploitation relevance.
| API | Risk | Why it matters |
|---|---|---|
| MmCopyVirtualMemory | critical | Highly dangerous - potential for arbitrary code execution, memory corruption, or process termination |
| PsLookupProcessByProcessId | high | Potentially dangerous - could be used for privilege escalation or security bypass |
| MmGetSystemRoutineAddress | high | Potentially dangerous - could be used for privilege escalation or security bypass |
| ObOpenObjectByPointer | medium | Moderate risk - system modification capability |
| MmUnmapIoSpace | medium | Moderate risk - system modification capability |
| ZwQuerySystemInformation | medium | Moderate risk - system modification capability |
| IoCreateDevice | low | Standard kernel API - generally benign |
| ZwClose | low | Standard kernel API - generally benign |
| RtlInitUnicodeString | low | Standard kernel API - generally benign |
| IofCompleteRequest | low | Standard kernel API - generally benign |
| DbgPrintEx | low | Standard kernel API - generally benign |
| DbgPrint | low | Standard kernel API - generally benign |
| IoDeleteDevice | low | Standard kernel API - generally benign |
| IoDeleteSymbolicLink | low | Standard kernel API - generally benign |
| IoCreateSymbolicLink | low | Standard kernel API - generally benign |
| ExAllocatePool | low | Standard kernel API - generally benign |
Control codes reachable through the driver dispatch routine. Codes tied to published exploit code are flagged, since they are the primary Bring Your Own Vulnerable Driver (BYOVD) entry points.
| Code | Severity | Transfer | Description |
|---|---|---|---|
| 0x0080830F | high | METHOD_NEITHER | FILE_DEVICE_CUSTOM Function #195 |
| 0x002200F0 | medium | METHOD_BUFFERED | FILE_DEVICE_UNKNOWN Function #60 |
| 0x002253E8 | medium | METHOD_BUFFERED | FILE_DEVICE_UNKNOWN Function #1274 |
| 0x00229584 | medium | METHOD_BUFFERED | FILE_DEVICE_UNKNOWN Function #1377 |
| 0x00226B15 | medium | METHOD_IN_DIRECT | FILE_DEVICE_UNKNOWN Function #2757 |
| 0x00225715 | medium | METHOD_IN_DIRECT | FILE_DEVICE_UNKNOWN Function #1477 |
| 0x0022B715 | medium | METHOD_IN_DIRECT | FILE_DEVICE_UNKNOWN Function #3525 |
| 0x0080248C | medium | METHOD_BUFFERED | FILE_DEVICE_CUSTOM Function #2339 |
| 0x00808389 | medium | METHOD_IN_DIRECT | FILE_DEVICE_CUSTOM Function #226 |
| 0x00220F15 | medium | METHOD_IN_DIRECT | FILE_DEVICE_UNKNOWN Function #965 |
| 0x00220020 | medium | METHOD_BUFFERED | FILE_DEVICE_UNKNOWN Function #8 |
Section layout and Shannon entropy. High entropy in a code section is a packing or encryption indicator.
| Section | Virtual size | Raw size | Entropy | Flags |
|---|---|---|---|---|
| .text | 0x28D7 | 0x2A00 | 6.14 | CODE, EXEC, READ |
| .rdata | 0x0BAC | 0x0C00 | 4.69 | IDATA, READ |
| .data | 0x0358 | 0x0200 | 0.8 | IDATA, READ, WRITE |
| .pdata | 0x021C | 0x0400 | 2.47 | IDATA, READ |
| INIT | 0x05A0 | 0x0600 | 4.72 | CODE, EXEC, READ, DISCARD |
| .reloc | 0x0038 | 0x0200 | 0.75 | IDATA, READ, DISCARD |
| Control Flow Guard | Enabled |
|---|---|
| ASLR | Enabled |
| DEP | Enabled |
| Integrity check | Not enforced |
| Mitigation score | 100 / 100 |
| Rule | Severity | Detects |
|---|---|---|
| BYOVD_MemRW | critical | Phys memory mapping + device creation |
| SUSP_PhysMem | high | Physical memory mapping |
Techniques this driver could enable if loaded by an adversary.
| ID | Technique | Tactic |
|---|---|---|
| T1003 | OS Credential Dumping | Credential Access |
| T1003.001 | OS Credential Dumping: LSASS Memory | Credential Access |
| T1006 | Direct Volume Access | Defense Evasion |
| T1055.001 | Process Injection: DLL Injection | Defense Evasion |
| T1055.012 | Process Hollowing | Defense Evasion |
| T1068 | Exploitation for Privilege Escalation | Privilege Escalation |
| T1071 | Application Layer Protocol | Command and Control |
| T1211 | Exploitation for Defense Evasion | Defense Evasion |
| T1489 | Service Stop | Impact |
| T1543.003 | Windows Service | Persistence |
| T1553.002 | Subvert Trust Controls: Code Signing | Defense Evasion |
| T1562.001 | Impair Defenses: Disable/Modify Tools | Defense Evasion |
| T1569.002 | Service Execution | Execution |
| T1652 | Device Driver Discovery | Discovery |
| Signer | Sectigo Public Code Signing CA EV E36 |
|---|---|
| Signer organisation | Sectigo Limited |
| Issuer | Sectigo Public Code Signing Root E46 |
| Serial | 3774434F9EB40E221F9236CA1F2F2717 |
| Valid from | 2021-03-22 00:00 UTC |
| Valid until | 2036-03-21 23:59 UTC |
| Signature validity | Verified |
Engine angr, status completed, 59 paths explored at a maximum depth of 59. Vulnerability classes reached: 1. Exploitable paths: 0.
Based on DriverShield static and dynamic analysis, kprl.sys shows some suspicious signals and warrants manual review. Its composite risk score is 58/100 (verdict: suspicious). Always validate findings independently before acting.
kprl.sys has a DriverShield composite risk score of 58/100, placing it in the suspicious verdict band. SHA256: e15bf768353c1f4ce182b4c8c211c712f6d310170166222bde051dfadfc14aad.
kprl.sys is a Windows kernel-mode driver (.sys) analyzed by DriverShield for vulnerabilities, BYOVD abuse potential, and malware indicators. It is code-signed by Sectigo Public Code Signing CA EV E36.
Related: Other drivers signed by Sectigo Public Code Signing CA EV E36 · What an IOCTL dispatch code is · How YARA matching feeds the score · BYOVD research index · full driver database · CVE library · code signing atlas