본문 바로가기

Forensics 풀이/[DigitalForensic]with CTF

Multimedia #12-이 파일에서 플래그를 찾아라!100

<문제>

문제를 읽고 sunrise.zip을 다운로드하였다.

 

다운로드한 후 압축을 풀어보았더니,

 

sunrise.png 파일이 생성되었다.

사진을 더 자세히 살펴보면,

 

비행기에서 본 석양을 찍은 사진인 것을 알 수 있을 뿐,

플래그에 대한 힌트는 이 자체만으로 전혀 알 수 없었다.

 

그리하여 예전 문제들에 스테가노그래피 기법이

많이 사용되었다는 것이 떠올라

이 문제도 그러한가 싶어 사이트에 사진을 넣어 확인해보았다.

 

*스테가노그래피(Steganography) : 파일 속에 데이터의 존재 자체를 숨기는 데이터 은폐 기술

 

 

- 스테가노그래피 이미지 해석 사이트

https://incoherency.co.uk/image-steganography/#unhide

 

Image Steganography

Each channel (red, green, blue) of each pixel in an image is represented by an 8-bit value. To hide the secret image inside the cover image, we replace the n least significant bits of the cover pixel value with the same number of most significant bits from

incoherency.co.uk

사진을 아무리 뚫어져라 쳐다봐도 플래그를 찾아볼 수는 없었다.

이 방법이 아닌 것 같아 다시 처음으로 돌아가

 사진 파일의 속성을 한 번 살펴보았다.

 

속성을 차근히 살펴보면,

사진 파일의 크기가 상당히 크다는 것을 알 수 있었다.

 

<PNG 파일 헤더 구조>

그리하여 위의 그림을 참조하여

hxd를 통해 사진의 크기를 조정해보기로 하였다.

 

 

- 헥스에디터 다운로드 사이트

https://mh-nexus.de/en/downloads.php?product=HxD20

 

Downloads | mh-nexus

Downloads Note: Starting with HxD 2.3, the portable edition is available as separate setup program, and can be run with minimal privileges (no admin rights required). For the portable edition, the setup program writes only into the selected folder (e.g., U

mh-nexus.de

 

현재 이미지 가로 크기는 00 00 0B D0,

세로 크기는 00 00 0F C0이다.

 

먼저 가로의 크기를 100증가시켜보기로 하였다.

00 00 0B D0 -> 00 00 0C D0

Edit>Delete로 0B를 삭제하고 Edit>Insert bytes로 0C를 삽입하였다.

 

성공적으로 완료한 후, 사진 파일을 열어보았더니

 

 

사진이 엉망이 되어있었다.

그래서 다시 원래상태로 복구를 하고

세로의 크기를 100증가시켜보기로 하였다.

00 00 0F C0 -> 00 00 10 C0

Edit>Delete로 0F를 삭제하고 Edit>Insert bytes로 10를 삽입하였다.

 

성공적으로 완료한 후, 사진 파일을 열어보았더니

 

사진 밑부분에 글자가 써져있었다.

이를 자세히 보기 위해 밑부분을 확대해보았다.

 

KEY=SECCON{Metadata_modification_is_used_for_information_hiding.}

 

 

문제 해결!