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}

 

 

+ Recent posts