Skip to content

Commit 14d5692

Browse files
splintersfuryclaude
andcommitted
Update README, deploy workflow, and site metadata for overhaul
- README: update stats (156 CVEs, 64 drivers, 57 ITW), add dashboard and project structure sections, document build_dashboard_data.py step - Deploy workflow: add dashboard data generation step before mkdocs build - mkdocs.yml: update site description with current corpus stats - overview.md: update CVE count from 147 to 156 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 0d4b212 commit 14d5692

4 files changed

Lines changed: 70 additions & 31 deletions

File tree

.github/workflows/deploy-pages.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ jobs:
2424
with:
2525
python-version: "3.12"
2626

27-
- run: pip install mkdocs-material
27+
- run: pip install mkdocs-material pyyaml
28+
29+
- name: Generate dashboard data
30+
run: python scripts/build_dashboard_data.py
2831

2932
- run: mkdocs build
3033

README.md

Lines changed: 62 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,38 @@
1-
# KernelSight — Windows Kernel Driver Exploitation Knowledge Base
1+
# KernelSight
22

33
[![GitHub Pages](https://img.shields.io/badge/Browse-Knowledge%20Base-blue)](https://splintersfury.github.io/KernelSight/)
4-
[![CVEs](https://img.shields.io/badge/CVEs-134-red)](https://splintersfury.github.io/KernelSight/case-studies/)
5-
[![Drivers](https://img.shields.io/badge/Drivers-62-orange)](https://splintersfury.github.io/KernelSight/driver-types/)
6-
[![ITW](https://img.shields.io/badge/Exploited%20ITW-52-critical)](https://splintersfury.github.io/KernelSight/guides/corpus-analytics/)
4+
[![CVEs](https://img.shields.io/badge/CVEs-156-red)](https://splintersfury.github.io/KernelSight/case-studies/)
5+
[![Drivers](https://img.shields.io/badge/Drivers-64-orange)](https://splintersfury.github.io/KernelSight/driver-types/)
6+
[![ITW](https://img.shields.io/badge/Exploited%20ITW-57-critical)](https://splintersfury.github.io/KernelSight/guides/corpus-analytics/)
77
[![License: MIT](https://img.shields.io/badge/License-MIT-green)](LICENSE)
88

9-
A structured knowledge base for **Windows kernel driver exploitation** -- covering vulnerability classes, exploitation primitives, BYOVD campaigns, exploit chain patterns, and kernel mitigations. Every entry is grounded in real CVEs with driver names, vulnerable/fixed builds, and patch analysis.
9+
The exploitation pipeline for Windows kernel drivers, from attack surface to privilege escalation. Every entry is grounded in real CVEs with driver names, vulnerable/fixed builds, patch analysis, and detection rules.
1010

1111
**[Browse the Knowledge Base →](https://splintersfury.github.io/KernelSight/)**
1212

1313
---
1414

15+
## What is KernelSight?
16+
17+
KernelSight is an interactive knowledge base that maps how Windows kernel drivers get exploited. It tracks 156 CVEs across 64 drivers, organized as a pipeline that mirrors how exploitation actually works: identify a driver, find its attack surface, classify the bug, convert it into a primitive, and escalate to SYSTEM.
18+
19+
The landing page is an interactive threat intelligence dashboard with a driver-by-vuln-class heat matrix, searchable CVE explorer, and export functionality. The knowledge base behind it contains 241 pages of narrative-driven technical content covering vulnerability classes, exploitation primitives, kernel mitigations, and real-world case studies.
20+
1521
## Corpus
1622

1723
| Metric | Count |
1824
|--------|-------|
19-
| CVE case studies | **134** |
20-
| Unique drivers analysed | **62** |
21-
| Exploited in the wild | **52** |
25+
| CVE case studies | **156** |
26+
| Unique drivers analysed | **64** |
27+
| Exploited in the wild | **57** |
2228
| Remotely exploitable | **2** |
2329
| BYOVD drivers | **41** |
2430
| Driver type categories | **12** |
2531
| Exploitation technique pages | **57** |
2632
| AutoPiff detection rules | **80+** |
33+
| LOLDrivers analysed | **1,775** |
2734

28-
## What's Inside
29-
30-
### The Exploitation Pipeline
35+
## The Exploitation Pipeline
3136

3237
KernelSight is organized as a pipeline from driver identification through privilege escalation:
3338

@@ -39,43 +44,45 @@ With **[Mitigations](https://splintersfury.github.io/KernelSight/mitigations/)**
3944

4045
| Driver Type | Example Drivers | CVEs | Key Pattern |
4146
|---|---|---|---|
42-
| **File System** | ntfs.sys, fastfat.sys, refs.sys | 7 | VHD mount gives unprivileged access to on-disk parsing |
47+
| **File System** | ntfs.sys, fastfat.sys | 7 | VHD mount gives unprivileged access to on-disk parsing |
4348
| **Minifilters** | cldflt.sys | 8 | Reparse data and cloud file callbacks |
44-
| **Log / Transaction** | clfs.sys | 12 | Most exploited single driver -- on-disk metadata corruption |
49+
| **Log / Transaction** | clfs.sys | 15 | Most exploited single driver, on-disk metadata corruption |
4550
| **Network Stack** | tcpip.sys, afd.sys, http.sys | 13 | Includes 2 remotely exploitable bugs (IPv6 RCE, HTTP RCE) |
46-
| **Kernel Streaming** | ks.sys, mskssrv.sys, ksthunk.sys | 12 | IOCTL handlers, MDL mapping, type confusion |
51+
| **Kernel Streaming** | ks.sys, mskssrv.sys, ksthunk.sys | 14 | IOCTL handlers, MDL mapping, type confusion |
4752
| **Win32k** | win32k.sys, win32kbase.sys, win32kfull.sys | 12 | Callback reentrancy, window object races |
48-
| **Core Kernel** | ntoskrnl.exe | 9 | Token races, secure-mode bypasses, highest impact |
53+
| **Core Kernel** | ntoskrnl.exe | 13 | Token races, secure-mode bypasses, highest impact |
4954
| **Security / Policy** | appid.sys, ci.dll | 2 | Missing IOCTL access checks |
5055
| **Storage / Caching** | csc.sys, storvsp.sys | 2 | Logic bugs, PreviousMode manipulation |
51-
| **Vendor Utility** | RTCore64.sys, DBUtil_2_3.sys | 15+ | Physical memory mapping, MSR access -- BYOVD weapons |
56+
| **Vendor Utility** | RTCore64.sys, DBUtil_2_3.sys | 15+ | Physical memory mapping, MSR access, BYOVD weapons |
5257
| **Performance & GPU** | dxgkrnl.sys, dwmcore.dll | 8+ | DMA, shared memory, kernel streaming |
5358
| **Third-Party Security** | Truesight.sys, amsdk.sys | 5+ | EDR bypass, process termination primitives |
5459

5560
### Guides
5661

5762
- **[Why Kernel Drivers?](https://splintersfury.github.io/KernelSight/guides/why-kernel-drivers/)** -- what hardware enforces, what only Ring 0 can do, user-mode alternatives
5863
- **[Anatomy of a Secure Driver](https://splintersfury.github.io/KernelSight/guides/secure-driver-anatomy/)** -- the 6 anti-patterns behind most kernel driver CVEs
59-
- **[Corpus Analytics](https://splintersfury.github.io/KernelSight/guides/corpus-analytics/)** -- visual breakdown of 134 CVEs by driver, year, vulnerability class
64+
- **[Corpus Analytics](https://splintersfury.github.io/KernelSight/guides/corpus-analytics/)** -- visual breakdown of 156 CVEs by driver, year, vulnerability class
6065
- **[Exploit Chain Patterns](https://splintersfury.github.io/KernelSight/guides/exploit-chain-patterns/)** -- the 5 recurring exploit chain shapes
6166
- **[Patch Patterns](https://splintersfury.github.io/KernelSight/guides/patch-patterns/)** -- what Microsoft's fixes look like for each bug class
6267
- **[Mitigation Timeline](https://splintersfury.github.io/KernelSight/guides/mitigation-timeline/)** -- when each kernel defence landed
6368

6469
### Deep Dives
6570

66-
- **[CLFS Deep-Dive](https://splintersfury.github.io/KernelSight/case-studies/clfs-deep-dive/)** -- 12 CVEs, 3 exploited in the wild
67-
- **[AFD Deep-Dive](https://splintersfury.github.io/KernelSight/case-studies/afd-deep-dive/)** -- 13 CVEs, socket teardown races
68-
- **[Win32k Deep-Dive](https://splintersfury.github.io/KernelSight/case-studies/win32k-deep-dive/)** -- 12 CVEs, callback reentrancy
71+
- **[CLFS Deep-Dive](https://splintersfury.github.io/KernelSight/case-studies/clfs-deep-dive/)** -- 15 CVEs, the most exploited Windows kernel attack surface
72+
- **[AFD Deep-Dive](https://splintersfury.github.io/KernelSight/case-studies/afd-deep-dive/)** -- 13 CVEs, socket teardown races and Lazarus Group campaigns
73+
- **[Win32k Deep-Dive](https://splintersfury.github.io/KernelSight/case-studies/win32k-deep-dive/)** -- 12 CVEs, callback reentrancy and the evolution of exploitation
6974
- **[NTFS Deep-Dive](https://splintersfury.github.io/KernelSight/case-studies/ntfs-deep-dive/)** -- 7 CVEs, crafted VHD exploitation
7075

7176
### Additional Sections
7277

78+
- **[Dashboard](https://splintersfury.github.io/KernelSight/)** -- interactive threat matrix, searchable CVE explorer, CSV/JSON export
7379
- **[Attack Surfaces](https://splintersfury.github.io/KernelSight/attack-surfaces/)** (9) -- IOCTL handlers, filesystem IRPs, NDIS/network, ALPC, shared memory, WMI/ETW
7480
- **[Vulnerability Classes](https://splintersfury.github.io/KernelSight/vuln-classes/)** (10) -- buffer overflow, UAF, type confusion, TOCTOU, race conditions, integer overflow
75-
- **[Exploitation Primitives](https://splintersfury.github.io/KernelSight/primitives/)** (19) -- arbitrary R/W families + exploitation building blocks (pool spray, I/O Ring, WNF, token swap, PreviousMode)
81+
- **[Exploitation Primitives](https://splintersfury.github.io/KernelSight/primitives/)** (19) -- arbitrary R/W families + exploitation building blocks
7682
- **[Mitigations](https://splintersfury.github.io/KernelSight/mitigations/)** (9) -- SMEP/SMAP, kCFG/kCET, VBS/HVCI, KDP, pool hardening, KASLR
7783
- **[BYOVD](https://splintersfury.github.io/KernelSight/reference/byovd/)** -- Bring Your Own Vulnerable Driver attack pattern
7884
- **[Tooling](https://splintersfury.github.io/KernelSight/tooling/)** -- static analysis, fuzzing, debugging, patch diffing, AutoPiff integration
85+
- **[LOLDrivers Analysis](https://splintersfury.github.io/KernelSight/reference/loldrivers-analysis/)** -- 1,775 drivers analysed with automated Ghidra decompilation
7986

8087
## Quick Start
8188

@@ -88,9 +95,37 @@ Visit **[splintersfury.github.io/KernelSight](https://splintersfury.github.io/Ke
8895
```bash
8996
git clone https://github.com/splintersfury/KernelSight.git
9097
cd KernelSight
91-
pip install mkdocs-material
92-
mkdocs serve
93-
# Open http://localhost:8000
98+
pip install mkdocs-material pyyaml
99+
python scripts/build_dashboard_data.py # generate dashboard data
100+
mkdocs serve # open http://localhost:8000
101+
```
102+
103+
### Project Structure
104+
105+
```
106+
KernelSight/
107+
├── docs/ # MkDocs source (241 markdown pages)
108+
│ ├── index.md # Dashboard landing page (custom template)
109+
│ ├── overview.md # Pipeline overview page
110+
│ ├── driver-types/ # 12 driver categories
111+
│ ├── attack-surfaces/ # 9 attack vectors
112+
│ ├── vuln-classes/ # 10 vulnerability classes
113+
│ ├── primitives/ # 19 exploitation techniques
114+
│ ├── case-studies/ # 161 CVE case studies + 4 deep dives
115+
│ ├── mitigations/ # 9 kernel defences
116+
│ ├── guides/ # 6 synthesis essays
117+
│ ├── tooling/ # 5 tool guides
118+
│ ├── reference/ # BYOVD, LOLDrivers, KDU, resources
119+
│ ├── overrides/ # Custom dashboard HTML template
120+
│ └── assets/ # Dashboard JS, data JSON
121+
├── index/ # YAML data indices
122+
│ ├── cve_index.yaml # 156 CVE definitions
123+
│ ├── driver_index.yaml # Driver metadata
124+
│ ├── techniques.yaml # Technique registry
125+
│ └── autopiff_rule_map.yaml
126+
├── collector/ # Automated CVE data collector (Docker)
127+
├── scripts/ # Build scripts
128+
└── mkdocs.yml # Site configuration
94129
```
95130

96131
## Related Projects
@@ -100,12 +135,13 @@ mkdocs serve
100135

101136
## Contributing
102137

103-
Contributions welcome -- whether adding a case study, documenting a new technique, or improving existing entries.
138+
Contributions welcome, whether adding a case study, documenting a new technique, or improving existing entries.
104139

105140
1. Use the templates in `templates/` as a starting point
106141
2. Follow the schema in `index/techniques.yaml`
107142
3. Cross-reference CVEs to techniques, techniques to mitigations
108-
4. Open a PR
143+
4. Run `python scripts/build_dashboard_data.py` to regenerate dashboard data
144+
5. Open a PR
109145

110146
## License
111147

docs/overview.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22
hide:
33
- toc
4-
description: "Windows kernel driver exploitation knowledge base — 147 CVEs across 64 drivers, exploit chain patterns, BYOVD analysis, mitigations, and exploitation primitives."
4+
description: "Windows kernel driver exploitation knowledge base — 156 CVEs across 64 drivers, exploit chain patterns, BYOVD analysis, mitigations, and exploitation primitives."
55
---
66

77
<div class="ks-hero-title" markdown>KernelSight</div>
88

99
<p class="ks-hero-subtitle">
10-
A structured knowledge base for Windows kernel driver exploitation, organized as a pipeline from driver identification through privilege escalation. Covers 147 real CVEs across Microsoft inbox and third-party BYOVD drivers.
10+
A structured knowledge base for Windows kernel driver exploitation, organized as a pipeline from driver identification through privilege escalation. Covers 156 real CVEs across Microsoft inbox and third-party BYOVD drivers.
1111
</p>
1212

1313
## Recent Updates
@@ -127,7 +127,7 @@ A structured knowledge base for Windows kernel driver exploitation, organized as
127127
## Corpus
128128

129129
<div class="ks-stats-box" markdown>
130-
<span class="ks-stat-num">147</span> CVE case studies &nbsp;&middot;&nbsp;
130+
<span class="ks-stat-num">156</span> CVE case studies &nbsp;&middot;&nbsp;
131131
<span class="ks-stat-num">64</span> unique drivers &nbsp;&middot;&nbsp;
132132
<span class="ks-stat-num">57</span> exploited in the wild &nbsp;&middot;&nbsp;
133133
<span class="ks-stat-num">2</span> remotely exploitable<br>

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
site_name: KernelSight
2-
site_description: Windows kernel driver exploitation knowledge base — 134 CVEs, 62 drivers, exploit chains, mitigations, and BYOVD analysis.
2+
site_description: Windows kernel driver exploitation knowledge base — 156 CVEs, 64 drivers, exploit chains, mitigations, and BYOVD analysis.
33
repo_url: https://github.com/splintersfury/KernelSight
44
site_url: https://splintersfury.github.io/KernelSight/
55

0 commit comments

Comments
 (0)