Multimedia Forensic #31 Find Key(Hash)

 

31번 문제

 

문제를 보면 Apocalypse라는 이름으로 된 텍스트 형태의 파일이 주어지고, 플래그 포맷은 md5로 되어 있다고 합니다.

 

텍스트 파일 확인

 

주어진 텍스트 파일을 확인해보면 중간에 공백이 길게 들어가 있는 것을 확인할 수 있습니다.

 

주어진 텍스트 파일 긴 공백 안에 스테가노그래피를 적용한 것 같습니다.

 

따라서 주어진 텍스트 파일을 HxD를 이용해 분석해보면 긴 공백 안에 어떠한 값이 들어가 있는지 확인할 수 있습니다.

 

HxD 텍스트 파일 확인

 

텍스트 파일 공백에 데이터를 숨기는 스테가노그래피 기법에는 Whitespace 스테가노그래피 방법이 있습니다.

 

Whitespace 스테가노그래피 : 공백과 탭은 일반적으로 텍스트 뷰어에 나타나지 않기 때문에, 텍스트 라인 끝에 공백을 추가하여 아스키(ASCII)코드를 숨기는데 사용합니다.

 

확인해본 결과, Whitespace 스테가노그래피 기법을 사용했다고 예측할 수 있습니다.

 

따라서 Whitespace 스테가노그래피를 풀기 위한 도구인 SNOW를 이용해 키 값을 확인해보겠습니다.

 

SNOW : Whitespace 스테가노그래피 기법인 텍스트 공백과 탭에 숨겨진 아스키 문자를 분석해줍니다.

 

설치 사이트 : http://www.darkside.com.au/snow/

 

The SNOW Home Page

The SNOW Home Page Whitespace steganography The program SNOW is used to conceal messages in ASCII text by appending whitespace to the end of lines. Because spaces and tabs are generally not visible in text viewers, the message is effectively hidden from ca

www.darkside.com.au

SNOW 도구 사용

 

키 값을 찾아내기 위해 텍스트 파일을 SNOW 도구를 이용해 실행시키면 Encore un coup des Anonymous 라는 문자열이 출력되는 것을 확인할 수 있습니다.

 

문제에서 플래그 포맷은 md5라고 하였으니, 출력된 문자열을 md5값으로 확인하기 위해 HashCalc 도구를 통해 텍스트 문자열의 md5값을 확인하였습니다.

 

HashCalc : 다양한 해시값 추출 프로그램으로, 파일 무결성 검사 도구로 많이 쓰입니다.

 

설치 사이트 : https://www.slavasoft.com/hashcalc/

 

SlavaSoft HashCalc - Hash, CRC, and HMAC Calculator

SlavaSoft HashCalc HASH, CRC, AND HMAC CALCULATOR HashCalc 2.02     FREE A fast and easy-to-use calculator that allows to compute message digests, checksums and HMACs for files, as well as for text and hex strings. It offers a choice of 13 of the most popu

www.slavasoft.com

HashCalc 실행

 

HashCalc를 실행하면 위 화면과 같이 실행이 됩니다.

 

Data Format에서 Text String으로 바꿔주고, Data에 Encore un coup des Anonymous를 입력해주면 됩니다.

 

그런 다음, Calculate를 누르면 md5 창에 md5로 변환된 값이 나옵니다.

 

플래그 확인

 

md5로 바뀐 플래그 값을 확인할 수 있습니다.

 

FLAG = 0faec26266432f508d05bf36285ea718

Multimedia Forensic #29 답을 찾기 위해 돋보기를 써라!

 

29번 문제

 

문제를 보면 html 형태의 파일이 주어지고, 답을 찾기 위해 돋보기를 쓰라고 합니다.

 

 

QR코드

 

바로 파일을 눌러 확인해보면 QR코드가 주어집니다.

 

그냥 아무렇지 않게 QR코드 인식 사이트로 가서, QR코드를 인식해보았습니다.

 

