본문 바로가기

Security study/CTF

[Reversing] xcz.kr Prob9

처음 문제 파일을 실행했더니 ID 와 PW를 입력 받길래 아무거나 입력했더니 "who are you???" 라는 문장이 나왔다. 아이디와 비밀번호를 출제자가 설정한 문자열과 같게 넣어줘야 할 것을 예측할 수 있었다.

 

(1) 처음에 hint를 안 보고 혼자 풀었던 방법

immunity Debugger 에 파일을 넣고 F8로 쭉 실행시켰을 때 "who are you???" 라는 문자열이 출력되는 부분으로 점프한다는 것을 알 수 있었다.

"who are you???"문자열이 있는 부분

"who are you???"문자열이 출력되는 주소로 점프하지 않게 하기 위해 점프하는 어셈블리어가 있는 부분 2곳을 JNZ에서 JE로 바꿔주었다. 

그 후 F8을 눌러 쭉 실행시킨 결과 출제자가 의도한 ID와 PW를 입력하지 않아도 key 값을 얻을 수 있었다.

(2) 출제자 의도에 맞게 푼 풀이

힌트에서 레지스터 창을 살펴보라고 했으므로 Debugger에서 F8을 누르면서 레지스터 창을 살펴봤다. 중간에 CMP 어셈블리어가 나오는 부분에서 특정 문자열들이 레지스터 창에 출력되는 것을 볼 수 있었다.

먼저 내가 입력한 ID인 admin과 비교되는 문자열은 XCZ 였다. 출제자가 의도한 ID 가 XCZ 라는 것을 안 후 다시 처음부터 F8로 실행시키고 ID 입력에 XCZ를 넣어주었다. PW에는 아무거나 넣어준 후 계속 실행했다.

그 후 조금 밑에서 나오는 CMP 부분에서 내가 입력한 PW인 1111과 비교되는 특정 문자열이 레지스터 창에 나온다. UNL1M1T 가 출제자가 의도한 PW인 것 같다. 다시 문제 파일을 실행시킨 후 ID 에는 XCZ를 PW에는 UNL1M1T을 넣어주었다.

key 값을 정상적으로 확인할 수 있었다.

'Security study > CTF' 카테고리의 다른 글

[Reversing] codeengn Basic RCE L06  (0) 2021.02.20
[Reversing]패킹(packing), 언패킹(unpacking)  (0) 2021.02.20
[Reversing]abex's crackme #2  (0) 2021.02.18
[Reversing] abex crackme #3  (0) 2021.02.17
[Reversing]day 1  (0) 2021.02.15