Multimedia Forensic #48 flagception

 

48번 문제

 

문제를 보면 플래그를 깃발에 넣었다고 하고, logo라는 이름을 가진 png 파일이 주어집니다.

 

문제 파일 확인

 

문제 파일이 사진이라는 점과 문제 지문에서 깃발에 플래그를 넣었다고 하였을 때, 사진에 있는 깃발에 플래그가 있을 것으로 추측했습니다.

 

스테가노그래피 문제라고 생각하고, 여러 가지 분석 도구를 사용하다가 Stegsolve에서 이상한 점을 발견하였습니다.

 

Stegsolve : 비트 평면(bitplanes)에 기반을 두어 이미지를 분석해주는 툴로 LSB를 검사할 때 많이 사용됩니다. (비트 평면은 픽셀 값을 저장하는 각 비트에 대해 그 값이 0인지 1인지 검사하여 하나의 영상 형태로 만든 것을 말합니다.)

 

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

 

[WeChall] Stegsolve 1.3 [WeChall]->WePost

 

www.wechall.net

Stegsolve 실행 명령어 입력

 

Red Plane 1 적용

 

Stegsolve 도구를 사용하여 Red Plane 1을 적용하고, 확인해보면 깃발 부분에 보이지 않던 픽셀을 확인할 수 있습니다.

 

깃발 부분 확대

 

해당 부분을 원본 사진을 통하여 다시 확인해보면 주변과는 조금 다른 픽셀을 가진 픽셀들을 확인할 수 있습니다.

 

그림판 확대

 

더 확대해서 보기 위해 그림판을 실행시켜서 확대하였습니다.

 

해당 부분을 살펴보면 가로 길이가 8, 세로 길이가 20이라는 것을 확인할 수 있습니다.

 

이를 통하여 8이라는 길이를 바이너리로 표현했을 것이라고 생각하여 밝은 부분을 0, 어두운 부분을 1로 두고 바이너리 값을 계산할 수 있습니다.

 

예를 들어, 첫 번째 줄은 01000010 이런 식으로 바이너리를 구할 수 있습니다.

 

바이너리 계산 값

 

모든 바이너리 값을 계산하고, 문자열로 변환하기 위해 온라인 바이너리 변환 사이트를 이용하여 문자열로 변환하였습니다.

 

온라인 바이너리 변환 사이트 : https://paulschou.com/tools/xlate/

 

TRANSLATOR, BINARY

 

paulschou.com

바이너리 복사 - 붙여넣기

 

계산한 바이너리 값을 복사 후, BINARY에 붙여넣기를 해준 다음, DECODE를 눌러주면 됩니다.

 

플래그 값 확인

 

DECODE를 눌러주면, 위 TEXT 창에서 플래그 값을 확인할 수 있습니다.

 

FLAG = BITSCTF{f1agc3pt10n}

 

 

Multimedia Forensic #47 아나그램(Anagram) 할 사람?

 

47번 문제

 

이번에는 문제 파일로 xls 확장자를 가진 엑셀 파일이 주어집니다.

 

해당 파일은 Microsoft Office의 엑셀 파일입니다.

 

경고 화면

 

엑셀 프로그램을 사용하여 열어보면 위와 같이 경고창이 뜨게 됩니다.

 

제한된 보기

 

'예'를 누르고 진행하면 위 화면과 같이 제한된 보기 창이 나옵니다.

 

매크로 사용 확인

 

편집 사용 버튼을 누르면 보안 경고가 뜨면서 매크로가 등록되어 있는 것을 확인할 수 있습니다.

 

파일에 매크로가 설정 되어 있는 것을 확인하고, 파일 내부에 지정한 코드가 있음을 예측할 수 있습니다.

 

Dolt 매크로 확인

 

'콘텐츠 사용'을 누르고 보기 탭에서 매크로 보기를 눌러 매크로를 확인하면 위 화면과 같이 Dolt 이름의

매크로가 있는 것을 확인할 수 있습니다. 

 

해당 매크로를 클릭 후 편집 버튼을 누르면 해당 매크로에 대한 상세한 정보를 확인할 수 있습니다.

 

매크로 코드

 

Dolt 매크로를 확인하게 되면 매크로 코드를 확인할 수 있으며 코드를 살펴보면 USERPROFILE 위치에

fileXYZ.data 파일을 생성하는 것을 확인할 수 있습니다.

 

fileXYZ.data 파일 확인

 

생성되는 파일을 확인하기 위해 전에 확인했던 매크로 보기에서 Dolt 매크로를 실행시키고 USERPROFILE 경로를 확인해 보면 fileXYZ.data 파일이 생성된 것을 확인할 수 있습니다.

 