QR코드 사이트https://zxing.org/w/decode.jspx

 

ZXing Decoder Online

 

zxing.org

인식 결과

 

인식하면 이런 MD5 모양으로 플래그 값처럼 나오게 됩니다.

 

진짜 이게 끝인가하고 플래그에 그대로 적어봤더니 플래그가 맞았습니다..

 

(원래 문제는 html에서 페이지 소스보기를 통해 rgb값을 변경시키면서 풀어나가는 문제입니다..)

 

(문제의 오류인지 몰라도 이렇게 바로 플래그가 나오게 되었습니다.)

 

FLAG = 8febb919bc0fc08e3e1108b1b6bfef37

 

 

 

 

Multimedia Forensic #28 Find Key (Movie)

 

28번 문제

 

이번 문제는 avi 형태의 동영상 파일이 문제로 주어집니다. (이름은 너무 이상해서 가렸습니다.)

 

동영상을 재생시켜 보면 시간에 영상과 맞지 않는 다른 이미지가 보이는 것을 확인할 수 있습니다.

 

이를 통해 플래그 값을 가진 사진을 숨겨 놓았을 것으로 예상하고, 프레임 분석을 통하여 플래그 값이 들어간 사진을 찾을 수 있었습니다.

 

동영상 : 사진을 연속적으로 보여주는 것이며, 한장 한장의 사진들이 초당 얼마간의 속도로 빠르게 바뀌면서 움직이는 하나의 동영상을 만들어 내게 됩니다.

 

프레임 : 이러한 동영상의 한장 한장의 사진을 말합니다.

 

팟플레이어 연속 영상 캡처

 

프레임 분석을 위해 팟플레이어의 연속 영상 캡처 기능을 이용하여 원하는 프레임만큼 사진 파일로 저장합니다.

 

캡처 설정으로 통하여 캡처 개수를 넉넉하게 설정하고, 프레임당 캡처 설정을 통해 프레임당 1개씩 캡처가 되도록 설정해 줍니다.

 

시작 버튼을 누르고 동영상을 재생해주면 저장 폴더 위치로 사진이 캡처되어 저장되는 것을 확인할 수 있습니다.

 

프레임 분석

프레임 캡처를 완료하면 위 화면과 같이 많은 사진이 저장된 것을 확인할 수 있습니다. (검은색 띠 화면은 파일 이름을 가렸습니다.)

 

저장된 파일들을 확인해보면 도중에 이상한 사진들이 껴있는 것을 확인할 수 있습니다.

 

사진 1
사진 2
사진 3
사진 4

몇 가지의 이상한 사진들이 있었고, 그 중에 원하는 플래그 값이 들어간 사진을 확인할 수 있었습니다.

 

플래그 확인

 

md5 형식으로 된 플래그 값이었습니다.

 

FLAG = 26ab0db90d72e28ad0ba1e22ee510510

 

 

Multimedia Forensic #27 오른쪽 위의 표지판을 읽을 수...

 

27번 문제

 

문제에서 표지판을 읽을 수 있도록 이미지를 선명하게 할 수 있냐고 물어봅니다.

 

문제 파일 확인

 

이미지 파일을 확인해보면 초점이 맞지 않아 흐릿하게 보이는 것을 확인할 수 있습니다.

 

초점을 맞춰주기 위해 SmartDeblur라는 도구를 사용하여 초점을 맞춰 주었습니다.

 

SmartDeblur : 잘못된 초점이나 블러 효과로 흐려진 사진을 복구할 수 있는 기능을 제공하는 도구

 

설치 사이트 : http://smartdeblur.net/download.html

 

SmartDeblur - Download

 

smartdeblur.net

SmartDeblur 사용

 

왼쪽 상단에 Blur Parameters에 있는 값을 변경하면 실시간으로 이미지에도 적용이 됩니다.

 

 

복구된 이미지

