본문 바로가기

CodeEngn

[CodeEngn] Basic RCE L04

<문제>

 

<풀이>

01번 문제(https://studyforall.tistory.com/65)를 풀었을 때와 같이 문제 파일을 다운로드하고,

7-Zip File Maneger로 압축을 푼다.

 

04.exe 파일을 실행해본다.

검은색 창이 열리고 알 수 없는 특수문자가 한 줄씩 출력되는데,

문제에서 이 프로그램이 디버거 프로그램을 탐지하는 기능이 있다고 한 것으로 보아

디버거 프로그램 탐지가 이루어지고 있는 것으로 추측할 수 있다.

 

올리디버거를 이용해 04.exe 파일을 열어보았다.

우선 F8을 눌러 명령어를 한 줄 씩 실행해보았다.

화면의 한쪽에는 디버거를 한 줄 씩 실행하고 한쪽에는 실행되고 있는 프로그램을 두어서

어느 명령어가 실행됐을 때 디버거 프로그램 탐지가 작동하기 시작하는 지 확인하려고 한다.

 

00408454 주소에 있는 CALL 명령어를 실행하는 시점부터

디버거 프로그램을 탐지하는 특수문자가 찍히기 시작했다.

해당 주소의 명령에 breakpoint를 찍고

프로그램을 중단한 뒤 다시 처음부터 실행시키기 시작했다.

 

실행하다가 breakpoint가 걸린 부분에서 F7을 눌러서 step into 하였고

계속 F8로 한 줄 씩 진행했다.

 

그렇게 한 줄 씩 진행하다가 발견한 코드에서

IsDebuggerPresent 라는 매우 수상한 이름의 함수를 발견했다.

 

 

<정답제출>

코드엔진 Auth 페이지에서 Key 값으로 IsDebuggerPresent를 입력하니 Success!!가 떴다.

'CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L06  (1) 2023.11.02
[CodeEngn] Basic RCE L05  (0) 2023.09.23
[CodeEngn] Basic RCE L03  (0) 2023.09.23
[CodeEngn] Basic RCE L02  (0) 2023.09.23
[CodeEngn] Basic RCE L01  (0) 2023.09.23