디지털포렌식

[디지털포렌식] 스테가노그래피 분석

junpal2 2024. 12. 5. 15:47

1. 스테가노그래피란?

데이터 은닉 기술 중 하나로, 정상 파일 내 숨기고자 하는 데이터를 삽입하는 기술을 말한다.

사진에 특정 내용을 숨기는 것 뿐만 아니라 오디오 파일 등 다양한 형식의 파일들을 이용할 수 있다.

2. 스테가노그래피 분석 툴

binwalk

리눅스 운영체제에서 사용 가능한 스테가노그래피 분석 툴이다.

위 사진을 따라 터미널에 sudo apt-get install binwalk 커맨드를 입력해 설치해줄 수 있다.

https://github.com/ReFirmLabs/binwalk

 

GitHub - ReFirmLabs/binwalk: Firmware Analysis Tool

Firmware Analysis Tool. Contribute to ReFirmLabs/binwalk development by creating an account on GitHub.

github.com

위 github 링크에서 binwalk 사용 옵션에 대해 알아보고 사용하면 도움이 될 것이다.

 

가장 기본적으로 binwalk <파일명>을 입력하면 아래 사진과 같이 파일 내의 시그니처들을 모두 알려준다.

 

zsteg

zsteg는 png, bmp 파일에서 숨겨진 데이터를 감지할 수 있는 도구이다. zsteg 설치에는 여러가지 오류가 있어 구글링 해보고 하나의 링크를 따라 깔끔하게 설치하는 것을 권장한다.

$ sudo apt-get install ruby
$ gem install zsteg

위 커맨드를 입력했을 때 Ruby: You don't have write permissions for the /var/lib/gems/2.7.0 directory. 와 같은 오류가 뜬다면 아래 링크를 참고해 그대로 따라해주면 될 것 같다. 나는 아래 링크와 똑같이 했더니 잘 설치 완료되었다.

https://int-i.github.io/linux/2020-09-07/ruby-no-permission/

 

Ruby: You don't have write permissions for the /var/lib/gems/2.7.0 directory. - 인하대학교 인트아이

$ sudo apt-get install ruby-full Ruby를 처음 설치하고 gem update를 하면 Ruby: You don't have write permis...

int-i.github.io

zsteg 설치가 완료되면 zsteg -h 커맨드를 이용해 어떤 옵션들이 있는지 살펴보고 원하는 옵션을 사용해 스테가노그래피를 분석하면 된다.

 

audacity

audacity, 오다시티는 디지털포렌식 툴로 이용가능하지만, 단순 음악 편집 프로그램이다.

https://audacity.en.softonic.com/download

 

Audacity

The most powerful and versatile option to record and edit your audio files.

audacity.en.softonic.com

위 링크에서 다운로드 받을 수 있다.

분석하고자 하는 파일을 오다시티로 열고 여느 음악 편집 프로그램처럼 잘라내기, 붙여넣기, 합성 등의 기능을 활용할 수 있다. 앞서 설명해준 툴들과 달리 리눅스 운영체제가 아닌 환경에서도 사용 가능하다.

3. 실습

binwalk 사용 실습

위에서 사용했던 jpeg 파일을 활용해 실습해보겠다.

앞서 설명한 것과 같이 binwalk <파일명>을 입력하면 파일의 시그니처들을 보여준다.

이러한 결과를 추출하는 옵션도 있는데, binwalk -e <파일명>이다. -e 옵션을 입력하면 파일의 시그니처들을 모두 추출해 .extracted 파일로 압축해준다.

파일을 열어보면 아래와 같이 모두 추출되어 있음을 확인할 수 있다.

25785 파일을 열어보면 플래그를 얻을 수 있다.

https://medium.com/@abdelwahabshandy/ctflearn-binwalk-a5d7ef0f37ac

 

CTFLEARN:Binwalk

Forensics

medium.com

https://mega.nz/file/qbpUTYiK#-deNdQJxsQS8bTSMxeUOtpEclCI-zpK7tbJiKV0tXYY

 

160.9 KB file on MEGA

 

mega.nz

 

위 페이지와 jpeg 파일을 가지고 직접 실습해본 것이다.

 

zsteg 사용 실습

https://dreamhack.io/wargame/challenges/518

 

Basic_Forensics_1

이미지 파일안에 Hidden 메세지가 숨어있다. keyword : W4!teBear flag : DH{flag}

dreamhack.io

zsteg를 이용하면 바로 풀리는 드림핵 워게임을 가지고 실습해보겠다.

위 사이트에서 파일을 다운로드 받으면 귀여운 whitebear.png를 다운로드 받을 수 있다. 

앞서 확인했던 zsteg 옵션 중 -a를 이용해 모든 정보를 확인해보자.

긴 길이의 string들과 파일의 정보들이 출력된다. 드림핵 사이트에서 W4!teBear가 플래그라고 했으니 이를 검색해주면 어렵지 않게 바로 플래그를 찾아줄 수 있다. 검색하는 방법은 터미널 창 우측 상단에 있는 돋보기를 눌러 Find 창을 열어주고 검색하면 된다.

(창 뒤에 플래그가 나와 가렸습니다.)

 

audacity 사용 실습

https://ctf-wiki.mahaloz.re/misc/audio/introduction/

 

Audio Steganography - CTF Wiki EN

Audio Steganography The audio-related CTF challenges mainly use steganography techniques, involving MP3, LSB, waveform, spectrum steganography. Common Method Finding and extracting information using binwalk and strings commands, details are not converted.

ctf-wiki.mahaloz.re

위 링크에 있는 챌린지들 중에서 두번째 챌린지를 이용해 실습해보겠다.

파일을 다운로드 받아 오다시티로 열어주면 위와 같이 음파 형태로 표현된 화면을 확인할 수 있다. 파형 분석을 하기 전에 좌측의 하늘색 창에서 우클릭하면 아래와 같이 여러 옵션들이 나오는데 아래 스펙트로그램을 클릭해 파형을 스펙트로그램으로 바꾸어줄 것이다.

그럼 아래와 같이 플래그를 바로 얻을 수 있다.

실제로 오디오 파일을 이용하여 문제를 출제하는 ctf들이 많은데, 위 문제처럼 스펙트로그램으로 변환한 뒤 추가로 세부 설정이 필요한 경우로 난이도가 조절될 듯 싶다. 스펙트로그램으로 변경했을 때 불필요한 음들이 많아 꽉찬 분포를 보인다면 스펙트로그램 영역을 조절해 플래그를 얻어낸다던가 하는 문제들도 있는 듯하다. 따라서 이를 활용한 여러 챌린지들을 찾아보고 그때그때 이용할 수 있는 기능들을 활용해보면 좋을 것 같다.

 

 

 

감사합니다!

 

 

 

*Linux, Windows 가상머신을 이용한 실습법입니다.