iOS 16.X์—์„œ ์ž ๊ธด Apple ๋…ธํŠธ ์•”ํ˜ธ ํ•ด๋…ํ•˜๊ธฐ

iOS 16.x์—์„œ ์ž ๊ธด Apple ๋…ธํŠธ์˜ ์•”ํ˜ธ๋ฅผ ํ•ด๋…ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ •ํ™•ํ•œ ์ˆ˜๋™ ๊ธฐ์ˆ ์„ ํ†ตํ•ด์„œ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํฌ๋ Œ์‹ ํ”Œ๋žซํผ์ด ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ๋…ธํŠธ ์ฝ˜ํ…์ธ ๋ฅผ ๋ณต๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ์ค‘์š”: ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ iOS 16์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. Apple์€ iOS 17 ๋ฐ 18์—์„œ ์•”ํ˜ธํ™”๋ฅผ ๋Œ€ํญ ๊ฐ•ํ™”ํ–ˆ์œผ๋ฉฐ, ์ด ๋ฐฉ์‹์€ ๋” ์ด์ƒ ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ ๊ฐ€์ด๋“œ ๋‹ค์šด๋กœ๋“œ

๋ฌด๋ฃŒ ๊ฐ€์ด๋“œ

iOS 16.x์—์„œ ์ž ๊ธด Apple ๋ฉ”๋ชจ๋ฅผ ํ•ด๋…ํ•˜๋Š” ๋ฐฉ๋ฒ•

์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ํฌ๋ Œ์‹ ๋“ฑ๊ธ‰์˜ ๋‹จ๊ณ„๋ณ„ ์›Œํฌํ”Œ๋กœ์šฐ๋กœ iOS 16์—์„œ ๋ณดํ˜ธ๋œ Apple ๋…ธํŠธ๋ฅผ ์ž ๊ธˆ ํ•ด์ œํ•˜์„ธ์š”. ์ด ๊ฐ€์ด๋“œ๋Š” ๋””์ง€ํ„ธ ์ˆ˜์‚ฌ๊ด€์—๊ฒŒ ์•”ํ˜ธํ™”๋œ ๋…ธํŠธ ์ฝ˜ํ…์ธ ๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ์‹ค์ œ ๊ธฐ์ˆ ์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ์ƒ์šฉ ๋„๊ตฌ๋กœ๋Š” ๋ถ€์กฑํ•  ๋•Œ์—๋„ ๋ง์ด์ฃ .

  • - ๋‹ค์Œ์—์„œ ์ฃผ์š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. NoteStore.sqlite ๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ž ๊ธด ํ•ญ๋ชฉ์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
  • - ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ๋…ธํŠธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ•ด๋…ํ•˜์„ธ์š” ํ•ด์‹œ์บฃ
  • - ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ AES ํ‚ค๋ฅผ ๋„์ถœํ•˜๊ณ  ๋ž˜ํ•‘ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. Python ๋˜๋Š” ์‚ฌ์ด๋ฒ„ ์…ฐํ”„
  • - ์›๋ณธ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋…ธํŠธ๋ฅผ ๋ณต๊ตฌํ•˜๋ ค๋ฉด BLOB์˜ ์•”ํ˜ธ๋ฅผ ํ•ด๋…ํ•˜๊ณ  ์••์ถ•์„ ํ’‰๋‹ˆ๋‹ค.
  • - ์•”ํ˜ธํ™”๋œ Apple Notes์˜ GZIP ๋ฐ Protobuf ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์‚ดํŽด๋ณด๊ธฐ

