swuforce 심화팀/워게임 스터디

[드림핵] Gyul Box

ran831 2026. 4. 28. 22:54

Gyul Box | 워게임 | Dreamhack

 

로그인 | Dreamhack

 

dreamhack.io


  • 문제 설명
    • Rootsquare가 기밀문서, 비자금, 그리고 황금빛 귤을 귤상자에 숨기다 0xB1NARY COMMUNITY 요원들에게 체포되었습니다! 무엇보다... 이 상자는 하나의 상자가 아닌 것 같아요! 상자 안에 또 상자가 있는 것 같은데...? 하지만 상자를 열어보니 진짜로 귤밖에 없습니다! 대체 기밀을 어디에 숨겼다는 걸까요?
  • 풀이

문제 파일로는 귤이 가득한.. jpg와 png 파일 각 1개씩이 들어있음.. 근데 이미지 파일 치고는 둘 다 용량이 큰 것 같습니다.

png 파일의 푸터 시그니처 검색해보니 뒤에 Final key라는게 존재합니다.. 나중에 유용하게 쓰일 것 같으니 확인하고 바로 jpg 파일도 탐색해 보겠습니다.

jpg 파일 뒤에는 BZ로 시작하는게 보이는데요, 찾아보니 Bzip2 압축파일이라고 합니다.

    • Bzip2: 파일 크기를 줄여주는 오픈소스 무손실 압축 프로그램으로, 주로 유닉스 및 리눅스 환경에서 널리 사용됨
      • bzip2는 단순히 데이터를 줄이는 것이 아니라, 두 가지 핵심 기술을 결합하여 효율을 극대화함.
        • 버로우즈-휠러 변환 (Burrows-Wheeler Transform): 데이터의 순서를 재배치하여 동일한 문자들이 서로 모이게 만듦. (압축하기 쉬운 상태로 변형)
        • 허프만 코딩 (Huffman Coding): 자주 나타나는 문자에는 짧은 코드를, 드물게 나타나는 문자에는 긴 코드를 부여하여 전체 크기를 줄임.

  • ROT 암호
    • 알파벳 순서를 원형(Circle)으로 배치했다고 가정하고, 각 글자를 정해진 숫자만큼 옆으로 이동시키는 암호화 방법.
    • 예를 들어, ROT3 방식이라면 알파벳을 3칸씩 뒤로 밀면 됨.

이미지를 확인하면 (x+offset)%256하면 될듯.. 이 때, small_box.enc 파일의 앞 바이트 확인해보니 AD A8 60 61 이었고 enc - zip 연산해보니 모두 93(0x5D)이라는 값이 나옵니다. 이후로는 gpt 도움 받아 코드 짰고, decrypted_file.zip을 생성했습니다.

이제 앞에서 찾은 key 사용하면 될듯! hint.txt에서 보면 알 수 있듯이 벨기에가 제작하고 미국이 표준화한 암호화된 키.. AES 방식인 것 같습니다. (Final key : 7e1cbabc03360aa6a25d7c85ece471beb2d9517c23f38a1ccec4d0206c0e00f8)

cyberchef 사용해서 복호화 성공했습니다! output 파일을 png로 다운 받으면 최종 flag를 확인할 수 있습니다. 

'swuforce 심화팀 > 워게임 스터디' 카테고리의 다른 글

[드림핵] Batch Checker  (0) 2026.05.02
ROT  (0) 2026.04.28
Brute Force Attack이란?  (0) 2026.03.31
[rev] Secure Mail  (0) 2026.03.31
[드림핵] Happy New Year!  (0) 2026.01.27