# Windows Driver 0-day Research

## :clap: Introduction&#x20;

Windows Kernel Driver에 대한 약 100일 동안의 연구 과정을 요약하기 위해 작성된 문서입니다.

## :tada: Our **Achievements**

* **120+ Reporting**
  * **100+ Security Bugs (Report to Vendors)**
  * **20+ LPE (Local Privilege Esclation)**
* **Especially, Find 11 security bugs and Get 3 CVE from Microsoft built-in Driver**

## :dart: Our Goal&#x20;

Windows Kernel Driver 취약점을 찾는 데에는 두 가지 방법을 사용했습니다.&#x20;

1. Binary Analysis에서 얻은 경험을 기반으로
2. Fuzzer를 제작하여 Fuzzing을  수행

이로써 프로젝트 기간 중 target으로한 Driver에서 취약점을 발견할 뿐만 아니라 Offensive Researcher 및 Driver Developer가 공격자보다 손쉽고 빠르게 취약점을 찾아낼 수 있도록 하여 최종적으로 Windows 생태계 보안에 지속적인 기여를  하는 것을 목표로 했습니다.

## :gem: Why?

저희는 취약점이 곧 사용자가 많은 제품에서 발생될 때 큰 가치를 지닌다고 생각하였습니다. 따라서 전세계에서 다양한 용도로 널리 사용되는 Windows에서, 특히 OS 전체에 영향을 끼칠 수 있는 Kernel Driver를 대상으로 선정하게 되었습니다. 또한사용자 모드 응용 프로그램과 달리 Kernel Driver는 최대 <mark style="color:red;">`SYSTEM`</mark> 권한까지 침해될 수 있어 그 중요성이 더욱 큽니다.

<figure><img src="https://3902193903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvgkC9Z23OZkn4w8HEwe5%2Fuploads%2FjnMmGIvhh23RGrzgK84A%2F%EA%B7%B8%EB%A6%BC1.png?alt=media&#x26;token=588378b8-8616-4681-8cf3-e30709f3e31c" alt="" width="375"><figcaption></figcaption></figure>

예를 들어 SECURELIST by Kaspersky에 발행된 ["Nokoyawa ransomware attacks with Windows zero-day"](https://securelist.com/nokoyawa-ransomware-attacks-with-windows-zero-day/109483/) 포스트에서  Windows Kernel Driver가 In-the-Wild에서 Exploit된 사례를 확인할 수 있습니다.&#x20;

공격자는 Windows CLFS.sys 드라이버의 LPE 취약점을 exploit하여 권한 상승을 수행한 다음, Post Exploit으로 백도어를 감염시킨 뒤 Nokoyawa 랜섬웨어를 최종 페이로드로 배포하려고 시도했습니다.

<figure><img src="https://3902193903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvgkC9Z23OZkn4w8HEwe5%2Fuploads%2F9uwU2f3UBiwHHtDX1rUp%2Fimage.png?alt=media&#x26;token=0d0c5b5a-164e-4a5a-8b49-03146874e38d" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://today-0day.gitbook.io/main/introduction/windows-driver-0-day-research.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
