블로그 이전했습니다. https://jeongzero.oopy.io/
[CodeEngn] Basic RCE L02
본문 바로가기
워게임/CodeEngn

[CodeEngn] Basic RCE L02

728x90

문제 2. 

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

 

2번 문제는 패스워드로 인증하는 프로그램이 손상되어 실행이 안된다고한다. 그렇다면 프로그램을 실행시켜 패스워드를 확인해야하는 문제를 어떻게 해결할 것인가? 로 보면 될 것같다.

 

바로 실행을 한번 시켜보자.

 

 

우선 나의 첫번째 접근은 다음과 같다.

 

 

 

1. 윈도우 설정 문제

 

구글에 해당 문구를 그대로 쳐보았다. "현재 PC에서는 이 앱을 실행 할 수 없습니다"

 

다음과 같은 블로그에서 해당 문구의 해결책을 제시해 주었다.

 

https://kimsgomul.tistory.com/256

 

1. 사용자 계정 컨트롤 설정 문제

 

2. 로컬 보안 정책 설정 변경 문제 

 

3. 권한 설정 문제

 

4. 기본 프로그램 연결 설정 문제

 

먼가 딱봐도 해당 문제는 아닌 거 같긴했지만 위 블로그에 나와있는 해결책을 따라해보았다.

 

하지만 역시는 역시. 해결이 되지 않았고  바로 두번째 접근방법을 이용하였다.

 

 

 

2. PE 파일 분석

 

PE 파일이란 윈도우에서 실행할 수 있는 프로그램을 말한다. 

 

(PE파일을 제대로 분석하려면 많은 사전지식도 필요하고 알아야 할 스킬도 많지만, 해당 문제를 풀기위해서 필요하건 단순히 주어진 프로그램, 즉 PE파일을 헥사코드로 열어서 보면 답이 나온다.)

 

HXD라는 에디터를 사용하여 프로그램을 열어보자.

 

 

헥사코드의 맨 앞 두바이트를 보면 4D 5A로 되어 있는데 이는 아스키 값으로 MZ로 표시되어 있다.

 

MZ의 의미는 다음과 같다.

 

출처 : 위키백과

 

요약하자면 MZ는 해당 프로그램이 .EXE의 실행파일에 사용되는 파일 형식을 의미한다.

 

따라서 MZ로 표시되어 있기 때문에 해당 프로그램은 PE파일 임을 확신할 수있다. (그중 .EXE 확장자의 실행파일)

 

 

사실 여기서 더 할 수 있는건 없다.

 

헥사 코드를 밑으로 내려보다 보면 정답으로 유추 할 수 있는 부분이 있는데 해당 부분을 정답에 올려보니 해결이 되었다. 2번문제는 딱히 사전지식 없이 센스만 있으면 바로 해결할 수 있는 문제인 거같다.

 

 

 

 

 

3. 결론

 

이번 문제에서 얻게 된것은 MZ 라는 파일 시그니처는 PE 파일 중 .EXE 실행파일의 매직넘버라는 것을 알게 되었다.

그리고 추후에 PE파일을 공부를 깊이 한번 들어가 볼 것이다.

728x90

'워게임 > CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L07  (0) 2020.12.28
[CodeEngn] Basic RCE L05  (0) 2019.05.17
[CodeEngn] Basic RCE L04  (0) 2019.05.16
[CodeEngn] Basic RCE L03  (0) 2019.05.16
[CodeEngn] Basic RCE L01  (0) 2019.05.16