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



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

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

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



- 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 |