์ด ๋ฐฉ๋ฒ•์€ Apple ๊ธฐ๊ธฐ์—์„œ ์•”ํ˜ธํ™”๋œ ์•ฑ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ชจ๋ฐ”์ผ ํฌ๋ Œ์‹ ์ „๋ฌธ๊ฐ€, ์—ฐ๊ตฌ์†Œ ๋ถ„์„๊ฐ€ ๋ฐ ์ˆ˜์‚ฌ๊ด€์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค:

  • - SQLite์šฉ DB ๋ธŒ๋ผ์šฐ์ € - ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™” ํ•„๋“œ๋ฅผ ์ฐพ๊ณ  ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  • - ์‚ฌ์ด๋ฒ„ ์…ฐํ”„ - ํ‚ค ํŒŒ์ƒ, AES ์–ธ๋ž˜ํ•‘ ๋ฐ ๋””์ฝ”๋”ฉ์„ ์œ„ํ•ด
  • - Python ์Šคํฌ๋ฆฝํŠธ - ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์š” ์ž‘์—…์„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊นƒํ—ˆ๋ธŒ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ).

์ฐธ๊ณ : ์ด ๋ฐฉ๋ฒ•์€ iOS 16.x์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. Apple์€ iOS 17๊ณผ 18์—์„œ ๋…ธํŠธ ์•”ํ˜ธํ™”๋ฅผ ํฌ๊ฒŒ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

์ค‘์š”ํ•œ ์ด์œ 

์ž ๊ธด Apple ๋…ธํŠธ์—๋Š” ์ข…์ข… ์ค‘์š”ํ•œ ์ฆ๊ฑฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋„๊ตฌ ๊ตฌ๋ฌธ ๋ถ„์„๊ณผ ๋‹ฌ๋ฆฌ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค:

  • - ์ˆ˜๋™์œผ๋กœ ๊ฒฐ๊ณผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
  • - ๋ณด๊ณ  ๋˜๋Š” ๋ฒ•์›์„ ์œ„ํ•œ ๋ฌธ์„œ ์•”ํ˜ธํ™” ๊ตฌ์กฐ
  • - ํ‘œ์ค€ ํฌ๋ Œ์‹ ๋„๊ตฌ์˜ ์ œํ•œ ์‚ฌํ•ญ ํ•ด๊ฒฐ

๋ฆฌ์†Œ์Šค ๋ฐ ์Šคํฌ๋ฆฝํŠธ

notes_to_hashcat.py
get_kek.py
unwrap.py

์ด ๊ฐ€์ด๋“œ๋Š” ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋“  CTF๋ฅผ ์ค€๋น„ํ•˜๋“ , ์•”ํ˜ธํ™”๋œ Apple ๋…ธํŠธ๋ฅผ ์‹ฌ์ธต์ ์œผ๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ  ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฐ”์ดํŠธ์˜ ์ฆ๊ฑฐ๋ฅผ ์ œ์–ดํ•ด์•ผ ํ•˜๋Š” ํฌ๋ Œ์‹ ์ปจ์„คํ„ดํŠธ ๋ฐ ์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.

์ตœ์‹  ์ •๋ณด ์œ ์ง€

ํฌ๋ Œ์‹ ๊ฐ€์ด๋“œ ๋ฐ ๋ฌด๋ฃŒ ๋„๊ตฌ์— ๊ฐ€์žฅ ๋จผ์ € ์•ก์„ธ์Šคํ•˜์„ธ์š”.

์ƒˆ๋กœ์šด ๊ต์œก ๊ธฐํšŒ, ๋ฌด๋ฃŒ ๋„๊ตฌ, ์‚ฌ๋ก€ ๊ธฐ๋ฐ˜ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ, ์‹ค์šฉ์ ์ธ ์ธ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ์†Œ์‹์„ ๊ฐ€์žฅ ๋จผ์ € ๋ฐ›์•„๋ณด์„ธ์š”. ์ €ํฌ์˜ ์›”๊ฐ„ ๋‰ด์Šค๋ ˆํ„ฐ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๋” ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šฐ๊ณ , ๋” ์Šค๋งˆํŠธํ•˜๊ฒŒ ์‚ฌ๋ก€๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•˜๋Š” ๋ถ„์•ผ์—์„œ ๋ฐœ๋งž์ถฐ ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ž…ํ•˜๋ ค๋ฉด ์ด๋ฉ”์ผ์„ ์ž…๋ ฅํ•˜์„ธ์š”.