STUDY.md
  • [Forensics WRITEUP🟪] Steganography 개념 및 툴 정리
    2024년 07월 17일 18시 32분 48초에 업로드 된 글입니다.
    작성자: 방세연

     

     

    Steganography (스테가노그래피)

    사진, 음악, 동영상 등의 파일 안에 데이터를 숨기는 것

    (JPG, MP4, MP3, DOC, 폰트에 숨기기 가능함)

     

    steganography 암호화 기술을 해독하려면 사진에서 flag 값을 찾을 수 있어야 할 것이다.

    문제를 풀어보기에 앞서 PNG, JPG 파일 구조에 대해서 조금 더 알아보겠다.

     

     

    PNG의 파일 구조

    시그니처 89 50 4E 47 0D 0A 1A 0A
    푸터 시그니처 49 45 4E 44 AE 42 60 82

     

    PNG Chunk

    IHDR Chunk, PLTE Chunk, IDAT Chunk, IEND Chunk로 이루어져 있다.

     

     

    JPEG의 파일 구조

    SOI Start of Image FF D8
    APPn Application-Specific (JFIF/JFXX) FF E0 ~ 
    DQT Define Quantization Table FF DB
    SOF Start of Frame FF C0
    FF C2
    DHT Define Huffman Tables FF C4
    SOS Start of Scan FF DA
    -Scan Data- Scan Data  
    EOI End of Image FF D9

     

    • 각 블록은 Marker에 의해 구분된다.
    • JFIF APP0 Marker는 무조건 존재한다.
    • JFIF extention APP0 Marker는 선택사항이며 APP0 바로 뒤에 온다.

    Common Segment (signature)

    사진 출처 : https://en.wikipedia.org/wiki/JPEG#Syntax_and_structure


    사진 출처 : https://en.wikipedia.org/wiki/JPEG#Syntax_and_structure

     

     

     

    ->  파일에는 다음과 같은 부분에 데이터를 삽입할 수 있다. (삽입, 변조의 방법)

     

    💡 1. 이미지 자체를 변조시켜 데이터를 숨기는 방법

    LSB 변경

    최하위 비트인 LSB를 변조

    => 보기에 똑같은 색인데 LSB가 1씩 차이날 때 의심해볼 수 있음

    JPEG, BMP 24비트 이미지 파일에 주로 적용됨 (빨강 8, 초록 8, 파랑 8)

     

    인간의 인식 능력은 프레임, 화소 단위에서 오차가 발생할 수 있음

     

    그 밖에도 다양한 변조가 나타나는데, 직접 파이썬 코딩을 할 수도 있음

     

    💡 2. 파일에 데이터를 숨겨놓는 바이트를 두는 방법

    EOI 뒤의 공간

    JPG, PNG, GIF등의 이미지 파일에 파일의 끝을 알리는 바이트를 뜻한다.

    * EOI 바이트 뒤의 데이터는 무시된다.

    JPEG FF D9 // ~ 
    PNG 49 45 4E 44 AE 42 60 82 // ~ 

     

    헤더 공간

    + JPG에서는 다음과 같은 공간의 데이터도 무시될 수 있다.

    APPO/APP15 ~ SOFO 사이의 공간

    APPO ~ APP15 FF EO ~ FF EF (이미지의 세부 사항이 들어가는 곳)
    SOFO FF DA ( Width, Height 등...)

     

     

     


     🛠️Steganography 툴 

    변조, 삽입된 데이터를 찾아내는 것에 도움을 주는 tool들을 모아보았다. 사진을 클릭하면 이동한다!!

     

     

    OPENSTEGO

     

     

     

    Image Steganography

     

    bits를 조정해 이미지를 해독해볼 수 있는 사이트다.

     

     

    StegOnline

     

     

    Steganography Online

    숨겨진 메세지를 확인할 수 있다.

     

     

    Forensically

     

     

     

     

     


     

     

     

     🏆Mountains beyond mountains 

    해당문제에서는 i_like_keroro_sticker라는 png 이미지가 주어진다.

     

    사진을 관찰했는데 윗부분이 조금 이상하다. 윗부분을 툴을 써 해독해볼 수 있지 않을까?





    비트 수준이 24라고 적혀있는데 LSB 스테가노그래피가 주로 해당 이미지에 적용된다고 해서 의심해볼 수 있었다. 하지만 관련 비슷한 툴들을 확인해봐도 별다른 내용은 나타나지 않았다.





    89 50 4E 47 0D 0A ... 는 png의 헤더파일이 맞다.
    010 Editor을 이용한 값에는 별다른 문제가 없는 것 같다고 생각했다. IHDR로 시작해서 IEND로 끝난다. 숨겨진 메세지로 보여지는 것은 없었다.





    Steganography Online을 통해 숨겨진 메세지를 해독해봤는데 해당 문구가 나타났다.
    OPENSTEGO를 이용해서 itsmine.png를 추출하라는..?? 그런 내용인 것 같다. 한번 사용해보겠다.




    openstego를 이용해 LSB 알고리즘을 이용해 itsmine.png 파일을 생성할 수 있었다.
    (이때 최신버전에서는 해독이 되지 않았다. openstego를 이용하는 것은 맞기 때문에 이전 버전으로 설치했다.)




    추출된 itsmine.png에는 QR코드로 추정되는 사진이 나타난다.
    해당 QR코드를 스캔하면 답을 확인할 수 있다.


     

     

     

     

    댓글