# Description
I came across an old console and was told that someone hid a flag in it sometime late last year. I tried to find it but it broke before I could. All I got was the memory image, can you find the flag?
Plain Text
복사
# 분석
nand.bin 파일을 하나 줍니다. 해당 파일은 보면 Wii의 Nand Flash를 덤프뜬 파일이라고 추측했습니다.
검색을 통해서 닌텐도 Wii의 Backup Nand Memory를 File System처럼 Mount 할 수 있는 wiinandfuse라는 툴을 다운로드했습니다.
# File System 추출
Mount할 디렉토리를 만들고 문제 파일인 nand.bin을 준비합니다.
아래의 명령어를 통해 Mount하면 Nand Flash에서 nand 디렉토리에 File System을 추출해서 뽑아줍니다.
./wiinandfuse nand.bin ./nand -h -e
Bash
복사
# 에뮬레이팅
이제 추출한 파일 시스템을 Wii에서 구동하기 위해서 에뮬레이터를 찾으니 dolphin이라는 것이 나왔습니다.
다운로드 후 실행하면 아래와 같은 화면을 볼 수 있고 dolphin의 설명서 및 NAND Usage Guide를 보면 nand.bin이라는 것을 실행하는 방법이 나오지만 우리는 키를 모르고 해당 파일 시스템이 추출된 것으로 보아 해당 방법을 시도해봤지만 다 실패했습니다.
File System 자체를 구동 시킬 방법을 찾아야했습니다.
환경설정을 누르고 경로를 보면 Wii NAND 루트라는 것이 보입니다.
해당 경로에 접근해보면 우리가 추출한 파일 시스템과 동일한 것을 볼 수 있습니다.
추출한 NAND File System
기본 dolphin File System
해당 경로로 File System을 이동시키고 Wii를 구동해보겠습니다.
원인은 정확하게 모르지만 이렇게 Wii 경로를 수정한 뒤 Dolphin을 껏다 다시켜줘야 실행됩니다.
MAC 기준으로 도구 → Wii 시스템 메뉴 4.3U 로드를 눌러줍니다.
구동이 정상적으로 되었지만 특별한 정보를 찾을 수는 없었습니다.
그러던 도중 메시지 캘린더가 있다는 것을 보았고 이것이 정리되어 보이는 것이 아니라 하나씩 클릭해서 봐야한 다는 것을 알아냈습니다.
여기에 Flag가 있을 것 이라고 생각했고 File System에 접근해서 구동하는 것으로 변경을 했으니 만약 메모를 작성한다면 File System이 변경될 것이라고 예상했습니다.
일단 먼저 메시지 캘린더를 수정하면 변경되는 파일을 찾을 필요가 있었습니다.
일단 Wii를 꺼줍니다.
File System을 복사해주고 기존 파일 시스템과 메시지 작성 후 File System을 Diff해서 다른 파일만 찾을 생각을 했습니다.
다시 실행하여 메시지를 작성해줍니다.
aaaxxcvvb
Bash
복사
dolphin을 종료합니다.
아래의 명령어를 통해서 다른 파일을 찾을 수 있습니다.
diff -r nand nand_backup
Bash
복사
보면 mbox라는 것이 있고 이게 messagebox가 아닐까 생각할 수 있습니다.
일단 맨 위 해당 파일을 열어보면 쓸만한 정보를 찾을 수 없습니다.
nand/shared2/wc24/mbox/wc24recv.ctl and nand_backup/shared2/wc24/mbox/wc24recv.ctl
Bash
복사
두번째 파일을 보겠습니다.
nand/shared2/wc24/mbox/wc24recv.mbx and nand_backup/shared2/wc24/mbox/wc24recv.mbx differ
Bash
복사
대충 내리면 이렇게 메일 형식(?)을 볼 수 있습니다.
우리가 작성한 메시지 먼저 찾아보면 안나옵니다.
2가지 가능성을 생각할 수 있습니다.
1.
Encoding 된다.
2.
Padding 된다.
일단 Padding이 된다고 생각을 하고 찾아보겠습니다.
NULL Padding이 되는 것을 볼 수 있습니다.
Flag Format으로 다시 찾아보면 아래와 같은 결과가 나옵니다.
빙고! 이걸 이제 추출해줍니다.
# Flag
bctf{w11_5p0r75_15_7h3_b357_64m3_3v3r}
Plain Text
복사