Multimedia Forensic #10 내 친구는 이것이 특별한...

 

10번 문제

 

주어진 파일을 다운로드하면 img 이름으로 된 jpg 확장자 파일을 받을 수 있습니다. 하지만 이 문제의 키 포맷은 플래그가 아니라고 합니다.

 

JPG 파일 확인

 

파일을 열어보면 KEEP CALM AND CAPTURE THE FLAG라고 써져 있는 사진이 보입니다.

 

밑에는 CAPTURE THE FLAG라고 적혀 있습니다.

 

아직은 어떤 방법으로 풀 문제인지 잘 모르겠어서 HxD를 실행시켜서 JPG 파일 시그니처를 확인하였습니다.

 

HxD 실행 화면

 

JPG 시그니처 확인

 

정확한 JPG 파일 시그니처는 맞았지만, 아스키코드에서 플래그 같이 이상한 문자열을 확인할 수 있습니다.

 

이상한 문자열 확인

 

딱 보기에도 플래그 값처럼 되어 있어서 파일 시그니처 뒤에 나오는 값들은 파일에 대한 속성 값이 기록되어 있는 경우가 많습니다. 

 

속성 확인

 

파일 속성 창을 확인해 보면 저작권에 확인했던 문자열이 기록되어 있는 것을 볼 수 있습니다.

 

다른 도구들을 쓰지 않고 간단하게 풀 수 있는 문제입니다.

 

FLAG = h1d1ng_in_4lm0st_pla1n_sigh7

Multimedia Forensic #8 Three Thieves Threw Trumpets Through Trees

 

8번 문제

 

문제 제목을 보고 자세히 이해가 되지 않아서 바로 image1 이름으로 된 jpg 파일을 다운로드하였습니다.

 

jpg 파일 형식 지원 안됨

 

다운로드하고 파일을 열자마자 이 파일 형식은 지원되지 않는다고 나옵니다..

 

왜 지원이 안 되는 거지? 해서 HxD로 맞는 파일 시그니처인지 확인해보았습니다.

 

 

JPG 파일의 헤더 시그니처

 

정상적인 JPG 파일이면 맨 앞의 시그니처는 셋 중에 하나가 나와야 정상입니다.

 

JPG와 다른 시그니처

 

하지만 JPG 파일의 시그니처와는 전혀 다른 파일의 헤더 시그니처입니다.

 

WAV 파일의 시그니처

 

해당 시그니처를 검색해본 결과, WAV 음악 파일의 헤더 시그니처입니다.

 

그래서 바로 확장자를 JPG에서 WAV로 바꾸어 주었습니다.

 

WAV 음악 파일로 실행하면 어떤 소리가 매우 빠르게 들립니다.

 

음성 분석을 위해서 Audacity 프로그램으로 파일을 분석하였습니다.

 

Audacity : 음악 파일 편집 기능을 제공하며, 여러 가지 유용한 기능을 제공하기 때문에 MP3 음악 파일 분석 도구로도 사용되고 있습니다.

 

설치 사이트 : https://www.audacityteam.org/download/

 

Download | Audacity ®

Download Audacity Download the free Audacity audio editor for Windows, Mac or Linux from our download partner, FossHub: Audacity is free of charge.  No registration or hardware purchase required. Screen-Reader Version on macOS 64-Bit Audacity on Windows is

www.audacityteam.org

Audacity 실행 화면

 

Audacity를 실행하고 [파일] - [가져오기] - [오디오]를 선택해서 문제 파일을 불러오면 됩니다.

 

소리를 들어보면 1초만에 빠른 소리가 들립니다.

 

전혀 알아들을 수 없는 소리여서 아마 백 마스킹 기법을 사용한 것 같습니다.

 

백 마스킹 : 정상적인 음성을 역방향으로 재생해서 원래의 음성을 듣지 못하게 하는 기법

 

그래서 다시 원래대로 되돌리기 위해서는 역방향 기능과 속도 조절 기능이 필요합니다.

 

효과 기능

 

Audacity의 효과에서 수많은 기능들 중에 뒤집기:좌우로 바로 역방향 기능입니다.

 

 

 

뒤집기:좌우로 기능

 

적용해주시면 정말 역방향으로 바뀌게 됩니다.

 

재생 속도는 우측 상단의 재생 속도가 1로 되어 있으면 느리게 하기 위해 0.1~0.9로 맞춰주시면 됩니다.

 

재생 속도를 조절하면서 소리를 듣던 중, 0.25~0.3의 재생 속도로 맞추니까 플래그 값 소리가 들렸습니다.

 

The password is abracadabra라는 소리가 약하게 들리지만, 그래도 플래그 소리가 들렸으니 플래그 값으로 abracadabra를 입력해주시면 됩니다.

 

FLAG = abracadabra

Multimedia Forensic #7 Find Key(moon)

 

