오늘은 스테가노그래피에 대해 알아보겠습니다!
스테가노그래피란?
데이터 은폐 기술 중 하나로, 데이터를 다른 데이터에 삽입하는 기술을 말합니다!
크립토그래피가 메세지를 읽을 수 없도록 암호화하는 것을 말하는 거라면, 스테가노그래피는 존재 자체를 숨기는 기술이라고 할 수 있겠습니다!
좀 더 이해하기 쉽게 위키백과에서 가져온 사진으로 예시를 들어보겠습니다

첫번째 원의 사진을 보면 정확히 뭘 나타내는 그림인지 알 수 없는 것처럼 보입니다
하지만 RGB 값을 조정해서 따로따로 살펴보면 순서대로 3, 4, 5라는 숫자가 보이는 것을 알 수 있습니다!
이것처럼 스테가노그래피는 뭘 숨겼는지 알지 못하도록 하는 기술이라고 할 수 있습니다
스테가노 그래피는 사진, 오디오 등등 다양한 파일 형식에 숨길 수 있습니다!
존재의 유무를 숨기기 때문에, 사진 등을 전달하면서 자신이 무슨 메세지를 전달했는지 알 수 없도록 할 수 있습니다.
스테가노그래피를 풀기 위해서는 다양한 툴, 사이트 등을 사용하는데요!
CTF 문제를 통해 툴 리뷰를 해보겠습니다
(CTF 관련해서 저작권등의 문제가 있다면 삭제하겠습니다)
Q1. 드림핵 / Basic Forensics
https://dreamhack.io/wargame/challenges/518
사이트에 들어가면 PNG 파일을 찾을 수 있는데, 이 파일에 숨겨진 메세지를 찾아야하는 문제입니다

이 PNG 파일만 봐서는 숨겨진 메세지를 찾을 수 없습니다.
이때 스테가노 그래피 관련 툴을 사용할 수 있습니다!
https://georgeom.net/StegOnline/upload
웹 기반의 오픈소스로, 스테가노그래피를 위한 사이트 입니다.
다음과 같은 기능들을 수행할 수 있습니다
- Browse through the 32 bit planes of the image
- Extract and Embed data using LSB steganography techniques
- Hide images within other image bit planes
- View PNG Chunk info
- Download RGBA values of image
- Browse through image colour palette (if exists)
- Built as an Angular7 SPA, and no data is stored/transferred.

사이트에 접속하면 이런 페이지가 보입니다.
여기에 아까 다운받은 문제 PNG를 올려보도록 하겠습니다.

이렇게 RGB별로 PNG 파일을 조절해볼수도 있고 PNG 관련 정보를 확인할 수도 있습니다.
저 같은 경우는 포렌식 문제를 뭔가 박치기하면서 (?) 풀기 때문에 이거 저거 다 찔러보다가 정답을 찾을 수 있었습니다 (더 똑똑하게 푸신 분은 댓글 달아주세요…ㅎㅎ)

Extract Data 버튼을 누르고 RGB 값을 모두 0으로 조절하면 이렇게 Ascii 파트에 플래그가 뜨게 됩니다!
이번에는 같은 문제를 다른 사이트를 이용해 한번 풀어보겠습니다!
https://stylesuxx.github.io/steganography/
위 사이트도 스테가노그래피 문제 풀이에 도움이 되는 사이트입니다!

인풋 파일을 입력하고 decode 버튼을 누르면 이렇게 hidden message가 뜨게 됩니다.
앞의 사이트보다는 기능은 적지만 쉽고 간단하게 풀 수 있다는 장점이 있겠네요!
Q2. 오디오 스테가노 그래피
스테가노그래피 관련 문제를 한번 풀어보겠습니다! (문제시 삭제하겠습니다)
Q2, Q3 문제는 SDCTF 2024에 나온 문제들입니다.
https://serikatnewbie.me/blog/sandiego-ctf-2024/forensics
위 링크를 참고하면 이해가 더 쉬울거에요!

요런 png파일이 있습니다

문제에서 파도를 보자~ 이런 힌트가 있었기 때문에 png→wav로 바꿔보는 방향이 문제의 키포인트 입니다.
이렇게 다운로드 받은 오디오 파일을 오다시티라는 소프트웨어를 사용해서 조금씩 작업해줍니다.
Audacity?
페이드 인과 아웃, 속도 변경, 음정 변경, 리버스, 톤 제너레이터, 목소리 제거 등 기본적인 기능을 갖추고 있는 오디오 소프트웨어 프로그램입니다. 여러가지 프로그램이 있겠지만 Audacity는 오픈소스/무료라는 점에서 포렌식을 배우는 학생들이 이용하기에 매우 좋습니다!
파일들을 들어보면 노이즈가 굉장히 많이 끼어있는 것을 확인 할수 있기 때문에 노이즈를 줄이는 것입니다.

이렇게 오다시티로 노이즈를 제거해주면 문제에서 제시한 플래그가 들립니다!
Q3. 오디오스테가노 그래피(2)
이번에는 굉장히 흥미로웠던 오디오 스테가노 그래피 문제를 하나 소개해드리려고 합니다!

위에 문제와 비슷한 결이기 때문에 해당 문제도 .wav 파일로 변환시켜줍니다.
변환된 파일을 들어보면 약간 로봇..? 소리 같은 아까와는 다른 조금 기괴한 소리가 나게 되는데요.
이런 경우 SSTV를 의심해보면 됩니다!
SSTV는 저속 주사 텔레비전의 약자로 아마추어 무선 운영가가 주로 사용하는 영상 전송 방법입니다.
예전에 티비를 생각해보면 이해가 쉬울 것 같습니다! (오디오→시각적 파일의 변환 방식)
이런 SSTV를 image decode 시키는 앱이 robot 36입니다.
해당 앱을 다운 받아서 소리를 들려주면 아래와 같은 이미지가 생성됩니다.

해당 이미지에서 플래그를 찾는 문제였습니다!
위 문제들처럼 스테가노 그래피는 사진, 오디오등에 정보를 은닉하는 기술이고 다양한 툴을 이용해서 풀 수 있는 문제들입니다!
여러 사람들의 풀이 방식을 보면서 어떻게 이런 생각을 하지… 하면서 감탄하는 분야이기도 하고요
포렌식에 관심 있는 분들이라면 스테가노그래피 문제 풀어보시는 것을 추천드립니다!
'디지털포렌식' 카테고리의 다른 글
[디지털포렌식] Prefetch와WinPrefetchView, PECmd 리뷰 (0) | 2025.02.10 |
---|---|
[디지털포렌식] 웹브라우저 아티팩트와 BrowsingHistoryView, Hindsight 리뷰 (0) | 2025.02.10 |
[디지털포렌식] Thumbnail(썸네일), Icon Cache와 Thumbcache Viewer 리뷰 (0) | 2025.02.10 |
[디지털포렌식] Jumplist와 JumpList Explorer 리뷰 (0) | 2025.02.10 |
[디지털포렌식] NTFS Log Tracker 리뷰 (0) | 2025.02.10 |