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

Multimedia Forensic #66 (저는 미치지 않았어요.)

 

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

 

문제 파일을 다운로드하면 tar.gz 확장자 파일인 것을 확인할 수 있다.

 

해당 파일을 리눅스로 옮겨서 압축을 해제하였다.

 

[그림 1] 압축 해제

 

압축을 풀어주면, Cooper.exe라는 파일이 생성된다.

 

해당 파일에 대한 정보 확인을 위해, file 명령어로 확인하였다.

 

[그림 2] file 명령어

 

윈도우 운영체제 실행파일로 확인되었다.

 

[그림 3] 파일 확인

 

해당 파일을 확인해보면, 다음과 같은 화면이 출력된다.

 

파일 실행만으로 플래그를 알 수 없어서, HxD를 통해 해당 파일을 분석하였다.

 

[그림 4] PDF 파일 시그니처 발견

 

HxD로 분석한 결과, PDF 파일의 시그니처가 바로 보인다.

 

따라서 실행파일 내부에 숨겨진 PDF 파일이 있다는 것을 확인하였다.

 

다시 리눅스에서 foremost 도구를 사용하여 숨겨진 파일을 카빙하였다.

 

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

 

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

 

[그림 5] foremost 도구 사용

 

위 명령어를 통해 숨겨진 파일들을 추출하였다.

 

[그림 6] 카빙 결과

 

카빙 결과로 zip 파일과 pdf, zip 3개 형태의 파일이 추출 된 것을 확인할 수 있다.

 

[그림 7] 암호 필요 요구

 

zip 파일과 exe 파일에서 별다른 정보가 없어서, pdf 파일을 실행해 보면 암호가 걸려 있다.

 

해당 pdf를 열기 위해 비밀번호를 찾아야 하므로 pdfcrack 도구를 사용하여 비밀번호를 확인하였다.

 

 

pdfcrack : PDF 파일에 설정된 비밀번호를 무차별 대입 공격을 통해 풀어주는 도구

 

다운로드 : http://soft.rubypdf.com/software/pdfcrack

 

PDFCrack – RubyPdf Technologies

PDFCrack – A Password Recovery Tool for PDF-files About PDFCrack PDFCrack is a GNU/Linux (other POSIX-compatible systems should work too) tool for recovering passwords and content from PDF-files. It is small, command line driven without external dependenci

soft.rubypdf.com

그리고 사전 공격의 단어 리스트로 자주 사용되는 단어들을 모아둔 파일인 rockyou.txt 파일을 통해 pdfcrack을 실행하였다.

 

[그림 8] pdfcrack 폴더 - 문제 파일과 텍스트 파일 넣기

 

pdfcrack 폴더에 문제 파일과 텍스트 파일을 다운 받아 넣어준다. (pdf 파일 이름이 길어서 수정..)

 

[그림 9] cmd 실행 - pdfcrack.exe 실행

 

cmd를 실행시킨 다음, pdfcrack.exe 파일이 있는 경로로 이동하여 위 화면과 같이 실행할 수 있다.

 

결과에서 sheldon이라는 비밀번호가 PDF 파일의 비밀번호라는 것이 확인된다.

 

[그림 10] pdf - 플래그 확인

 

결과대로, PDF 파일의 비밀번호를 입력해주면 위 화면과 같은 사진이 나오면서 밑에는 문제 플래그가 적혀있다.

 

밑에 문자열을 플래그로 입력해주면, 문제를 해결할 수 있다.


# Reference

 

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

 

Multimedia Forensic #52 (pdf파일 암호를 잊어...)

 

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

 

문제 파일을 다운로드하면 PDF 파일이라는 것을 확인할 수 있고, 파일을 실행하면 암호가 걸려 있다.

 

[그림 1] 암호 여부 확인

 

이번 문제는 파일의 암호를 찾는 문제이고, 무차별 대입 공격(Brute Force)을 통해 해결할 수 있는 문제인 것 같다.

 

무차별 대입 공격 : 특정 암호를 풀기 위해 모든 경우의 수를 무작위로 대입하여 암호를 푸는 공격 방법을 의미

 

 

문제 파일인 pdf의 암호를 풀기 위해 pdfcrack이라는 도구를 사용하였다.

 

pdfcrack : PDF 파일에 설정된 비밀번호를 무차별 대입 공격을 통해 풀어주는 도구

 

다운로드 : http://soft.rubypdf.com/software/pdfcrack

 

PDFCrack – RubyPdf Technologies

PDFCrack – A Password Recovery Tool for PDF-files About PDFCrack PDFCrack is a GNU/Linux (other POSIX-compatible systems should work too) tool for recovering passwords and content from PDF-files. It is small, command line driven without external dependenci

soft.rubypdf.com

[그림 2] pdfcrack 폴더 - 문제 파일 넣기

 

다운로드하고 압축을 풀어주면, pdfcrack 폴더 안에 exe 파일이 있다.

 

같은 폴더 안에, 문제 파일도 같이 넣어준다.

 

이제 pdfcrack.exe를 cmd를 통해 실행시켜 준다.

 

[그림 3] pdfcrack.exe 사용

 

위 화면대로 pdfcrack.exe를 실행시킬 수 있다.

 

하지만, 위 화면대로 실행하면 비밀번호를 찾는 시간이 너무 오래 걸린다...

 

[그림 4] 계속 비밀번호 찾는 중..

 

정말 너무 오래 걸린다.. 하하

 

그래서 빠르게 풀기 위해 사전 공격(Dictionary Attack)의 단어 리스트로 자주 사용되는 단어들을 모아 둔 rockyou.txt 파일을 통해 시도하였다.

 

[그림 5] 구글 - rockyou.txt 검색

 

맨 처음 보이는 사이트로 들어가게 되면, wordlist(rockyou.txt) 파일을 다운받을 수 있다.

 

[그림 6] pdfcrack 폴더 - 내용 확인

 

pdfcrack 폴더에 문제 파일과 rockyou.txt 파일을 넣고, 다시 cmd를 실행시킨다.

 

[그림 7] 비밀번호 찾기 성공

 

사전 공격(Dictionary Attack)을 통해 해당 PDF의 비밀번호가 elephant라는 것을 확인하였다.

 

이제 비밀번호를 통해 PDF 파일을 열어 보면 다음과 같은 화면이 나오게 된다.

 

[그림 8] PDF 파일 확인

 

비밀번호를 사용해 PDF 문서를 열어 보면 플래그를 보여주지 않는다.

 

그럼 플래그는 어디 있지? 생각하다가 한번 PDF 파일의 본문을 드래그해봤다.

 

[그림 9] 드래그 화면

 

파일을 드래그하면, 밑에 무언가가 적혀 있는 것이 확인된다.

 

그대로 복사 - 붙여 넣기를 해서 보면 플래그를 확인할 수 있다.

 

[그림 10] 플래그 확인

 

다음과 같은 방법으로, 플래그 확인이 가능하며 문제를 해결할 수 있다.


# Reference

 

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

+ Recent posts