Multimedia Forensic #99 (woof!)

 

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

 

문제 파일로 PNG 파일이 주어진다.

 

여기서 중요한 것은, 문제 파일로 PNG 파일이 주어지지만 file 명령어로 파일 유형 정보를 확인하면 PNG 파일이 아닌 JPG 파일이다.

 

[그림 1] file 명령어 사용

 

위 화면과 같이 명령 결과를 보면 JPEG 파일임을 알 수 있다. (이름이 너무 길어서 111로 변경)

 

확장자를 PNG에서 JPG로 바꾸고 다시 분석하였다.

 

우선 exiftool을 이용하여 파일의 메타데이터 정보를 분석한 다음, 은닉된 데이터가 없는지 확인하였다.

 

 

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

 

[그림 2] exiftool 실행 - 의심스러운 부분 발견

 

위 명령을 수행하면 파일에 대한 메타데이터 확인이 가능하다.

 

그런데 Author 부분에 의심스러운 문자열을 확인할 수 있다.

 

마치 파일의 오프셋과 같은 형태의 문자열로 보인다.

 

상세 분석을 위해, JPG 파일을 HxD로 열어 Author 문자열을 검색하면서 분석하였다.

 

[그림 3] 0x00ffb

 

[그림 4] 0x01039

 

[그림 5] 0x011a9

 

[그림 6] 0x013e3

 

앞부분인 4개의 오프셋을 통해 확인한 결과, flag라는 단어를 확인할 수 있다.

 

따라서 Author 문자열이 문제 파일의 오프셋을 의미하고, 각 오프셋의 데이터를 조합하면 문제를 해결할 수 있다.

 

위 방법대로, Author 문자열 오프셋을 모두 검색하면서 데이터를 조합하였다.

 

[그림 7] 데이터 조합 완료

 

Author 문자열 오프셋에 대한 조합된 데이터이다.

 

조합된 데이터를 플래그로 입력하게 되면 문제 해결이 가능하다.


# Reference

 

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

Multimedia Forensic #70 (hohohahiho)

 

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

 

문제 파일로 zip 압축 파일이 주어진다.

 

지문에서 제공된 비밀번호를 이용해서 압축을 풀 수 있다.

 

[그림 1] zip 파일 내용

 

압축을 해제하면 Koala.zip, passwd.txt 파일이 생성된다.

 

Koala.zip 파일은 압축 해제에 비밀번호가 걸려 있지만, 지문에서 제공된 비밀번호와 다르다.

 

그렇기 때문에 passwd.txt 파일부터 확인하였다.

 

[그림 2] passwd.txt 파일 내용

 

텍스트 파일을 확인해보면 SHA256 : BINARY라는 문자열이 존재한다.

 

파일명이 passwd라는 것은 이 문자열이 비밀번호와 매우 관련있는 것으로 추측할 수 있다.

 

따라서 SHA256 문자열을 바이너리 데이터로 변환해서 Koala.zip 파일의 압축 해제에 사용하였다.

 

문자열 > 바이너리 변환 사이트 : https://codebeautify.org/string-binary-converter

 

Best Online tool to Convert String to Binary

 

codebeautify.org

 

[그림 3] 문자열 - 바이너리 변환

 

[그림 4] 압축 해제 - jpg 확인

 

바이너리를 비밀번호로 입력해주면, 압축 해제가 정상적으로 이루어지며 Koala.jpg 파일이 생성된다.

 

그리고 위 화면은 Koala.jpg 화면이다.

 

파일의 자세한 메타데이터 확인을 위해 exiftool을 사용하여 분석하였다.

 

 

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

[그림 5] exiftool 실행 - 플래그 관련 내용?

 

결과를 확인해보면 사진에 대한 주석을 다는 Image Description 부분에 Base64 인코딩 데이터로 보인다.

 

Python 코드를 작성하여 디코딩하였다.

 

[그림 6] Base64 디코딩 내용

 

디코딩하면 여기는 아니라고 한다... (HaHa;;)

 

[그림 7] XP Comment 의심스러운 부분 발견

 

다시 exiftool로 분석한 결과를 보면, XP Comment 부분에 긴 문자열이 존재한다.

 

그 중 A와 B로만 구성되는 문자열이 존재한다.

 

문자열의 구성상 모스 코드와 매우 비슷해 보인다.

 

