문제 : 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오

 

실행파일을 실행해보면

라고 뜬다.

이 말은, Olly-Dbg로 하는 동적 분석이 불가능함을 알 수 있다.(당연히 STUD_PE도 안됨)

 

동적 분석이 불가능하면 정적 분석을 해봐야 하는데 가장 대표적인 방법이

Hex Editor로 열어보는 것이다.

 

이렇게 프로그램은 16진수의 코드로 이루어져 있다.

 

이 16진수 코드들을 하나씩 살펴보자.

중간에 내리다 보면 이런 부분이 있다.

이 부분에서는 어떤 것을 찾아낼 수 없을 것 같다.

 

다시 더 내려보자.

이 부분은 왠지 프로그램이 사용한 함수들의 이름이 적혀 있는 것 같다.

1. DialogBoxParamA

2. EndDialog

3. GetDlgItemTextA

4. MessageBoxA

5. SendMessageA

 

6. USER32.dll

7. ExitProcess

8. GetModuleHandleA

9. Kernel32.dll

 

일단 더 내려보자. 위의 부분에서 뭔가를 찾을 수는 없을 것 같다.

더 내리다 보면 위와 같은 부분도 있다.

ADDialog.ArturDents CrackMe#1 : 이 부분은 해당 파일의 Authur 이름과 동일하므로 패스.

Nope, try again! : 패스워드 인증 실패 시 나오는 오류 메시지인 것으로 추정.

Yeah, you did it! : 패스워드 인증 성공 시 나오는 성공 메시지인 것으로 추정.

Crackme #1 : ??? 단순히 프로그램 이름같다.

JK3FJZh : 아마 이부분이 정답 문자열인 것으로 추정.

 

 

왜 JK3FJZh을 정답 문자열로 생각했나?

1. 우선 16진수에서 저렇게 수상하게 ASCII 타입으로 출력되는게 이상함.

2. 다른 문자열과 비교해봤을 때, 가장 패스워드 적인 문자열.

3. 다른 문자열이 다들 의미가 없음.

 

실제로 마지막 부분을 보면

마지막 부분에는 의미없는 문자열로 가득 차 있다.

 

Basic RCE L02는 Hex Editor를 통해 정적 분석을 아주 조금이라도 할 수 있는지 체크하는 문제인 것 같다.

'보안 & 모의해킹 > CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L04 풀이  (0) 2019.07.01
[CodeEngn] Basic RCE L03 풀이  (0) 2019.07.01
[CodeEngn] Basic RCE L01 풀이  (0) 2019.07.01
Posted by NDC :