PyKD Basics
PyKD는 윈도우즈의 기본 디버거이면서 가장 파워풀한 디버거중의 하나인 WinDbg의 API들을 Python을 통하여 접근할 수 있게 해주는 툴입니다. PyKD를 사용하여 윈도우즈 리버스 엔지니어링의 기본을 설명하는 클래스입니다. 레벨 3의 난이도를 가지고 있는 리버스 엔지니어링 중급자를 대상으로 합니다.
트레이닝 기본 정보
Name | Details |
---|---|
Code | 203 |
Title | PyKD Basics |
Level | 4 |
Prerequisites | TBD |
Days | 1 |
Price | 110만원 (부가세 포함) |
Prerequisites
- 디버거의 작동 방식에 대한 기본적인 이해
- WinDbg에 대한 기본적인 이해
- 윈도우즈 시스템과 프로세스 등에 대한 기본적인 이해
- Python 언어 사용법에 대한 이해
트레이닝 내용
PyKD를 통하여 그 동안 수동으로 사용했던 여러 반복적인 작업들이나 명령으로 처리하기에는 너무 복잡한 로직을 Python의 로직으로 설계하고 작성할 수 있습니다. 이를 통해서 말웨어 분석이나 익스플로잇 분석, 또한 더 나아가서 익스플로잇 작성 과정의 여러 분석과 테스트 작업을 자동화할 수 있습니다.
이 트레이닝을 통해서 PyKD의 필요성과 기본적인 명령과 프로세스, 덤프 파일에 대해서 접근하는 방법을 설명합니다. 수많은 API들을 개념별로 정리하여 설명합니다. 특히 윈도우즈 내부 구조체들을 분석할 수 있는 여러 명령들과 그 명령들의 기본 사용법을 사용하여 메모리 덤프에 대한 포렌직한 관점에서 접근할 수 있는 기반을 제공합니다.
실습이 70% 정도의 비율로 할당되어 있으며, 가장 기본적인 브레이크 포인트와 메모리 분석 예제 코드로부터 시작하여, 조금 더 어려운 단계의 복잡한 브레이크 포인트 오퍼레이션, 이벤트 핸들러 작성 등에 대한 예제 학습을 통하여 익스플로잇 분석 등을 위한 목적으로 윈도우즈 컴퍼넌트 들의 행위를 모니터링하는 예제 디버깅 프로그램을 작성 합니다. 또한 몇몇 높은 퀄리티의 실습 덤프 파일 제공을 통하여 더 높은 수준의 분석 스크립트 작성을 위한 준비 단계를 위한 스크립트 작성을 연습합니다.
추가로 커널 디버깅을 위한 PyKD 사용법과 실습, 그리고 프로세스 구조체나 추가적인 말웨어 룻킷을 스캐닝할 수 있는 여러 개념적인 스크립트 작성등의 목표를 수행할 수 있도록 합니다.