여기서는 실제로 피치를 사용해 보겠다.
먼저 pit 파일(m3u.xml)을 peach 폴더에 넣는다.
그리고 명령 프롬프트를 관리자 권한으로 실행하고 (peach.exe도 관리자 권한으로 실행 설정) 피치 폴더로 간다.
이제 만든 pit 파일을 테스트해 보겠다.
> peach -t m3u.xml
이상이 없다고 나온다면 좋은거고 혹시 틀렸더라도 틀린 이유도 같이 나오기 때문에 잘 찾아가면서 고칠 수 있다.
이제 이상이 없다고 보자.
> peach -1 --debug m3u.xml
완료됬다고 떠야한다.
그럼 피치 폴더에 fuzzed.m3u라는 파일이 생길 것이다.
이걸 복사해서 다른 곳에 놓고 저 명령어를 한번 더 실행하자. fuzzed.m3u 파일이 또 생길 것이다.
이 두 개의 m3u 파일이 다르다면(DataModel 설정을 잘 못하면 가끔 변이가 안될 수 있다) 잘 된 것이므로 이제 시작한다.
> peach --debug m3u.xml
이제 피치가 퍼징을 시작한다.
(--debug 옵션은 빼도 된다.)
그럼 피치 폴더 안에 logs라는 폴더가 생길 것이고 그 안에 "m3u.xml_2016..." 등의 파일이 생긴다.
그곳에 들어가 보면 파일과 폴더들이 존재한다.
status.txt : 그냥 상태를 보여준다. 디폴트로는 언제 시작했는지와 몇 번째 반복인지(100번 마다 시간 기록해줌) 그리고 몇 번째 반복 시에 Fault가 발견되었는지가 적힌다.
Reproducing : 크래시를 발견하고 확인하는 중이다.
Faults : 분석된 크래시들. 들어가 보면 EXPLOITABLE 같은 폴더들이 생성되고 있다. 각 발견된 반복의 이름(4 같이)의 폴더가 있고 들어가 보면 MSEC을 통한 취염점 결과 리포트와 크래시를 일으킨 fuzzed.m3u 파일(1.Initial.Action.bin이라는 이름 등으로)이 존재한다.
NonReproducable : 피치가 발견된 모든 크래시를 Reproduce하고 분석할 수 있는 것은 아니며 그냥 그러려니하자.
Pit을 작성하면서 보았겠지만 피치는 크래시 발생 시 Windbg의 MSEC.dll이라는 익스텐션을 실행시켜서 이것을 통해 취약점을 분석한다.
이것은 예외가 발생했을 때 exploit 가능한지를 판단해 주고 이외의 여러 유용한 정보들을 제공한다.
왜 MSEC냐면 Microsoft Security Engineering Center에서 만든 것이기 때문.
'보안' 카테고리의 다른 글
| mona.py - corelan 팀 (취약점 분석 도구) (0) | 2016.07.08 |
|---|---|
| 퍼징 이후의 취약점 분석하기 (0) | 2016.07.08 |
| 피치 퍼저 (Peach Fuzzer) 2 - Pit 파일 (1) | 2016.07.08 |
| 피치 퍼저 (Peach Fuzzer) 1 - 설치 (0) | 2016.07.08 |