본문 바로가기
파이썬 스터디 과제/파이썬 해킹 프로그래밍

10장-윈도우 드라이버 퍼징_4(드라이버 퍼저 작성)

by laoching 2015. 2. 17.
728x90
반응형

첫 번째 단계는 Immunity 디버거 내에서 실행시킬 IOCTL-덤핑 PyCommand를 작성하는 것이다. ioctl_dump.py라는 새로운 파이썬 파일을 만들자.

ioctl_dump.py

이는 매우 간단한 PyCommand다.

IOCTL 코드 리스트와

디바이스 이름 리스트를 구해 그것을

dictionary에 저장하고 dictionary를 다시

파일에 저장한다. 단순히 대상 드라이버를 Immunity 디버거에 로드하고 !ioctl_dump로 PyCommand를 실행시킨다.

pickle 파일은 Immunity 디버거 디렉토리에 저장된다.


이제 디바이스 이름과 지원되는 IOCTL 코드 값을 구했다.

그것을 이용하는 간단한 퍼저를 작성하자.

my_ioctl_fuzzer.py

pickle 파일에서 IOCTL 코드와 디바이스 이름 리스트를 추출한다.

그리고 추출한 모든 디바이스 이름을 이용해 올바른 핸들을 구할 수 있는지 확인한다.

핸들을 구하지 못하는 디바이스 이름이 있다면 그것을 디바이스 이름 리스트에서 제거한다.

임의의 디바이스 이름과 IOCTL 코드를 선택하고 임의의 길이 입력 버퍼를 만든 후 선택한 IOCTL 코드를 드라이버 에 전달한다.

퍼저를 실행시키려면 단순히 퍼징 테스트 케이스 파일에 대한 경로와 함께 다음과 같이 명령한다.

728x90
반응형

'파이썬 스터디 과제 > 파이썬 해킹 프로그래밍' 카테고리의 다른 글

11장-IDAPython, IDA Pro 스크립팅  (0) 2015.02.18
10장-윈도우 드라이버 퍼징  (0) 2015.02.17
9장-sulley  (0) 2015.02.16
8장-퍼징_2 파일퍼저  (0) 2015.02.15
8장-퍼징  (0) 2015.02.10

댓글