이메일을 적으시면 보안관련 소식을 받을수 있습니다.
이메일:

안녕하세요 호환입니다. 어제밤부터 오늘오전까지 일산에선 비가 내려서 그런지 바람도 많이불고 시원하네요.
오늘은 크랙미 15번을 풀어볼까 합니다.키 파일과 관련된 문제입니다.

키파일(KeyFile)이란?

인증을 위해서 시리얼키를 원하는 것과 비슷하게 키값을 파일에 저장하거나 어떤 파일 이름이 같은 위치에
있는 것을 확인하는 인증을 할때 사용되는 파일.

키파일의 설명은 위와 같습니다. 키파일류의 문제에선 파일이나 레지스트리 사용값을 확인하기위해
모니터링 툴을 사용하게 되는데요. 우리는 마이크로소프트사의 Filemon이란 프로그램을 사용할것입니다.
일단 문제와 Filemon을 다운 받도록 하겠습니다.

FileMon Down!!
Crackme-15 Down!!


프로그램을 실행시키면 전광판 같은 화면만 뜨는것을 볼 수 있습니다.


올리디버거로 실행파일을 읽어온후에 텍스트찾기를 사용하여 문제풀이와 관련된 스트링이 있는지
찾아보다보면 solved 란 스트링과 바로밑에 제작자가 힌트를 주기위한 File-monitor 라고 씌여 있는 부분을
발견하실수 있을겁니다.


이제 아까 다운받아놓은 파일몬을 사용하여 문제파일을 열어보도록 하겠습니다.
파일몬을 처음 실행하면 현재 OS상에서 동작하고 있는 모든 시스템을 모니터링 하는걸 보실수 있습니다.
Option 에서 Filter/Highlight 를 클릭하여 문제파일만 모니터링 하도록 Include 하도록해보겠습니다.
Include 창에 Project1.exe 를 입력한후 이벤트를 캡쳐해보면 실행파일이 있는 곳의 Kernel32.dll을 찾는것을 알수 있습니다.


일단 Kernel32.dll 파일을 복사하여 실행파일이 있는 경로에 저장한후 다시실행시켜보도록 하겠습니다.

하지만 처음과 똑같이 A라는 글자만 계속해서 뜨는것을 볼수 있을겁니다. 잘못된것이 아니라 제대로 된것입니다.
파일몬을 사용하여 다시 이벤트를 캡쳐해보면 아까완 다르게 일단 Result값이 Success가 뜨는것을 알 수 있습니다.


다시 올리디버거로 돌아와 Solved 라고 스트링이 입력된 부분의 동작을 확인해보도록 하겠습니다.
mov 명령으로 EDX 에 solved 란 문자열을 입력하고 Project1.~ 를 call 해오는 것을 보실수 있으실겁니다.
그리고 solved 를 출력하는 부분의 바로 아래 분기문이 도착하는 부분도 보이구요.


분기문을 역으로 추적한후에 분기문의 목표경로를 solved문 입력이 시작되는 00442590 으로 수정해 주도록 합니다.
 

다시 실행을 시켜보면 SOLVED 란 문자가 출력되는것을 알수가 있습니다.


하지만 오늘은 여기서 끝내지 않습니다. 분기문을 수정하는것만으로도 문제를 풀수 있지만 오늘은
아래에 있는 HexDump 창의 Binary값을 직접 수정하여서 문제를 다시 풀어보도록 하겠습니다.
방금전 분기문을 수정한후 변환된 바이너리 값을 보시면 EB 7A 90 90 90라는 값이 있는것을 볼수있습니다.
현재는 다시 따로 저장을 안하고 다시 불러왔기 때문에 원래의 값인 E9 8E000000 인것을 볼수 있습니다.


이부분에 마우스 오른쪽클릭을 한후 나타나는 메뉴의 Binary를 선택하여 Edit 를 선택한후 EB 7A 90 90 90
으로 값을 변셩해 주도록 해보겠습니다.


바뀐값을 확인한후 다시 실행시키면 아까와 동일한 결과를 출력하는것을 확인할수 있습니다.


이제 수정된 파일을 저장하시면 Solved라고 뜨는 파일을 생성하실수 있을겁니다. 이상 오늘의 리버싱을
마치도록 하겠습니다.

Solved File Down!!

이포스팅은 호환의IT이야기(http://tigernet.tistory.com)에 공동기재되고 있습니다.


****************************************************************************************************

본 포스팅의 저작권은 보안인닷컴과 작성자에 있으며 상업적 이용을 배제하며 콘텐츠 이용시에는 반드시 출처와 링크를 이용해 주시기 바랍니다. 무단도용은 저작권법에 저촉을 받습니다..

****************************************************************************************************

Posted by NIMD4

댓글을 달아 주세요

  1. Favicon of https://www.sis.pe.kr BlogIcon 엔시스 2009.09.16 21:23 신고  댓글주소  수정/삭제  댓글쓰기

    잘 읽었습니다...자주 포스팅 부탁드립니다.

  2. Favicon of https://dododo7.tistory.com BlogIcon 도로상 2009.09.17 21:55 신고  댓글주소  수정/삭제  댓글쓰기

    리버싱 자료 감사합니다~ 저도 리버싱에 버닝해야되는데 못하고 있네요 ~ㅠㅠ

  3. Favicon of https://boanin.tistory.com BlogIcon John_G 2009.09.22 02:15 신고  댓글주소  수정/삭제  댓글쓰기

    어디서 많이 본 크랙미라 생각했더니 이전 simples에 나왔던 문제 였군요 하핫 ^^
    그놈의 논문 준비 하느라 개인공부도 간간히 하고 있다는 ;;
    글 잘 읽었습니다 ^^ 호환님 글은 상당히 흥미로운 내용들이 많군요 ^^