iOS์—์„œ Corellium์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

  • Corellium iOS VM (ํƒˆ์˜ฅ ์—ฌ๋ถ€ ๋ฌด๊ด€). ์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Corellium์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ ๋„๊ตฌ: ssh/scp.
  • (์„ ํƒ) Corellium ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€๋œ SSH keys (๋ฌด๋น„๋ฐ€๋ฒˆํ˜ธ ๋กœ๊ทธ์ธ์šฉ).

localhost์—์„œ iPhone VM์— ์—ฐ๊ฒฐํ•˜๊ธฐ

A) Quick Connect (VPN ์—†์Œ)

  1. **/admin/projects**์— ssh ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š” (๊ถŒ์žฅ).
  2. ๋””๋ฐ”์ด์Šค ํŽ˜์ด์ง€ โ†’ Connect
  3. Corellium์— ํ‘œ์‹œ๋œ Quick Connect SSH command๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์— ๋ถ™์—ฌ๋„ฃ์œผ์„ธ์š”.
  4. ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”(๊ถŒ์žฅ).

B) VPN โ†’ direct SSH

  1. **/admin/projects**์— ssh ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š” (๊ถŒ์žฅ).
  2. Device page โ†’ CONNECT โ†’ VPN โ†’ .ovpn ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•œ ๋‹ค์Œ TAP ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” VPN ํด๋ผ์ด์–ธํŠธ๋กœ ์—ฐ๊ฒฐํ•˜์„ธ์š”. (๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด https://support.corellium.com/features/connect/vpn ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.)
  3. VM์˜ 10.11.x.x ์ฃผ์†Œ๋กœ SSH ์ ‘์†:
ssh root@10.11.1.1

๋„ค์ดํ‹ฐ๋ธŒ ๋ฐ”์ด๋„ˆ๋ฆฌ ์—…๋กœ๋“œ ๋ฐ ์‹คํ–‰

2.1 ์—…๋กœ๋“œ

  • Quick Connect์ด host/port๋ฅผ ์ œ๊ณตํ–ˆ๋‹ค๋ฉด:
scp -J <domain> ./mytool root@10.11.1.1:/var/root/mytool
  • VPN (10.11.x.x)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:
scp ./mytool -J <domain> root@10.11.1.1:/var/root/mytool

iOS ์•ฑ(.ipa) ์—…๋กœ๋“œ ๋ฐ ์„ค์น˜

๋ฐฉ๋ฒ• A โ€” Web UI (๊ฐ€์žฅ ๋น ๋ฆ„)

  1. Device ํŽ˜์ด์ง€ โ†’ Apps ํƒญ โ†’ Install App โ†’ ์ž์‹ ์˜ .ipa ์„ ํƒ.
  2. ๋™์ผํ•œ ํƒญ์—์„œ launch/kill/uninstallํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ• B โ€” ์Šคํฌ๋ฆฝํŠธ๋กœ Corellium Agent ์‚ฌ์šฉ

  1. API Agent๋ฅผ ์‚ฌ์šฉํ•ด uploadํ•œ ๋‹ค์Œ install:
// Node.js (pseudo) using Corellium Agent
await agent.upload("./app.ipa", "/var/tmp/app.ipa");
await agent.install("/var/tmp/app.ipa", (progress, status) => {
console.log(progress, status);
});

Path C โ€” Non-jailbroken (proper signing / Sideloadly)

  • ํ”„๋กœ๋น„์ €๋‹ ํ”„๋กœํŒŒ์ผ์ด ์—†๋‹ค๋ฉด, Sideloadly๋กœ Apple ID๋กœ ์žฌ์„œ๋ช…ํ•˜๊ฑฐ๋‚˜ Xcode์— ๋กœ๊ทธ์ธํ•˜์„ธ์š”.

  • ๋˜ํ•œ USBFlux๋ฅผ ์‚ฌ์šฉํ•ด VM์„ Xcode์— ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์„น์…˜ ยง5 ์ฐธ์กฐ).

  • SSH ์—†์ด ๋น ๋ฅธ ๋กœ๊ทธ/๋ช…๋ น ํ™•์ธ์„ ์œ„ํ•ด UI์˜ ๊ธฐ๊ธฐ Console์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

Extras

  • Port-forwarding (๋‹ค๋ฅธ ๋„๊ตฌ๋“ค์ด VM์„ ๋กœ์ปฌ์ฒ˜๋Ÿผ ์ธ์‹ํ•˜๋„๋ก):
# Forward local 2222 -> device 22
ssh -N -L 2222:127.0.0.1:22 root@10.11.1.1
# Now you can: scp -P 2222 file root@10.11.1.1:/var/root/
  • LLDB remote debugging: ์žฅ์น˜ ํŽ˜์ด์ง€ ํ•˜๋‹จ์— ํ‘œ์‹œ๋œ LLDB/GDB stub ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค (CONNECT โ†’ LLDB).

  • USBFlux (macOS/Linux): VM์„ Xcode/Sideloadly์— ์œ ์„  ์žฅ์น˜์ฒ˜๋Ÿผ ์—ฐ๊ฒฐํ•˜์„ธ์š”.

์ผ๋ฐ˜์ ์ธ ํ•จ์ •

  • Proper signing์€ non-jailbroken ์žฅ์น˜์—์„œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค; unsigned IPAs๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Quick Connect vs VPN: Quick Connect๊ฐ€ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค; ์žฅ์น˜๋ฅผ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ(์˜ˆ: ๋กœ์ปฌ ํ”„๋ก์‹œ/๋„๊ตฌ)๋Š” VPN์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
  • Corellium ์žฅ์น˜์—๋Š” App Store๊ฐ€ ์—†์œผ๋ฏ€๋กœ, (re)signed IPAs๋ฅผ ์ง์ ‘ ์ค€๋น„ํ•˜์„ธ์š”ใ€‚

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