Detect Type에서 Out of Focus Blur로 바꾸고, Radius의 값을 20 ~ 21 정도로 바꿔주고, Post-Processing options에서 Smoothness를 1%로 설정해주면 정확한 이미지를 확인할 수 있습니다.

 

문제에서 오른쪽 위의 표지판을 말했으니 오른쪽 위 표지판에 있는 Coxsackie가 플래그가 됩니다.

 

FLAG = Coxsackie

Multimedia Forensic #26 이 그림에는 뭔가 좀 수상한...

 

26번 문제

 

문제를 보면 이 그림에는 뭔가 수상한 점이 있다고 하고, 플래그를 찾아달라고 합니다.

 

그리고 PurpleThing이라는 이름으로 된 png 파일이 주어집니다.

 

png 파일 확인

 

png 파일을 열어 보면 위 화면과 같은 사진이 나옵니다.

 

사진 파일 확장자를 가졌지만, 혹시 다른 파일 시그니처로 되어 있지 않은가해서 파일 유형을 자세하게 분석하기 위해 file 명령어로 분석해보았습니다.

 

file 명령어 확인

 

확인해본 결과, 일반적인 png파일이라는 것을 확인할 수 있습니다.

 

혹시 메타데이터 정보에 플래그가 있지 않을까 해서 exiftool 도구를 사용해 분석해보았습니다.

 

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

 

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

 

exif 도구 사용

 

메타데이터 정보를 봐도 플래그 값은 나오지 않습니다.

 

하지만 파일의 크기가 2.2MB로 봐서 사진 파일치고는 꽤 큰 용량을 가진 파일이라는 것을 확인할 수 있습니다.

 

파일 안에 다른 파일이 숨겨져 있을 것 같아 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

binwalk 사용

 

확인한 결과, PNG 파일 안에 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

foremost 사용

 

추출하면 output이라는 폴더가 생기고, 폴더를 확인하면 한 개의 폴더(jpg)와 한 개의 파일(audit.txt)이 생성되는 것을 확인할 수 있습니다.

 

플래그 확인

 

jpg 폴더를 확인해보면 플래그 값이 나오게 됩니다.

 

FLAG = ABCTF{PNG_S0_COO1}

Multimedia Forensic #25 거래 조건 알고 있잖아요?

 

25번 문제

 

문제에서 jpg 파일에서 플래그를 찾아보라고 합니다.

 

이미지 파일 확인

 

하지만 파일을 열어 확인해보면 제대로 된 이미는 보이지 않고, 이상하게 보입니다.

 

혹시 파일 시그니처가 잘못된건지 파일 유형을 알아보기 위해 file 명령어를 사용하였습니다.

 

확인 결과, JPEG 파일 형식이 아닌 뜬금없게 PDP-11이라는 전혀 관계 없는 정보가 확인 됩니다.

 

PDP-11 : 디지털 이큅먼트 코퍼레이션(DEC)가 1970부터 1990년대까지 판매하였던 16비트 미니컴퓨터 시리즈 

 

해당 파일의 헥사코드를 확인하기 위해 xxd 명령어를 통해 확인했더니 파일 시그니처 부분이 다른 값으로 입력되어 있는 것을 확인하였습니다.

 

xxd 명령어 입력

 

xxd : xxd 명령은 바이너리 데이터를 16진수로, 16진수 데이터를 바이너리 데이터로 변환해주는 명령어입니다.

 

확인해보면, 위의 화면처럼 파일 시그니처 부분이 FF D8로 시작하는 시그니처가 아닌 0101 0100으로 입력되어 있는 것을 확인할 수 있습니다.

 

일단 처음에 확장자가 JPG로 되어 있어서 파일 시그니처 0101 0100FF D8 FF 00으로 변경해보았습니다. 

 

플래그 값 확인

 

정상적인 사진 파일에서 플래그를 확인할 수 있습니다.

 

FLAG = abctf{tfw_kage_r3kt_nyway}

 

 

 

 

 

+ Recent posts