Multimedia Forensic #49 저는 이미지에서 어떤 것을...

 

49번 문제

 

문제 파일로 logo.gif 파일이 주어집니다.

 

logo.gif

 

gif 파일의 특성은 움직이는 사진이므로 잘 캡처하면 밑에 플래그를 확인할 수 있습니다.

 

다른 방법으로는 gif 파일을 분석하는 가장 기초적인 방법으로는 gif의 특성은 움직이는 사진이므로 gif 파일에서 사진 파일을 뽑아내야 합니다.

 

뽑아내기 위해서는 ImageMagick의 convert 명령어를 사용하여 gif 파일의 각 프레임들을 추출해야 합니다.

 

 

convert 명령어 사용

 

convert 명령어를 사용하여 수행하면 총 67개의 png 프레임이 생성됩니다.

 

이제 hash 값을 통해 다른 사진을 확인하기 위해 md5sum 명령어로 hash 값을 확인해야 합니다.

 

md5sum 명령어 사용

 

다음과 같은 명령어를 사용하면, 한 개의 png 파일의 hash 값이 다른 것을 확인할 수 있습니다.

 

플래그 확인

 

output-0.png 파일을 열어 확인해보면 플래그를 확인할 수 있습니다.

 

또 다른 방법은 Animated GIF Frame Extractor 도구를 사용하여 GIF 파일의 프레임을 분할, 추출이 가능하며 문제를 해결할 수 있습니다.

 

FLAG = boy_this_goes_by_so_fast

 

 

Multimedia Forensic #57 그들이 우리의 데이터를...

 

57번 문제

 

문제 파일로 shattered.pcapng 파일이 주어집니다.

 

해당 문제 파일을 확인해보기 위해 와이어샤크 도구를 통해 확인하였습니다.

 

재전송 흔적

 

TCP 프로토콜만으로 전송한 패킷을 확인할 수 있으며, 패킷의 정보를 확인해보면 패킷이 재전송된 것을 확인할 수 있습니다.

 

그리고 TCP 프로토콜의 시퀀스 번호가 차례대로가 아닌 여기저기 흩어져 있습니다.

 

TCP 시퀀스 번호의 순으로 패킷을 정렬해야 하지만, 그 전에 와이어샤크 editcap 명령어를 통하여 pcapng 파일을 pcap 파일로 변환해야 합니다.

 

editcap : 기존 캡처 파일(pcapng)을 정리하고 중복된 패킷을 제거, 패킷 사이즈를 변경하는 등 작업을 하고 다른 캡처 파일로 출력하는 프로그램입니다.

 

editcap 명령어

 

editcap -F libpcap -T ether [변환하고 싶은 pcapng] [변환 할 pcap]

 

만약 -T로 encapsulation을 지정하지 않으면 에러가 발생합니다.

 

editcap -F [변환하고 싶은 pcap] [변환 할 pcapng] 

 

반대로 pcap 파일을 pcapng 파일로 변경하고 싶을 때는 다음 명령어를 사용하여 변환시킬 수 있습니다.

 

변환이 완료가 되면, 이제 tcpflow 도구를 사용하여 문제 파일의 패킷을 TCP 시퀀스 번호 순으로 정렬해야 합니다.

 

tcpflow : TCP 스트림에서 데이터를 추출하기 위한 전형적인 커맨드 라인 도구로, 와이어샤크의 Follow TCP Stream과 비슷하지만, 모든 스트림에 있는 컨텐츠가 한 번에 추출해 저장됩니다.

 

tcpflow 도구 사용

 

다음과 같은 tcpflow의 옵션을 활용하면 TCP 시퀀스 번호를 차례대로 정렬할 수 있습니다.

 

사진 파일 생성

 

정렬이 완료가 되면 자동으로 폴더에 TCP 패킷에 존재하였던 여러 데이터들이 카빙이 되어 사진 파일이 생성됩니다.

 

file 명령어 사용

 

파일의 포맷을 확인하기 위해, file 명령어를 사용하면 jpg 파일인 것을 확인할 수 있습니다.

