Home
System Hacking
๐ŸŽฎ

wiikileak

Type
CTF
๋…„๋„
2025
Name
b01lers CTF
๋ถ„์•ผ
MISC
์„ธ๋ถ€๋ถ„์•ผ
MISC
์—ด
2025/04/29 11:55
1 more property

# 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
๋ณต์‚ฌ