fileXYZ.data 경로는 주로 C:\Users\(사용자)user 경로에 위치하고 있습니다.

 

HxD로 시그니처 확인

 

해당 파일을 HxD를 통해 확인해보면 ELF 파일인 것을 확인할 수 있습니다.

 

ELF 파일의 경우 리눅스 실행 파일이므로 리눅스에서 해당 파일을 옮겨 실행을 시켰습니다.

 

플래그 값 확인

 

실행 결과, 문제의 플래그 값을 얻을 수 있습니다.

 

FLAG = SharifCTF{5bd74def27ce149fe1b63f2aa92331ab} 

 

Multimedia Forensic #44 basisSixtyFour

 

 

44번 문제

 

 

문제 파일로 압축된 파일이 주어집니다.

 

압축 파일 암호

 

압축을 풀려고 하면 암호가 걸려 있습니다.

 

지문에서 제공된 패스워드를 이용하여 압축을 풀 수 있습니다.

 

압축 해제

 

압축을 해제하면 FORENSIC SOAL 1 LEVEL 2라는 이름으로 된 디렉토리가 생성됩니다.

 

그리고 그 안에는 Wh4Tis1t.png 사진 파일이 생성됩니다.

 

파일 형식 지원 X


사진 파일을 열어보면 파일을 열 수 없다고 오류가 발생합니다.

 

HxD를 사용하여 사진 파일을 확인해보았습니다.

 

사진 파일 헥스 확인

 

파일을 확인해보면 위 화면과 같이 base64로 인코딩 된 데이터를 확인할 수 있습니다.

 

데이터를 저장하기 위해 리눅스에서 cat 명령어와 base64 명령어를 사용하였습니다.

 

명령어 입력

 

저장된 파일 이름을 decode.png라는 이름으로 저장하였습니다.

 

QR코드

 

저장된 파일을 확인하면 QR코드를 확인할 수 있습니다.

 

이번에는 QR코드 디코딩 사이트를 이용해서 데이터를 확인해보았습니다.

 

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

 

ZXing Decoder Online

 

zxing.org

플래그 값 확인

 

결과를 확인하면 Parsed Result에서 플래그를 확인할 수 있습니다.

 

FLAG = 1bT3aMj4b0Det4b3K

Multimedia Forensic #42 Hash

 

 

42번 문제

 

문제 제목이 Hash라는 것을 보고, Hash 값으로 푸는 문제 같습니다.

 

문제를 보면 압축된 파일이 주어집니다.

 

암호가 걸려 있음

압축을 풀려고 하면 암호가 걸려 있습니다.

 

지문에서 제공된 비밀번호를 입력하면 압축이 풀어집니다.

 

압축된 파일 확인

압축을 풀게 되면 clue.zip 파일과 wallpaper.jpg 파일이 생성됩니다.

 

clue.zip 파일은 또 암호가 걸려 있습니다.

 

혹시 또 지문에 있는 비밀번호인가 확인해보면 압축이 풀리지 않습니다.

 

그래서 압축을 해제하기 위해 분석해보았습니다.

 

wallpaper.jpg 확인

wallpaper.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

exiftool 프로그램 사용

 

exiftool을 사용하여 결과를 확인해보면 사진 파일에 대한 설명 중에 XP Comment에 마지막이 =으로 끝나는 것을 보고 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 디코딩된 데이터

데이터가 디코딩되면 이번에는 md5 같은 문자열을 확인할 수 있습니다.

 

md5 값이 어떤 데이터인지 확인하기 위해 md5 디코딩 웹사이트를 이용하여 데이터를 확인해보았습니다.

 

md5 디코딩 사이트 : http://hashtoolkit.com/

 

Decrypt MD5 & SHA1 Password Hashes

Decrypt MD5 & SHA1 password hashes with Hash Toolkit. Search the database of billions of reversed hashes.

hashtoolkit.com

md5 디코딩 데이터

 

데이터를 디코딩하면 j0k3r 문자열을 확인할 수 있습니다.

 

이 문자열이 clue.zip 파일의 비밀번호인지 확인해보았습니다.

 

압축 해제 성공

압축이 플리게 되고, 안에 있는 파일은 history.txt 파일과 jokerBrangkas.zip 파일이 들어있는 것을 확인할 수 있습니다.

 

jokerBrangkas.zip 암호 확인

 

jokerBrangkas.zip 파일 안에 PL49!.txt 파일이 압축되어 있어서 압축을 해제하려고 하면 또 암호가 걸려 있습니다.

 

이 암호에 대한 힌트를 찾기 위해 history.txt 파일을 분석해보았습니다.

 

history.txt 파일 내용 확인

history.txt 파일을 확인해보면 조커에 대한 소개하는 글이 존재합니다.

 

