# Init Analyzer

<mark style="color:blue;">**`Windows Kernel Driver`**</mark> 취약점을 악용하기 위해서는 <mark style="color:purple;">**`Medium Integrity`**</mark>이하 권한에서 Driver에 값을 전달할 수 있어야 합니다.

상용 프로그램에서 사용되는 드라이버 100개 이상을 분석해본 결과, <mark style="color:red;">**`High Integrity`**</mark>이상의 권한에서 드라이버에 접근할 수 있는 사례도 존재했습니다.

<figure><img src="https://3902193903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvgkC9Z23OZkn4w8HEwe5%2Fuploads%2Fm9PG6fOZXF0nelhTmOhT%2F%EA%B7%B8%EB%A6%BC4.png?alt=media&#x26;token=b3d2f838-f4c6-4d14-bf1c-c68900008dab" alt="" width="375"><figcaption></figcaption></figure>

저희는 상용 프로그램을 (1) 어떤 Kernel Driver를 설치하여 사용하는지, (2) Attack Surface로서 활용 가능성(Medium 권한에서 Handle이 접근 가능한지)을 확인하는 과정을 자동화하여 빠른 시간 내 파악하고자 하였습니다.



구체적인 과정은 다음과 같습니다.

1. Installation을 수집
2. 설치 전과 후 VM의 Filesystem과 Service 상태를Snapshot하여 diff를 수행
3. 새로 생성 및 로드된 Driver를 확인
4. Driver에서 Symbol Name을 파싱
5. User 권한(Medium Integrity)으로 Handle을 획득할 수 있는지 확인

<figure><img src="https://3902193903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvgkC9Z23OZkn4w8HEwe5%2Fuploads%2FVrIoQamdQbBHP3lkTFxU%2F%EA%B7%B8%EB%A6%BC5.png?alt=media&#x26;token=78ba18e6-1a0d-4061-a389-daddf4043bd1" alt=""><figcaption></figcaption></figure>





