1. 스테가노그래피란?
데이터 은닉 기술 중 하나로, 정상 파일 내 숨기고자 하는 데이터를 삽입하는 기술을 말한다.
사진에 특정 내용을 숨기는 것 뿐만 아니라 오디오 파일 등 다양한 형식의 파일들을 이용할 수 있다.
2. 스테가노그래피 분석 툴
binwalk
리눅스 운영체제에서 사용 가능한 스테가노그래피 분석 툴이다.
위 사진을 따라 터미널에 sudo apt-get install binwalk 커맨드를 입력해 설치해줄 수 있다.
https://github.com/ReFirmLabs/binwalk
위 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/
zsteg 설치가 완료되면 zsteg -h 커맨드를 이용해 어떤 옵션들이 있는지 살펴보고 원하는 옵션을 사용해 스테가노그래피를 분석하면 된다.
audacity
audacity, 오다시티는 디지털포렌식 툴로 이용가능하지만, 단순 음악 편집 프로그램이다.
https://audacity.en.softonic.com/download
위 링크에서 다운로드 받을 수 있다.
분석하고자 하는 파일을 오다시티로 열고 여느 음악 편집 프로그램처럼 잘라내기, 붙여넣기, 합성 등의 기능을 활용할 수 있다. 앞서 설명해준 툴들과 달리 리눅스 운영체제가 아닌 환경에서도 사용 가능하다.
3. 실습
binwalk 사용 실습
위에서 사용했던 jpeg 파일을 활용해 실습해보겠다.
앞서 설명한 것과 같이 binwalk <파일명>을 입력하면 파일의 시그니처들을 보여준다.
이러한 결과를 추출하는 옵션도 있는데, binwalk -e <파일명>이다. -e 옵션을 입력하면 파일의 시그니처들을 모두 추출해 .extracted 파일로 압축해준다.
파일을 열어보면 아래와 같이 모두 추출되어 있음을 확인할 수 있다.
25785 파일을 열어보면 플래그를 얻을 수 있다.
https://medium.com/@abdelwahabshandy/ctflearn-binwalk-a5d7ef0f37ac
https://mega.nz/file/qbpUTYiK#-deNdQJxsQS8bTSMxeUOtpEclCI-zpK7tbJiKV0tXYY
위 페이지와 jpeg 파일을 가지고 직접 실습해본 것이다.
zsteg 사용 실습
https://dreamhack.io/wargame/challenges/518
zsteg를 이용하면 바로 풀리는 드림핵 워게임을 가지고 실습해보겠다.
위 사이트에서 파일을 다운로드 받으면 귀여운 whitebear.png를 다운로드 받을 수 있다.
앞서 확인했던 zsteg 옵션 중 -a를 이용해 모든 정보를 확인해보자.
긴 길이의 string들과 파일의 정보들이 출력된다. 드림핵 사이트에서 W4!teBear가 플래그라고 했으니 이를 검색해주면 어렵지 않게 바로 플래그를 찾아줄 수 있다. 검색하는 방법은 터미널 창 우측 상단에 있는 돋보기를 눌러 Find 창을 열어주고 검색하면 된다.
audacity 사용 실습
https://ctf-wiki.mahaloz.re/misc/audio/introduction/
위 링크에 있는 챌린지들 중에서 두번째 챌린지를 이용해 실습해보겠다.
파일을 다운로드 받아 오다시티로 열어주면 위와 같이 음파 형태로 표현된 화면을 확인할 수 있다. 파형 분석을 하기 전에 좌측의 하늘색 창에서 우클릭하면 아래와 같이 여러 옵션들이 나오는데 아래 스펙트로그램을 클릭해 파형을 스펙트로그램으로 바꾸어줄 것이다.
그럼 아래와 같이 플래그를 바로 얻을 수 있다.
실제로 오디오 파일을 이용하여 문제를 출제하는 ctf들이 많은데, 위 문제처럼 스펙트로그램으로 변환한 뒤 추가로 세부 설정이 필요한 경우로 난이도가 조절될 듯 싶다. 스펙트로그램으로 변경했을 때 불필요한 음들이 많아 꽉찬 분포를 보인다면 스펙트로그램 영역을 조절해 플래그를 얻어낸다던가 하는 문제들도 있는 듯하다. 따라서 이를 활용한 여러 챌린지들을 찾아보고 그때그때 이용할 수 있는 기능들을 활용해보면 좋을 것 같다.
감사합니다!
*Linux, Windows 가상머신을 이용한 실습법입니다.
'디지털포렌식' 카테고리의 다른 글
[디지털포렌식] NTFS Log Tracker 사용법 (0) | 2024.11.25 |
---|---|
[디지털포렌식] Jumplist(점프리스트)와 Jumplist Explorer 사용법 (4) | 2024.11.11 |
[디지털포렌식] Thumbnail Cache(썸네일 캐시), Icon Cache(아이콘 캐시)와 Thumbcache Viewer 사용법 (1) | 2024.10.12 |
[디지털포렌식] 웹 아티팩트 분석 BrowsingHistoryView, Hindsight 사용법 (1) | 2024.10.12 |
[디지털포렌식] Windows Prefetch와 PECmd, WinPrefetchView 사용법 (4) | 2024.10.12 |