모스 코드에서 A는 .을 의미하고, B는 -을 의미한다.

 

위 방식대로 XP Comment 항목 데이터를 변환하였다.

 

 

[그림 8] 데이터 변환

 

변환된 모스 코드를 모스 코드 디코딩을 지원하는 웹사이트에 접속하여 디코딩을 진행하였다.

 

모스 코드 디코딩 사이트 : https://morsecode.world/international/translator.html

 

Morse Code Translator

Text to Morse Just type letters, numbers and punctuation into the top box and the Morse code will appear in the bottom box with a "#" if the character cannot be translated. If you want to translate prosigns, enter them as " " for instance and tick the "Use

morsecode.world

[그림 9] 플래그 확인

 

모스 코드가 디코딩되면 플래그를 확인할 수 있다.

 

따라서 위 방법대로 문제를 해결할 수 있다.


# Reference

 

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

Multimedia Forensic #71 (Recover the key)

 

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

 

문제 파일로 아무 확장자가 없는 파일이 주어진다.

 

어떤 파일인지 자세한 정보 확인을 위해 file 명령어를 통해 확인하였다.

 

[그림 1] file 명령어 사용

 

file 명령어로 분석한 결과, 파일 타입은 부트 섹터라는 것을 확인하였다.

 

파일의 타입이 부트 섹터인 걸로 보면 이미지 파일로 추측된다.

 

따라서 FTK Imager를 사용하여 해당 파일을 마운트 하였다.

 

[그림 2] 문제 파일 마운트

 

FTK Imager 도구를 통해 정상적으로 마운트 된다.

 

file 명령어에서 확인한 것과 똑같이, 파일 시스템은 FAT16이며 여러 디렉토리들이 존재한다.

 

이제 어떤 파일들이 있는지 상세 분석을 진행한다.

 

[그림 3] 파일 시그니처 발견

 

Trashes/501 폴더에서 여러 파일들이 존재하는 것이 확인되었다.

 

이 중에서 !2467, !8808, !8938 파일은 위 화면과 같이 헤더 시그니처 정보가 JPG 파일과 비슷한 것을 확인할 수 있다.

 

[그림 4] 파일 추출

 

3개의 파일을 마우스 우클릭 한 뒤에, Export Files 기능을 통해 파일을  추출시킬 수 있다.

 

추출한 파일 시그니처 수정을 위해 HxD로 실행시키고 오픈한다.

 

[그림 5] 정상 시그니처로 변경

 

추출한 3개의 파일 시그니처 00 00을 FF D8로 변경하였다.

 

변경한 후에, 확장자를 jpg로 추가해주면 사진 화면을 확인할 수 있다.

 

[그림 6] 2467 이미지 파일

 

[그림 7] 8808 이미지 파일

 

[그림 8] 8938 이미지 파일

 

3개의 파일 모두 시그니처를 수정하고 저장하면 원래 사진이 정상적으로 출력된다.

 

파일을 실행하고 사진을 확인해보면 플래그와 관련된 내용은 없다.

 

하지만, 복구한 파일이 이미지 파일이라는 점과 키를 복구해야 한다는 문제 특성상 스테가노그래피 기법을 사용해서 키를 이미지 파일에 숨겨 놓았을 확률이 매우 높다.

 

따라서 스테가노그래피 탐지에 사용되는 outguess 도구를 사용하여 숨겨진 데이터가 존재하는지 확인하였다.

 

 

outguess : 파일의 불필요한 비트에 데이터를 은닉시키는 스테가노그래피 도구

 

참조 사이트 : https://github.com/crorvick/outguess 

 

crorvick/outguess

Fork of the OutGuess steganographic tool. Contribute to crorvick/outguess development by creating an account on GitHub.

github.com

저는 리눅스에서 outguess 도구를 통해 결과를 확인하였다.

 

[그림 9] outguess 도구 사용

 

※ outguess 사용법

  • -e : 오류 발생 시 정정 부호화 사용

  • -r : 데이터에서 메시지 검색

  • -k : 키 입력

3개 파일의 결과를 확인해보면, 2개의 파일 결과는 0Byte라 숨겨진 데이터가 없다.

 

하지만 나머지 1개인 2467.jpg 파일은 숨겨진 데이터가 발견되었다.

 

또다시 file 명령어를 통해 key1의 파일 타입을 확인하였다.

 

