문제 : 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오
답 : JK3FJZh
일단 평소대로 문제 파일을 실행해 보았다. 그랬는데 이상하게 이런 화면이 뜨며 앱을 실행할 수 없다고 한다.
평소에 문제파일은 항상 정상적으로 실행된다는 고정관념을 가졌던 나는 어? 문제 파일이 누락됐나? 라며 구글링을해서
헥스에디터로 열어야 한다는 것까지 확인후 나 스스로 풀어보았다.
참고 글 : https://jie0025.tistory.com/26
일단 헥스 에디터로 막연하게 파일을 열어 보았다. 그랬더니 무언가 잔뜩 떴다. OllyDbg로 리버싱을 하며 자주 봤던
것들이였다. 일단 비밀번호를 찾는 것이니 아무거나 얻어 걸려라는 마음으로 옆에 보이는 텍스트 부분을 죄다 훑어보았다.
스크롤 하면서 살펴보니 조금 의심스러워 보이는 부분이 몇군데 있었다.
일단 사진 1에서는 무언가 대충 감이 오는 글들이 있길레 자세히 살펴보았다. 보아하니 dll파일을 불러오는 부분인것 같은데 정확히는 모르겠고 여기에 비밀번호같은것으로 추정되는건 보이지 않아 일단 넘겼다.
사진 2에서는 무언가 정답의 느낌이 났다. 일단 아마 파일이 손상되기 전에는 성공시 "Yeah, you did it!"이라는 텍스트를 보여주는 캡션이 Crackme#1.이라는 메시지박스를 띄웠을 거라고 대충 예상해보았다. 반대로 실패시에는 "Nope, try again!"이라는 텍스트를 보여주는 마찬가지로 캡션이 Crackme#1인 메시지 박스를 띄울것이라고 생각해 보았다.
(사실 여기서 이것가지고는 메시지 박스를 띄우는지 알수는 없다. 그냥 전에 풀었던 것과 느낌이 비슷해서 추측해보았다.)
아무튼 "Yeah, you did it!"밑에 JK3FJZh라는 비밀번호같이 생긴 텍스트가 있어서 비밀번호라고 예상하고
코드엔진 문제 채점기에 가서 입력해 보았다.
결과는 맞았다고 떴다.
Comment는 내가 입력한 것이 아니다.
아무튼 이번 문제도 문제 자체는 단순했지만 나에겐 약간 충격적이였다. 이때까지 리버싱을 할땐
DIE(Detect It Easy), LoadPE, OllyDbg 정도만 쓰는 줄 알았는데 헥사 에디터도 쓸 수 있다는건 몰랐다.
또한 실행파일을 OllyDbg로 열수 없고 손상되어있다고 문제가 잘못된것이 아니라는 교훈도 얻었다.
꼭 명심하자.
그리고 나는 왜 헥사 에디터로 여는지 궁금했는데 정작 문제를 풀고 다른 풀이들을 찾아보니 헥사 에디터로 열어야 한다는 것만 이야기하고 왜 헥사 에디터를 사용하는지는 언급하지 않아서 조금 아쉬웠다. 아무튼 추가로 검색해보니 헥사 에디터가 파일 내부의 문자열을 들여다보는데 사용되기도 한다. 라는 정보를 얻었다.
출처 : http://mwultong.blogspot.com/2006/07/qna-hex-editor-winhex.html
아무튼 해킹 문제는 다양하게 출제된다는 말을 들은적이 있는데 그때는 무슨 말인지 와닫지 않았지만 이 문제를 통해
조금 와닫게 되었다. 해킹 공부를 할때는 고정관념을 부서뜨리고 문제를 풀어야 겠다.
'리버싱 > 리버싱 문제 코드엔진' 카테고리의 다른 글
코드엔진 Basic RCE L06 (0) | 2021.07.13 |
---|---|
코드엔진 Basic RCE L05 (0) | 2021.05.25 |
코드엔진 Basic RCE L03 (0) | 2021.05.18 |
코드엔진 Basic RCE L01 (0) | 2021.05.13 |
코드엔진 Basic RCE L04 (0) | 2021.03.20 |