(이름이 너무 길어 123으로 변경한 상태입니다.)

 

플래그 확인

사진 파일을 윈도우로 옮겨서 파일의 확장자를 jpg로 바꿔 확인해보면 플래그를 확인할 수 있습니다.

 

FLAG = unshattered.jpg

Multimedia Forensic #56 Find Key (docx)

 

56번 문제

 

문제 파일로 2013_CodeGate F300-find_key.docx 파일이 주어집니다.

 

문제 파일 안에 사진

 

사진2
사진3

 

파일을 열어보면 위 사진들처럼 각종 사진들이 있습니다.

 

스테가노그래피 문제에서 흔히 사용되는 확장자 변조를 확인하기 위해 HxD로 시그니처를 확인하였습니다.

 

시그니처 확인

 

동일한 시그니처 확인

 

시그니처는 50 4B 03 04로 ZIP파일의 시그니처와 동일하며, 그 외에도 16개의 파일과 같은 시그니처를 가집니다.

 

이 파일은 ZIP파일의 시그니처와 동일하며, docx는 압축 파일 구조를 따르는 문서입니다.

 

따라서, 확장자를 docx에서 zip으로 바꿔서 확인해보았습니다.

 

zip 파일 내용 확인

 

zip파일로 바꾸고 디렉토리를 확인하면 여러 파일들을 확인할 수 있습니다.

 

rels 파일

 

압축을 해제하고, word폴더에서 _rels폴더로 가서 document.xml.rels라는 파일을 확인할 수 있습니다.

 

document.xml.rels : ID와 각 데이터를 연결 정보를 확인할 수 있는 파일입니다.

 

File Viewer Plus 활용 파일 확인

File Viewer Plus : xml,rels 등 여러 문서 파일들의 내용을 확인할 수 있도록 도와주는 도구입니다.

 

바로 파일을 열 수 없어서 File Viewer Plus라는 도구를 활용해서 파일을 확인하였습니다.

 

확인해보면 관계가 맺어졌던 파일들의 목록을 확인할 수 있습니다.

 

계속 디렉토리를 분석해보면 word 디렉토리에 media 폴더에 2013_CodeGate F300-find key.docx를 zip파일로 바꾸기 전에 확인할 수 있었던 사진 파일들을 확인할 수 있습니다.

 

바꾸기 전 파일 확인

 

그런데 특이한 점은, image6.emf 파일만 정상적으로 열리지 않습니다.

 

파일 확인할 수 없음

 

또한 위에서 관계를 맺었던 파일들을 확인해보면 image6.emf파일은 확인할 수 없습니다.

 

따라서 image6.emf 파일을 숨기려고 했던 것으로 추측해볼 수 있습니다.

 

image6.emf 시그니처 확인

 

image6.emf 파일이 확장자가 변조된 것으로 예상하고, HxD로 확인해보면 50 4B 03 04 14 00 06 00 이었습니다.

 

 

image6.docx

50 4B 03 04 14 00 06 00 시그니처는 docx, pptx의 시그니처로 docx 확장자로 변경하면 2013이 빨간 글씨로 된 것을 확인할 수 있습니다.

 

분석을 추가적으로 진행하다보면 Hint를 통해서 Extra Field에 데이터가 은닉되었음을 예측할 수 있습니다.

 

docx, xlsx, pptx 파일은 OOXML(Office Open XML)으로 Office 문서용 XML 기반 형식입니다.

 

해당 파일 구조에는 파일 이름 뒤에 추가적인 정보를 저장하는 Extra Field가 존재하는데 파일 이름 뒤에 표시한 영역부터 Extra Field 입니다.

 

Extra Field

은닉된 정보를 추출하기 위해 ooXML Steganography v4를 이용하여 은닉된 정보를 추출하였습니다.

 

ooXML Steganography v4 : OOXML 구조의 데이터 Extra Field에 데이터를 은닉, 추출하는 기능을 제공해주는 도구

 

4개의 실행프로그램

도구를 다운받으면 4개의 실행프로그램을 확인할 수 있습니다.

 

 