7번 문제

 

문제를 보면 moon 이름으로 된 png 파일을 주고, 달에서 키 값을 찾는 문제입니다.

 

png 파일 열기

 

파일을 열어보면 달 모양으로 된 사진이 있고, 저는 binwalk를 통해 다른 시그니처가 있는지 확인해보았습니다.

 

binwalk 사용

 

확인해보면 zip 확장자의 파일과 flag.txt가 압축되어 있는 것을 확인하실 수 있습니다.

 

저는 이럴 때 바로 HxD를 켜서 zip 파일 시그니처를 확인합니다.

 

HxD 확인 결과

 

ZIP 파일의 시그니처인 50 4B 03 04를 입력해서 검색한 결과, 49 45 4E 44 AE 42 60 82가 PNG 파일의 푸터 시그니처이므로 그 다음부터는 ZIP 파일의 헤더 시그니처인 50 4B 03 04로 시작해서 flag.txt 파일이 압축된 압축파일이 있습니다.

 

zip파일 추출

 

바로 zip 파일을 추출하기위해, zip 파일만 드래그해서 복사한 다음 새로 열기하고, 붙여넣기를 해주고 확장자를 zip으로 해주면 zip 파일을 추출해낼 수 있습니다.

 

암호 입력

 

압축파일에 암호가 걸려있어서 암호가 뭘까 계속 생각하다가 문제에서 moon이라는 단어가 생각나서 moon을 입력해줬더니 압축파일을 풀 수 있었습니다.

 

flag 값 확인

 

moon을 입력하여 압축을 풀어주면 이런 플래그가 나오게 됩니다.

 

이렇게 쉽게 풀 수도 있지만, 좀 다르게 풀 수 있는 방법도 알려드리겠습니다.

 

foremost

 

foremost 도구를 활용해서 해당 파일을 추출할 수 있습니다.

 

foremost : 데이터 복구를 위한 카빙 도구로 네트워크 패킷 데이터 추출, 악성코드 분석, CTF 포렌식 문제  등에 자주 사용되는 툴

 

설치 사이트 : http://foremost.sourceforge.net/ 

 

Foremost

Foremost Introduction Foremost is a console program to recover files based on their headers, footers, and internal data structures. This process is commonly referred to as data carving. Foremost can work on image files, such as those generated by dd, Safeb

foremost.sourceforge.net

리눅스 툴로 활용하실거면 apt-get install foremost로 설치하실 수 있습니다.

 

위와 같이 명령을 수행하면 output 디렉터리가 생기게 되고, 하위 zip 디렉터리에서 00000804.zip 파일을 확인할 수 있습니다.

 

tree 명령어 사용

 

tree 명령어 : 리눅스에서 ls 명령어를 사용하면, 특정 위치에 존재하는 디렉터리와 파일들을 확인할 수 있지만 작업을 진행하다보면 디렉터리 및 파일을 구조적으로 확인하고 싶을 때, tree 명령어는 디렉터리와 파일을 tree 형식으로 출력해줍니다. (설치 필요 : apt-get install tree)

 

압축 해제(암호 필요)

00000804.zip 파일을 압축해제하려면 비밀번호를 입력하라고 나옵니다. 처음 방법과 같이 moon을 입력해주면 압축이 해제되고, flag.txt 파일을 확인할 수 있습니다.

 

플래그 값 확인

 

flag.txt 파일을 확인하면 플래그를 확인할 수 있습니다.

 

FLAG = sun{0kay_it_is_a_m00n}

 

Multimedia Forensic #6 Find Key(butterfly)

 

 

6번 문제

 

문제를 보면 나비에서 키 값을 찾으라고 합니다.

butterfly 이름으로 된 png 파일이 주어집니다.

 

butterfly

 

자세히 보면 징그러운 나비 사진이 나오게 됩니다.

파일 정보를 보기 위하여 file 명령어로 파일 정보를 확인해보았습니다.

 

file 명령어 확인

 

정상적인 png 파일이지만, RGB를 보고 바로 Forensically로 png파일을 확인해보았습니다.

 

Forensically : 이미지 포렌식을 위한 도구 세트로 클론 탐지, 에러 수준 분석, 메타 데이터 추출 등의 기능을 제공합니다.

 

온라인 사이트 : https://29a.ch/photo-forensics/#forensic-magnifier

 

플래그 확인

 

혹시나 하고 확인한 결과, 플래그가 바로 나오게 되었습니다.

 

사진에서 보이는 확대 기능은 바로 히스토그램 평준화 기능이라고 합니다.

 

히스토그램 : 이미지 명암의 분포를 의미, 이런 히스토그램이 고르게 분포되지 않으면 이미지 대비가 좋지 않아지게 되어 배경과 물체를 식별하는 게 어려워집니다. 이래서 히스토그램 평준화 기능은 이런 분포를 고르게 만들어주어 식별하기 용이하게 해줍니다.

 

