일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- hackerschool
- Pwnable
- AjouUniv #Whois #정보보안교육 #Pwnable
- Whois #AjouUniv #정보보안교육 #Pwnable
- 아주대학교 #Whois #정보보안교육 #4주차
- systemhacking
- Variable Partition
- Whois #정보보안교육 #AjouUniv #Pwnable
- HackCTF
- Allocation Starategy
- 아주대학교
- Memory Virtualization
- N0NamedWargame #mandu-mandu #forensics #left_side_B
- SuNiNaTaS #mandu-mandu #AjouUniv #forensics
- Whois #정보보안교육 #Ajou
- python
- webhacking
- Dreamhack
- AjouUniv #SuniNatas #Web
- 코딩도장
- ftz
- Whois #정보보안교육 #webhacking.kr
- 운영체제
- N0Named
- 사이버보안학과
- AjouUniv #Whois #정보보안교육
- AjouUniv #Whois #Reversing
- N0NamedWargame #mandu-mandu #forensics #길에서주어온만두
- N0NamedWargame #AjouUniv #mandu-mandu #forensics
- 스케줄링
- Today
- Total
chipkkang9's story
[N0Named Wargame Season2] 길에서 주어온 만두 문제풀이 본문
준비물: mandu.zip, HxD, OpenStego
일단 mandu.zip을 압축 해제하면, big.png 파일과 readme.txt 파일이 들어가 있다. readme.txt 파일에는 문제에서 보이는 지문이 그대로 써있기 때문에 '비밀번호가 무엇일까?'를 기억해놓는 것 말고는 신경 쓸 필요는 없다고 생각한다.
big.png에 들어있는 그림은 누구나 알만한 러시아의 나무인형인 '마트료시카'이다. 그냥 그렇구나... 하면서 우선은 HxD프로그램에 big.png를 넣어 분석해보기 시작했다.
파일의 header signature와 footer signature에서 이상한 점이 없나... 찾아보던 도중, 대놓고 무언가를 알려주는 메세지를 발견했다.
PASS:1234. 누가봐도 비밀번호다! 이렇게 적어놓아도 이미지에 손상이 일어나지 않는 이유는, 파일의 header signature 앞과 footer signature 뒤에는 어떤 짓을 해도 이미지 자체에 영향을 끼치지 않기 때문이다.
아무튼 알아낸 정보는 비밀번호가 1234라는 것이다. 하지만, 1234가 어느 곳에 쓰이는 비밀번호인지는 아직까지 알 수 없었다. flag가 1234는 아닐 터이고, 어떻게 풀어나가면 좋을까 하다가 발견한 툴이 'OpenStego'이다.
OpenStego는 사용자가 원하면, 데이터를 파일 안에 숨기거나, 숨겨져 있는 데이터를 빼낼 수 있는 툴이다. 우리는 big.png에 원하는 데이터가 숨겨져 있을 거라는 가정을 가지고 툴을 사용하는 것이기 때문에, 'Extract Data'를 들어가서 사용해주자.
우리가 앞에서 찾은 1234라는 패스워드를 여기서 쓰는 것이였다는 것을 알 수 있다. 때때로는 파일 추출에 있어서 패스워드가 필요하지 않은 경우가 있을 수도 있지만, 우리가 추출할 대상인 big.png 파일에는 패스워드 없이는 추출이 불가능하다. Input과 Output 경로를 올바르게(자신의 환경에 맞게) 설정해 준 후, [Extract Data] 버튼을 눌러주면 된다.
올바르게 추출이 끝났으면, 성공했다는 창에 'medium.png'가 나왔다는 것을 알려준다.
여기서 나는 [마트료시카], [big], [medium] 이라는 단서로 '내가 원하는 데이터가 이 PNG 파일들을 여러 번 까봐야 나오는구나!'를 직감하였다. 그래서 같은 작업을 medium.png 파일을 대상으로 한 번 더 해보았다.
medium.png 파일 속에 숨어 있었던 small.png 파일이 나왔고, 이미지는 big, medium.png와 같았다. 마지막으로 한 번 더 해보았다.
마지막으로 small.png에서 다시 한 번 추출하니 flag.txt가 나왔고, 그 안에 입력할 수 있는 flag가 들어있었다. 문제 해결!
'CTF > Forensic' 카테고리의 다른 글
[N0Named Wargame Season 2] infect 문제풀이 (0) | 2021.07.20 |
---|---|
[N0Named Wargame Season2] Left Side B (0) | 2021.07.14 |
[N0Named Wargame Season2] 입사 테스트[2] 문제풀이 (0) | 2021.07.14 |
[N0Named Wargame Season2] MagicIMAGE 문제풀이 (2) | 2021.07.14 |
[Suninatas] 21번 문제풀이 (0) | 2021.07.14 |