ooXML Steganography 도구 사용

 

그 중에서 ooXML_Steganography_UnHider_x64.exe 파일을 실행시킵니다.

 

image6.docx 경로를 선택하고, Set decryption key에 2013을 복호화 키로 입력하고 Unhide data를 누르면 stego_unpack_10.09.2019_11.07.15.txt 이름으로 된 은닉된 데이터를 복호화 및 추출해주는 걸 확인할 수 있습니다.

 

ooXML Steganography v4

 

 

플래그 값 확인

 

텍스트 파일을 열어 확인하면 문제에서 요구한 키 값인 플래그를 확인할 수 있습니다.

 

FLAG = c0d2gate~2o13!!F0r2nsic!!!!!

 

Multimedia Forensic #53 주어진 파일들을 이용해 KEY를 찾아라!

 

53번 문제

 

문제를 보면 주어진 파일들을 이용해 KEY를 찾으라 하고, 압축 파일이 하나 주어집니다.

 

압축 파일을 확인하면 총 1~5 이름으로 된 4개의 PNG 확장자 파일과 1개의 JPG 확장자 파일이 있습니다.

 

문제 파일 확인

 

파일 이름이 for_release로 되어 있고, 총 5개의 파일이 주어집니다.

 

어떤 사진인지 잘 몰라서 검색해본 결과, 공항 사진이라고 합니다.

 

1~4번 사진은 공항 사진이지만, jpg 파일은 steghide로 되어 있는 것으로 보아 steghide 도구를 써서 해결하는 문제이고, 스테가노그래피와 관련된 문제인 것 같습니다.

 

Steghide : 이미지에 데이터를 숨기거나 추출해내는 도구로 다양한 종류의 이미지 및 오디오 파일에서 데이터를 숨길 수 있게 하는 스테가노그래프 툴

 

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

 

Steghide

If a new version of steghide is released, the announcement will be posted to the steghide-announce mailing list. If you want to be informed of new versions, please subscribe to this list. The steghide-devel mailing list serves as a discussion forum on steg

steghide.sourceforge.net

steghide 사용

 

steghide 도구 사용 결과, PNG 형식의 사진 파일은 steghide 도구가 지원하는 파일 형식이 아닙니다.

 

따라서 steghide가 지원하는 jpg 형식인 steghide.jpg 파일을 통해 확인해보면 암호 없이는 데이터를 추출할 수 없다는 메시지가 출력됩니다.

 

암호의 단서는 주어진 1~4번 png 파일에서 찾아야 한다고 추측해볼 수 있습니다.

 

주어진 사진들은 공항을 나타내는 사진이니 구글에서 이미지 검색을 통해 공항 정보를 확인하였습니다.

 

검색을 통해 확인한 결과, 주어진 사진들의 공항 이름을 확인할 수 있습니다.

 

1번 사진

1.png - Jose Marti International Airport

 

2번 사진

2.png - Hong Kong International Airport

 

3번 사진

3.png - Los Angeles International Airport

 

4번 사진

4.png - Toronto Lester B. Pearson International Airport

 

1 ~ 4번 사진 파일 모두 공항 이름의 전체를 key로 사용하기에는 너무 길어서 다른 방법을 찾다가, IATA 코드라는 것을 알게 되었습니다.

 

IATA 코드 - 세계의 모든 공항이 중복되지 않도록 IATA가 발급한 코드로 예를 들면 인천 국제공항은 ICN, 김포공항은 GMP입니다.

 

1~4번 PNG 파일의 IATA 코드를 확인해보면 다음과 같습니다.

 

1.png - HAV

2.png - HKG

3.png - LAX

4.png - YYZ

 

IATA 코드를 연결한 HAVHKGLAXYYZ를 암호로 입력하게 되면 숨겨진 key.txt 파일을 추출할 수 있습니다.

 

key.txt 파일 추출

 

key.txt 파일에 문제의 key가 있는 것을 확인할 수 있습니다.

 

플래그 값 확인

 

FLAG = iH4t3A1rp0rt5

