Multimedia Forensic #24 조수의 차이만큼 하얗습니다! :D

 

24번 문제

 

문제를 보면 조수의 차이만큼 하얗다는 말과 png 파일 하나가 주어집니다.

 

파일 확인

 

문제 파일을 확인해보면 흰색 바탕만 나옵니다. (위에 사진 올려 놓은 것입니다.)

 

딱 보니 색상 분석하는 문제 같아서 Stegsolve 도구를 사용해서 jpg 이미지 파일을 분석해보았습니다.

 

Stegsolve : 스테가노그래피 분석 도구로 색상과 비트별로 이미지를 분석하는 기능을 제공해주는 도구

 

설치 사이트 : http://www.wechall.net/forum/show/thread/527/Stegsolve_1.3/

 

[WeChall] Stegsolve 1.3 [WeChall]->WePost

 

www.wechall.net

 

stegsolve 명령어 입력

 

확장자가 jar 파일이기 때문에 java가 설치되어 있어야 실행하실 수 있습니다.

 

플래그 값 확인

Stegsolve를 실행시키고, Plane View에서 화살표를 계속 넘기다 보면, Blue plane 0에서 플래그를 확인할 수 있었습니다.

 

FLAG = true_steganographers_doesnt_need_any_tools

Multimedia Forensic #23 저는 당신의 생각을 알고 있습니다.

 

23번 문제

 

문제에서 힌트를 보면 eXist 라고 하는 것을 보니 exif와 관련 되어 있는 것 같습니다.

 

그래서 관련 도구인 exiftool로 문제 파일인 logo.jpg파일의 메타데이터를 분석해보았습니다.

 

exif : 디지털 카메라의 이미지 파일 형식

 

exiftool : 이미지, 비디오, 파일 등의 메타데이터를 분석, 수정하는 기능을 제공해주는 프로그램

 

설치 사이트 : https://sourceforge.net/projects/exiftool/

 

exiftool

Download exiftool for free. Read, write and edit metadata. Perl library and command-line application for reading, writing and editing meta information (EXIF, IPTC, XMP, and more) in a wide variety of file formats (JPEG, TIFF, PNG, PDF, RAW, and more).

sourceforge.net

exiftool 도구 사용

 

exiftool를 사용한 다음, User Comment를 보시면 문제와 관련 있어 보이는 플래그를 확인할 수 있습니다.

 

FLAG = now_youre_thinking_with_exif

Multimedia Forensic #22 저희는 이 문서를 찾았습니다.

 

22번 문제

문제를 보면 docx라는 확장자가 여기 CTF에서 처음으로 나옵니다.

 

docx 확장자

 

docx 프로그램으로는 정말 유용하게 쓰이는 워드 프로그램이 있습니다.

 

워드 프로그램 실행

 

워드 프로그램으로 열기를 해보면 이곳에는 플래그가 없다는 것을 확인할 수 있습니다.

 

문제 지문에서 docx 파일이 정확히 무엇이냐고 물어봐서 리눅스에서 file 명령어를 통해 정확한 파일 유형을 확인해보았습니다.

 

file 명령어 입력

file 명령어를 입력하면 마이크로소프트 워드 파일로 나옵니다.

 

binwalk 실행

하지만 binwalk를 실행해보면 zip파일이 가득찬 파일로 나오게 됩니다.

 

binwalk : 대표적인 펌웨어 분석 툴로, 펌웨어 분석뿐만 아니라 포렌식 시 파일 카빙 등에 사용할 수 있는 유용한 도구 

 

참고 사이트 : https://github.com/ReFirmLabs/binwalk

 

zip 압축파일이라고 생각하고, 확장자를 .zip으로 확장자를 변경해주고 압축을 풀어보았습니다.

 

unzip 입력

 

unzip 명령어로 압축을 풀면 추출된 파일들 중에서 flag.txt 파일을 확인할 수 있습니다.

 

cat 명령어를 통해 플래그 값을 확인할 수 있습니다.

 

플래그 값 확인

 

FLAG = this_would_be_the_flag_you_are_looking_for

Multimedia Forensic #21 내 친구 Mich는 이 멋진 튤립...

21번 문제

 

문제에서 힌트를 보면 어두운 색상의 이미지 속에서 플래그를 찾아야 할 것으로 예상이 됩니다.

 

문제 파일 확인

 

문제 파일을 분석하기 위해 공부하다가 히스토그램과 히스토그램 평준화 기법을 공부하게 되었습니다.

 

히스토그램 : 이미지의 명암의 분포를 의미, 이런 명암의 히스토그램이 중심에 모여 분포하거나 좁은 영역에 한정되면 이미지의 대비가 좋지 않아져, 이미지의 배경과 물체를 식별하는데 어려움이 생깁니다.

 

이럴 경우 히스토그램 평준화 기법을 이용하여 명암의 범위를 고르게 분포하여 대비를 증대시킴으로써 식별의 어려움을 해결할 수 있습니다.

 

