한창 bob 과제로 바쁘다가.. 이제는 좀 여유로워 졌습니다.


대학교 원서도 넣어야 하고 bob 프로젝트도 해야하고 다시 또 바쁜 한달이 될것 같습니다.. -_-;;;



BOB수업때 심준보 멘토님의 윈도우 Exploit에 대한 내용을 보고 배우던 여러가지중 기억에 남는게 하나 있습니다.


프로그램의 취약점을 찾기위해 Fuzzing을 하고 나온 크래시들을 이용해서 Exploit하는데


크래시를 분석하는게 상당히 노가다입니다. 그래서 그나마 쉽게 1차적으로 분류하는 것을 간략하게 배웠습니다.


윈도우 프로그램들을 퍼징해서 나온 크래시들을 분류할때 여러 방법이 있고


크게 4가지로 분류한다고 하셨는데 이것이 MS에서 분류 하는것이라고 하시더군요!


그래서 더 듣고보니 이번 1월달 취약점을 Exploit할때 접했던 WinDBG의 확장 모듈인 MSEC.dll 의 Exploitable 플러그인이었습니다.


국내엔 별로 자료가 없는것 같아 한번 올려봅니다.


일단 이 Exploitable 이란 플러그인은 크래시가 난 형태를 파악하고 등급을 매겨 크래시가 exploitable 한지 1차적으로 판단해주는 플러그인입니다.


하지만 이는 프로그램일 뿐이고 전후 상황을 몰라서 100% 신뢰하기는 어렵지만 1차적으로 유니크 크래시를 분류하기는 유리합니다.




다운로드 링크 : http://msecdbg.codeplex.com/releases/view/24667

다운로드 [티스토리]


MSECExtensions.zip


압축 파일 안의 binaries/x86/msec.dll 을 windbg/winext 폴더에 넣어줍니다


!exploitable

Gives an analysis, including a proposed bug title

!exploitable -v
Gives a verbose analysis

!exploitable -m
Gives the same output as -v, but formatted for easy machine parsing

!exploitable -jit:address
Use the JIT Exception Record to determine the exception




!load msec // 플러그인 로딩

!exploitable // 플러그인 사용하기


그런 다음 msec를 로딩하고 플러그인을 사용하면 다음과 같이 크래시를 분석해서 결과를 나타내 줍니다.


결과는 총 4가지로 분류됩니다.


Exploitable

Probably Exploitable

Probably Not Exploitable

Unknown.


주로 유니크 크래시를 선정할땐 exploitable 로 기준을 잡으셔서 분류하시면 되겠습니다.


주의점은 이 플러그인은 크래시를 기준으로 분류하기 떄문에 Access Violation이나 Integer Overflow 등 이런 오류가 먼저 난 다음에 사용하셔야 합니다.


그리고 위에서도 언급했지만 100% 신뢰를 할순 없습니다. Probably Not Exploitable 이 나왓지만 실제론 Exploitable 할수 있습니다. [실제 경험.. ^^;]


그럼 재밌는 취약점 많이 찾으세요!

+ Recent posts