여기서 특이한 점은 알파벳의 대문자가 문장이 시작될 때 사용되는 것이 아니라 불규칙하게 사용되고 있는 것을 확인할 수 있습니다.

 

그리고 중간에 숫자가 포함되어 있는 것을 확인할 수 있습니다.

 

이상해 보이는 영어 대문자와 숫자만 추출해보았습니다.

 

grep,tr 명령어 옵션 사용

 

grep -o : 매치되는 문자열만 표시해줍니다.

 

tr -d : 지정한 문자를 삭제하고 출력시켜줍니다.

 

대문자 알파벳과 숫자만 추출하면 20자의 문자열을 확인할 수 있습니다.

 

이 문자열이 jokerBrangkas.zip 파일 암호가 맞는지 확인해보았습니다.

 

플래그 값 확인

 

내용을 확인하면 플래그 값을 확인할 수 있습니다.

 

FLAG = fL4G0nd0L-j0K3rS

Multimedia Forensic #41 모두 비밀번호를 txt파일...

 

41번 문제

 

이번에는 문제에서 처음 보는 확장자인 rtf 파일이 나옵니다.

 

rtf 파일은 서로 다른 운영체계 내에서 운영되는 워드프로세서들 간에 텍스트 파일을 교환하기 위한 형식이라고 합니다.

 

그래서 rtf 파일에 저장된 내용을 확인해보았습니다.

 

파일 내용 확인

 

파일 내용을 확인해보면 hex 값의 데이터가 들어가 있는 것을 확인할 수 있습니다.

 

자세히 보면 89 50 4E 47 0D 0A 1A 0A라고 시작되는 PNG 파일 시그니처를 확인할 수 있습니다.

 

test.rtf 파일에 있는 내용은 png 파일의 hex 데이터라는 것을 확인할 수 있습니다.

 

메모장으로 복사

rtf 파일에 있는 내용 중에 앞에 필요 없는 내용은 지우고, \' 89부터 끝에 \' 00까지 복사를 한 다음 메모장에 붙여넣기를 해주었습니다.

 

\와 '를 지우기 위해 메모장에서 편집(E) - 바꾸기 기능을 이용하여 \과 '를 제거해주었습니다.

 

바꾸기 기능 사용

 

\과 '를 모두 제거해주면 이렇게 Hex 값만 남게 됩니다.

 

이걸 그대로 복사해서 HxD에서 새로 열기를 누르고, 붙여넣기를 해주었습니다.

 

그리고 다른 이름으로 저장을 해주고, 확장자를 png로 바꿔 주면 하나의 png 파일이 생성됩니다.

 

생성된 png파일

파일을 확인해보면 호머 심슨 사진이 나옵니다.

 

이번에는 png 파일을 분석하다가 숨겨진 데이터가 있는 것을 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 사용

확인해보면 flag.txt의 zip 파일이 안에 숨겨져 있는 것을 확인할 수 있습니다. (파일 이름은 편하게 111로 변경한 것입니다.)

 

이번에는 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 디렉토리를 확인해보면 00000100.zip 파일을 카빙 한 것을 확인할 수 있습니다.

 

unzip 명령어 사용

unzip 명령어를 사용하여 00000100.zip 파일의 압축을 풀어주었습니다.

 

이제 안에 있던 flag.txt 파일을 열어서 확인해보겠습니다.

 

플래그 확인

flag.txt에 쓰여 있는 플래그 값을 확인할 수 있습니다.

Multimedia Forensic #40 DOS 모드에서는...

 

 

40번 문제

 

문제 파일을 보면 jpg 사진 파일이 주어집니다.

 

파일 이름이 stegano로 되어 있는 것을 보면 문제는 스테가노그래피에 관련된 문제 같습니다.

 

문제 파일 확인

 

사진 파일을 확인해보면 이상한 표정을 짓는 흑인 아이가 나오고, 16진수는 못 봤다는 것을 확인할 수 있습니다.

 

사진 파일은 정상적으로 실행이 되지만, 16진수에 대한 언급이 존재한다는 것을 보면 사진 파일에 무언가를 숨겨놨을 것이라고 추측할 수 있습니다.

 

파일을 카빙하기 위해 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 사용

foremost를 사용하여 파일을 분석하면 exe 실행 파일이 추출됩니다.

 

실행 파일 추출

 

결과를 확인하면 사진 파일 안에 00000072.exe 실행 파일이 숨겨져 있었던 것을 확인할 수 있습니다.

 

추출된 해당 파일을 확인하기 위해 윈도우로 옮겨서 실행하여 확인해보겠습니다.

 

플래그 값 확인

 

추출된 파일을 실행해보면 플래그를 확인할 수 있습니다.

 

FLAG = aw3s0me_flag

+ Recent posts