사진에 마우스를 올리면 히스토그램 평준화 기능이 적용됨과 동시에 확대된 화면을 확인할 수 있습니다.

 

FLAG = sun{RE4DY_THE_4CID_M4GNET!}

Multimedia Forensic #5 플래그를 찾아라!

 

5번 문제

 

이번 문제는 저번 문제들과 아예 다른 처음 보는 확장자인 lzma파일을 문제에서 주었습니다.

 

일단 lzma파일은 압축파일이기에 일반 압축으로 압축을 풀어주었습니다. 

 

압축을 풀어주면 dump1 이름으로 된 raw파일이 나옵니다.

 

raw파일은 저도 많이 본 적이 없어서 구글링을 통해 알아본 결과, 손실 압축을 하지 않고 가능한 모든 정보를 저장하는 파일 포맷이라고 합니다.

 

이런 정보만으로는 알 수가 없어서 파일 이름이 dump1이라는 이름으로 되어 있어서 메모리 덤프파일이라 생각하고, 메모리 덤프파일 분석도구인 volatility로 분석하였습니다.

 

볼라틸리티 도구 사용

 

volatility : Python 기반의 메모리 포렌식 툴로, Windows, Linux, Mac OS에서 사용이 가능합니다.

또한 플러그인 형태로 다양한 기능들을 제공하는데, 자신이 직접 플러그인을 만들어서 사용 가능

 

결과를 확인하면 해당 파일은 윈도우 10 운영체제의 메모리 덤프 파일인 것을 확인할 수 있습니다. 

좀 더 자세한 분석을 위해 pslist 플러그인을 사용하여 실행 중이던 프로세스를 확인해보았습니다. 

 

프로세스 목록 확인

 

실행 중이었던 프로세스 목록을 보면 대다수의 서비스 프로세스들을 확인할 수 있습니다. 

하지만 계속 분석하던 도중 이상한 프로세스가 발견되었습니다.

 

이상한 프로세스 발견

 

바로 mspaint 프로세스와 notepad 프로세스입니다.

 

mspaint는 그림판을 뜻하고 notepad는 말 그대로 노트패드를 뜻하는 프로세스 같았습니다.

 

만약 mspaint를 예로 보면 어떤 것을 그리고 있었으면 프로세스를 복구했을 때 그림을 볼 수 있을 것입니다.

 

그래서 volatility의 memdump 플러그인을 사용해서 프로세스를 덤프해보았습니다.

 

프로세스 덤프

memdump 플러그인으로 프로세스 덤프에 성공하였습니다.

 

이번엔 덤프 된 프로세스를 분석해보기 위해서 확장자를 raw에서 data로 바꾸고, GIMP라는 도구를 사용해서 분석해보았습니다.

 

GIMP : 사진 편집이나 이미지 생성 및 편집 등 다양한 이미지 작업을 하기에 적절한 편집 도구입니다.

 

손상된 그림

 

아무런 포렌식 도구도 아닌 GIMP 도구를 사용하는 이유는 보시다시피 그림은 손상되서 알아볼 수 없는 상태입니다.

하지만 GIMP 도구는 너비, 높이, 오프셋을 수정하면서 그림이나 이미지를 편집할 수 있기 때문에 GIMP 도구를 사용합니다.

 

오프셋, 너비, 높이 변경

 

위의 화면처럼 너비를 1093, 높이 691로 조정 후 오프셋을 계속 올리다가 6000000 오프셋에서 그림이 선명하게 보이게 되었습니다.

맞추고 open을 누르니 플래그 값을 확인할 수 있었습니다.

 

플래그 값 확인

그림을 정확하게 맞추지는 못했지만, 그래도 플래그 값을 조합해보면 확인할 수 있습니다.

 

FLAG = CTF{HeRe_GoEs_thE_FLaG}

Multimedia Forensic #4 우리는 이 파일에 플래그를...

 

멀티미디어 포렌식 4번 문제

 

이번엔 파일 뒤에 확장자가 없는 flag라는 이름으로 된 파일을 확인할 수 있다. 

 

따라서 이 파일이 어떤 형태의 파일인지 확인하기 위해 file 명령어를 통해 해당 파일을 확인해 보았다.

 

[그림 1] file 명령어 사용

 

확인해본 결과, gzip형태의 압축파일이라는 것을 확인할 수 있다. 

 

그러므로 압축해제를 하기 위해 이 파일의 이름을 변경해서 압축해제를 진행한다.

 

[그림 2] 플래그 확인

 

mv 명령어로 파일 이름을 변경하였고, gunzip 명령어로 압축해제를 해주었고, ls 명령어로 flag 파일을 확인하고, cat 명령어로 파일 내용을 출력해서 플래그 값을 확인할 수 있다.


# Reference

 

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

+ Recent posts