히스토그램 평준화 기법 : 히스토그램이 좋지 않은 이미지의 히스토그램을 재분배 및 설정하여 고르게 분포시켜주는 기법

 

저는 문제를 풀기 위해 히스토그램 분석 사이트인 Forensically 사이트를 이용하였습니다.

 

Forensically : 이미지 포렌식을 위한 도구세트로 클론 탐지, 에러 수준 분석, 메타데이터 추출 등의 기능을 제공, 물체와 배경을 식별하는데 도움을 주고 확대 기능을 통해 설정한 배율만큼 이미지를 확대시켜 보여주는 기능을 제공

 

참조 사이트 : https://29a.ch/photo-forensics/#forensic-magnifier

 

Forensically, free online photo forensics tools

Forensically is a set of free tools for digital image forensics. It includes clone detection, error level analysis, meta data extraction and more.

29a.ch

플래그 값 확인

이미지 위에 마우스를 올려놓으면 히스토그램 평준화와 확대 기능으로 이미지를 분석할 수 있습니다. 

 

분석해보면 좌측 상단에 플래그 값을 확인할 수 있습니다.

 

FLAG = easyctf{all_hail_michy}

Multimedia Forensic # 20 저는 이 파일이 내 친구와...

 

 

20번 문제

 

문제를 보면 지문이 이상해서 파일부터 다운 받고, file 명령어를 통해 문제 파일 유형을 분석해보았습니다.

 

file 명령어 입력

 

file 명령어를 통해 secret 파일은 zip 파일임을 확인할 수 있습니다. 

 

바로 unzip 명령어로 압축을 풀어보았습니다.

 

unzip 명령어 입력

 

압축을 풀면 __MACOSX 폴더에 secret.png파일이 있는 것을 확인할 수 있습니다.

 

열리지 않음

 

그런데 png파일을 열려고 하면 열리지 않음을 확인할 수 있습니다.

 

파일 시그니처가 잘못 되었나 생각하고, HxD로 secret.png 파일의 시그니처를 확인해보았습니다.

 

정상적인 시그니처 아님

 

네, png 파일 헤더 시그니처가 잘못 되었습니다.

 

정상적인 png 시그니처

 

정상적인 png 파일 헤더 시그니처는 89 50 4E 47 0D 0A 1A 0A입니다.

 

시그니처 변경

 

위의 화면 같이 시그니처를 삽입해주면 됩니다.

 

HxD에서 직접 시그니처를 입력하면 그건 값을 삽입하는게 아니라, 변경하는 것입니다.

 

그러므로 메모장이나 한글 파일을 열고 89 50 4E 47 입력해주고 복사한 다음 맨 앞에 붙여넣기 해주면 

삽입이 됩니다.

 

그러고 바로 저장을 해주면 정상적인 png 파일이 나오게 됩니다.

 

플래그 값 확인

png파일을 확인해주면 위 화면과 같이 오크 사진을 확인할 수 있습니다.

 

오른쪽 하단에 플래그 값을 확인할 수 있습니다.  

 

FLAG = easyctf{troll3d}

Multimedia Forensic #19 천 마디 말보다 사진 한 장...

 

19번 문제

문제에서 천 마디 말보다 사진 한 장이 더 낫다고 하는거 보면 이 문제는 jpg 사진 파일을 찾으면 문제를 해결할 수 있을 거 같습니다.

 

주어진 파일 수가 1000개이므로 file 명령어와 *문자열을 조합하여 확인 하면 쉽게 파일 유형을 알 수 있습니다.

 

하지만 1000개의 데이터가 출력 되므로 file 명령어가 두번째 필드에 파일 유형이 나오기 때문에 awk를 조합해서 파일을 출력해보았습니다.

 

압축 파일 내용

 

사진과 같이 압축을 풀려고 하니 여러 파일들이 1000개가 있는걸로 보입니다.

 

명령어 입력

file : 파일의 종류를 볼 수 있는 명령어

awk '{print $2}' : 파일의 두 번째 필드를 출력한다.

sort : 모든 파일의 연속어들을 정렬된 순서로 출력한다.

uniq -c : 같은 열에서 중복되서 나오는지 파일명 앞에 숫자로 출력한다.

 

출력된 내용을 보면 JPEG 문자열을 정보로 가지고 있는 파일이 1개 있음을 확인할 수 있습니다.

 

지문에서 grep은 항상 당신의 친구라고 하였기 때문에 grep을 이용하여 해당 파일을 확인해보겠습니다.

 

grep 사용

 

grep을 통해 UgeVjTLmZjNFvULK파일이 JPEG 파일임을 확인할 수 있습니다.

 

UgeVjTLmZjNFvULK파일의 확장자를 .jpg로 바꿔서 확인해보았습니다. (리눅스에서는 확장자를 안 바꿔도 확인 가능합니다.)

 

플래그 값 확인

 

이렇게 jpg 파일에서 플래그를 확인할 수 있습니다.

 

FLAG = easyctf{it_must_be_pretty_hard_reading_this}

+ Recent posts