Disk Forensic #11 (fore1-hit-the-core)

 

디스크 포렌식 11번 문제

 

주어진 문제 파일의 확장자는 거의 처음 보는 core라는 확장자의 파일이다.

 

해당 파일의 자세한 정보 확인을 위해 file 명령어를 사용하여 확인하였다.

 

[그림 1] file 명령어 사용

 

file 명령어를 사용해 확인해보면 ELF 형식의 파일이라는 것을 확인 가능하다.

 

ELF 형식의 파일과, core 확장자로 미루어 보아 해당 파일은 코어 덤프 파일이라는 것을 추측할 수 있다.

 

코어 덤프 파일은 컴퓨터 프로그램이 특정 시점에 작업 중이던 메모리 상태를 기록한 것으로,

보통 프로그램이 비정상적으로 종료했을 때 만들어짐

 

따라서 메모리 내용이 기록되어 있으므로 플래그 값도 기록되어 있는지 확인을 위해 문자열 검색을 통해 플래그에 대한 정보를 분석하였다.

 

[그림 2] strings 명령 사용

 

문자열 확인을 위해 strings 명령을 통해 분석하였다.

 

분석하던 도중, 여러 문자열 중에서 이상한 문자열을 확인하였다.

 

[그림 3] 이상한 문자열 확인

 

겉으로 보기에는 일반 문자열 같지만, 플래그의 형식에 들어가는 _ 문자와 {} 문자가 들어가 있는 것을 이상하다고 생각하였다.

 

자세히 분석해보면 위 문자열은 플래그에 대한 간단한 규칙이 있다.

 

중괄호 앞에 대문자 글자들만 확인해보면 ALEXCTF라는 문자열을 확인하였고, 이 문자열은 플래그 포맷에 해당하는 문자열이다.

 

또한 해당 문자열이 A부터 시작하여 5번째 마다 대문자 문자가 있는 것을 확인 가능하며, 해당 규칙이 플래그 값을 추출해내는 규칙이라고 추측해볼 수 있다.

 

[그림 4] 문자열 조합

 

화면대로 문자열을 규칙대로 조합해보면 하나의 플래그가 만들어진다.

 

문자열 추출을 위한 코드를 Python으로 작성하면 다음과 같다.

 

[그림 5] Python 코드

 

따라서 추출한 문자열을 플래그로 입력하게 되면, 문제를 해결할 수 있다.


# Reference

 

http://www.yes24.com/Product/Goods/59156934

+ Recent posts