Multimedia Forensic #51 e_e

 

51번 문제

 

문제를 보면 0227597b75da424e4233f8b3c1873446이라는 확장자가 없는 파일이 주어집니다.

 

우선 파일 유형이 무엇인지 확인하기 위해 file 명령어로 어떤 파일인지 확인해보았습니다.

 

jpg 확장자 확인

 

문제 파일이 jpg 파일인 것을 확인할 수 있습니다. (파일 이름은 편하게 하기 위해 00000으로 변경한 것입니다.)

 

확장자를 .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

메타데이터 확인

 

메타데이터 분석 결과, 이상한 부분은 아예 없습니다.

 

다시 사진 파일을 확인하면 중간에 알파벳이 들어가 있는 것을 확인할 수 있습니다.

 

알파벳 확인

 

알파벳을 조합해보면 ZmxhZ3tuIWNldHJ5fQ라는 문자열을 확인할 수 있습니다.

 

형태를 추측해보면 BASE64로 인코딩 된 문자열로 추측할 수 있습니다.

 

BASE64 디코딩 사이트를 통하여 문자열을 디코딩 해보았습니다.

 

base64 인코딩/디코딩 사이트 : https://www.base64decode.org/

 

Base64 Decode and Encode - Online

Decode from Base64 or Encode to Base64 - Here, with our simple online tool.

www.base64decode.org

플래그 값 확인

BASE64 디코딩을 통하여 플래그를 확인할 수 있습니다.

 

FLAG = flag{n!cetry} 

Multimedia Forensic #50 QR코드를 발견했지만...

 

50번 문제

 

문제를 보면 qr이라는 jpg 파일 형태의 QR코드가 주어집니다.

 

하지만 스캔에 문제가 있다고 하고, 코드를 고칠 수 있을지도 모른다고 합니다.

 

문제 파일 확인

 

QR코드를 복구하기 위해 GIMP 도구를 사용하였습니다.

 

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

 

설치 사이트 : https://www.gimp.org/

 

GIMP

GIMP - The GNU Image Manipulation Program: The Free and Open Source Image Editor

www.gimp.org

잘린 경계선을 기준으로 이어지는 검은색 부분을 복구할 것입니다.

 

먼저 [파일] - [새 이미지]로 주어진 qr.jpg 파일보다 너비와 높이가 큰 흰 바탕을 열어줍니다.

 

좀 여유롭게 500x500픽셀이 적당할 것 같습니다.

 

파일 - 새 이미지 화면

 

다음으로 [파일] - [레이어]로 열기를 선택하여 qr.jpg 파일을 GIMP에서 열고, [레이어] - [레이어 경계 크기] 메뉴에서 레이어 크기를 설정해줍니다.

 

레이어 경계 크기

 

기존의 너비, 높이 355에서 각각 400으로 적어주고, 가운데 버튼을 눌러 QR코드가 치우치지 않도록 설정해줍니다.

 

레이어 경계 크기를 늘린 다음, 잘린 부분을 검은색으로 붓이나 다른 칠하기 도구를 사용하여 복구해줍니다.

 

복구 사진

 

위 화면처럼 잘린 부분을 복구해주면 됩니다. (저렇게 해도 스캔이 잘 안되는 경우가 많습니다.)

 

복구가 완료되면 코드를 모바일 어플이나 온라인 사이트를 사용하여 스캔해주면 플래그를 얻을 수 있습니다. (다른 이름으로 저장하면 xcf 확장자로 저장되니, 내보내기를 통하여 png나 jpg로 저장해야 됩니다.)

 

스캔 사이트 : https://www.onlinebarcodereader.com/

 

Barcode Reader

Welcome With this free online tool you can decode various barcode formats. We support the following barcode symbologies: 1D Point of sale: UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar (a.k.a. RSS) 1D Industrial Symbols: Code 39, Code 93, Code 128, GS1-128, Cod

www.onlinebarcodereader.com

플래그 값 확인

 

FLAG = who_spilled_their_coffee_on_my_qr_code

+ Recent posts