[그림 10] zip 파일 확인 - 압축 해제

 

숨겨져 있던 데이터는 zip 파일이고, 압축을 해제하면 pdf 파일이 생성된다.

 

[그림 11] 플래그 발견

 

pdf 파일을 실행해보면 다음과 같이 플래그 확인이 가능하다.

 

위 방법대로 문제를 해결할 수 있다.  


# Reference

 

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

Multimedia Forensic #85 (slove하기 쉽습니다.)

 

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

 

문제 파일로 확장자가 아예 없는 파일이 주어진다.

 

자세한 정보 확인을 위해 file 명령어를 통해 파일 유형을 확인하였다.

 

[그림 1] file 명령어

 

file 명령을 통해, JPG 파일이라는 것을 확인하였다. (이름이 너무 길어서 변경하였다.. )

 

확장자를 jpg로 바꾸고 열어보면 사람의 그림자같은 모습이 나온다.

 

[그림 2] 사진 열기 - 내용 확인

 

사진 내용만으로는 플래그를 알 수 없어서, 여러 방법으로 분석하다가 HxD 도구에서 의심스러운 부분을 확인하였다.

 

[그림 3] 푸터 시그니처 이후 이상한 문자열

 

JPG 파일의 푸터 시그니처(파일 가장 마지막에 표시되는 시그니처)는 FF D9지만, 이후에 이상한 문자열이 보인다.

 

마지막 내용인 Guess라는 문자열을 통해 outguess 도구로 분석해야 된다고 생각하였다.

 

 

outguess : 파일의 불필요한 비트에 데이터를 은닉시키는 스테가노그래피 도구

 

참조 사이트 : https://github.com/crorvick/outguess 

 

crorvick/outguess

Fork of the OutGuess steganographic tool. Contribute to crorvick/outguess development by creating an account on GitHub.

github.com

 

저는 리눅스에서 outguess를 설치한 다음, 명령어를 이용하여 은닉된 데이터를 확인하였다.

 

[그림 4] outguess 실행

 

다음 명령어를 통해 은닉된 데이터 확인이 가능하다.

 

-k는 키를 의미하며, -r은 문제 파일에 은닉된 메시지를 data.txt 파일에 추출한다는 것을 의미한다.

 

추출된 data.txt 파일을 열어보면, 은닉된 메시지가 추출된 것을 확인 가능하다.

 

[그림 5] 은닉 메시지 확인

 

마치 Base64로 인코딩 된 데이터로 보이지만, 디코딩 해보면 플래그에 대한 정보가 아니다...

 

자세히 확인해보면 문자열 중간에 반복적으로 _가 들어가 있고, 암호문으로 보이는 데이터가 일부 문자열만 암호화 된 것으로 보아 치환 암호 형식으로 추측해볼 수 있다.

 

따라서 이와 같은 암호화로 ROT13 형식이 있다.

 

ROT13 : 카이사르 암호의 종류로 알파벳을 13글자씩 밀어 치환하는 방식

 

ROT13 디코딩 사이트 : https://rot13.com/

 

rot13.com

rot13.com Please enable JavaScript to use this page. ↓ ROT1 ROT2 ROT3 ROT4 ROT5 ROT6 ROT7 ROT8 ROT9 ROT10 ROT11 ROT12 ROT13 ROT14 ROT15 ROT16 ROT17 ROT18 ROT19 ROT20 ROT21 ROT22 ROT23 ROT24 ROT25 ↓

rot13.com

 

[그림 6] 플래그 확인

 

디코딩 결과, 다음과 같은 문자열 값이 나오게 된다.

 

위 문자열을 플래그로 입력하면 문제를 해결할 수 있다.


# Reference

 

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

Multimedia Forensic #78 (우리는 트럼프 선거 운동...)

 

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

 

매우 새롭고, 처음 풀어보는 유형의 문제였다..

 

문제 파일로 otf 파일이 주어진다.

 

otf는 글꼴 파일의 확장자이며, 분석을 위해 FontForge라는 프로그램을 통해 분석하였다.

 

 

FontForge : 글꼴 편집 프로그램

 

다운로드 사이트 : https://fontforge.org/en-US/downloads/windows-dl/

 

FontForge on Windows

