# 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>