FontForge on Windows Download 2019-08-01 Release Installer (.exe) Right click, select Run as Administrative User After installation, right click FontForge shortcut and select Run as Administrative User You may find more recent development snapshots at the

fontforge.org

 

[그림 1] FontForge 프로그램 실행 - 문제 파일 열기

 

FontForge 프로그램을 실행한 다음, 주어진 otf 문제 파일을 오픈한 화면이다.

 

처음에는 기본 폰트 문자열(?)로 보이는 여러 문자열들이 보이고, 상세 분석을 위해 스크롤바를 내리면서 이상한 점이 없는지 계속 분석하였다.

 

[그림 2] 수상한 문자열 발견

 

분석 결과, 숨겨져 있는 매우 수상한 문자열이 발견된다.

 

문자열 끝에 플래그에 항상 쓰이는 포맷인 중괄호가 있는 것으로 보아 플래그와 관련 있을 확률이 매우 높다고 생각하였다.

 

해당 글꼴의 자세한 정보를 보기 위해, 한 글자를 클릭한 뒤에 마우스 우클릭하면 글리프 정보 기능이 있다.

 

글리프 : 정보 기술에서 문자의 모양이나 형태를 나타내는 그래픽 기호를 의미

 

 

[그림 3] 글리프 정보 기능 화면

 

a 단어에 대한 글리프 정보 화면이다.

 

합음자 메뉴를 보면, 글꼴 위치에 존재하는 문자열의 한 글자당 대칭되는 글리프 값이 존재한다.

 

글리프 값은 동일 알파벳 4글자로 구성되어 있다.

 

 상세 분석을 위해 다른 알파벳들도 분석하던 도중, 문제 해결 방법을 알아냈다..

 

[그림 4] 알파벳 f의 글리프

 

[그림 5] 알파벳 l(L)의 글리프

 

[그림 6] 알파벳 g의 글리프

 

맨 처음 분석한 a와 f, l, g의 글리프 정보를 모두 조합해보면 단어가 만들어 지는 것을 확인하였다.

 

f (AAAA) + l (BBBB) + a (CCCC) + g (DDDD) 단어를 조합하면 flag라는 단어가 만들어진다.

 

첫 단어가 flag인 것으로 보아 플래그에 대한 정보라는 것을 확인하였고, 위 방식처럼 AAAA ~ ZZZZ 까지 글리프 값을 아파벳 순서대로 조합하였다. 

 

[그림 7] 조합 완료

 

위 방식대로 조합하여 완성된 문자열이다.

 

조합된 문자열을 플래그로 입력하면 문제를 해결할 수 있다.


# Reference

 

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

Multimedia Forensic #73 (제가 여동생에게 플래그를...)

 

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

 

문제 파일로 PDF 파일이 주어진다.

 

[그림 1] PDF 내용 확인

 

파일을 열어보면, 하늘색 배경 뒤에 다른 사진이 숨겨져 있는 것처럼 보인다.

 

혹시 PDF 파일 안에 다른 파일이 숨겨져 있는지 여부 확인을 위해 binwalk를 사용하여 확인하였다.

 

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

 

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

 

ReFirmLabs/binwalk

Firmware Analysis Tool. Contribute to ReFirmLabs/binwalk development by creating an account on GitHub.

github.com

 

 

[그림 2] 숨겨진 JPEG 파일 발견

 

binwalk로 확인한 결과, JPG 파일이 숨겨져 있는 것을 확인하였다.

 

숨겨진 파일 복구를 위해 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

[그림 3] foremost 도구 사용

 

위 화면과 같이 foremost -T 옵션으로 숨겨진 파일을 복구할 수 있다.

 

[그림 4] 복구된 파일

 

확인하고 싶은 파일은 JPG 파일이기 때문에, JPG 폴더로 들어간다.

 

[그림 5] JPG 파일 확인

 

복구된 JPG 파일을 확인해보면 위 화면과 같다.

 

자세히 보면, 문자열들이 끊어져 있는 형태로 보이며 조각들을 재조합하면 플래그가 나올 것 같다.

 

그리고 문제에서 제시한 힌트를 보면 종이와 가위를 사용하라는 내용이 보인다..

 

결론은 저 사진을 프린트하고, 가위로 오려서 조합해보라는 뜻으로 확인된다.

 

위 방법을 통해 문제를 해결할 수 있다.


# Reference

 

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

+ Recent posts