ν°μ€ν 리 λ·°
κ°μ
νλ¦¬λ€ νλ μμν¬λ₯Ό ν΅ν΄ μ¬μ©νλ λ€νλκ΅¬λ‘ Windows λλ Linux νκ²½μμ λͺ¨λ μ§νμ΄ κ°λ₯ν©λλ€. λ§μ½ λ¨λ§ λ΄λΆμ μ±μ μ¬μ©μμ λ―Όκ°ν μ 보(ID,PWD) κ°μκ² μ λ ₯λμ΄ μμκ²½μ° Memory μμ μ μ₯μ΄λλλ° μνΈν μ²λ¦¬κ° λμ΄ μμ§ μμ λ―Όκ°μ λ³΄κ° κ·Έλλ‘ μ μΆλ μ μλ κ²½μ°κ° μ‘΄μ¬ν©λλ€.
Memoryλ₯Ό Dump μν¬μ μλ μ½λλ₯Ό μ€νμν€κΈ° μν΄μ Python λ²μ μ λ§κ²λ μ¬μ©ν΄μΌ μλ¬μ²λ¦¬κ° λνλμ§ μκ³ μ±κ³΅μ μΌλ‘ μνν μ μκ² λ©λλ€.
νλ¨μ λ§ν¬μμ fridump3 μ½λλ₯Ό λ€μ΄λ‘λν©λλ€.
https://github.com/rootbsd/fridump3
μ€μΉλ python νμΌλ€ μ λλ€. μ¬κΈ°μ μ¬μ©ν΄λ³Όκ²μ "fridump3.py" μ λλ€. μ°μ μ¬μ©νκΈ° μ μ μ¬μ©κ°λ₯ν λͺ λ Ήμ΄λ€μ νμΈν΄ 보λλ‘ νκ² μ΅λλ€.
Frida λͺ λ Ήμ΄
usage: fridump [-h] [-o dir] [-u] [-H HOST] [-v] [-r] [-s] [--max-size bytes]
optional arguments:
-h: λμλ§ νμ
-o dir / --out dir: μ μ²΄κ²½λ‘ μ 곡
-u / --usb: USBλ₯Ό ν΅ν΄ μ°κ²°
-H HOST / --host HOST: IPλ₯Ό ν΅ν΄ μ°κ²°
-v / --verbose: μμΈν μ 보 μΆλ ₯
-r / --read-only: λ©λͺ¨λ¦¬μ μ½κΈ° μ μ© λΆλΆμ λ€ν
-s / --strings: λͺ¨λ λ€ν νμΌμμ λ¬Έμμ΄μ μ€ν, μΆλ ₯ λλ ν 리μ μ μ₯
--max-size bytes: λ€νμ νμΌ μ΅λν¬κΈ° μ§μ
μ±μ λ©λͺ¨λ¦¬λ₯Ό dump νκΈ° μμ PIDλͺ λ Ήμ νμΈν΄μΌ λ©λλ€. frida-ps -U λ₯Ό μ λ ₯ν μμ μ λλ°μ΄μ€μ μ€μΉλ λͺ¨λ μ±μPID λλ²κ° λμ΅λλ€. μλμ°μ Frida μ€μΉ λ°©λ²μ νλ¨μ λ§ν¬ μ°Έκ³ νμλ©΄λ©λλ€.
https://guleum-zone.tistory.com/137
python fridump3.py -u -r [PID] -s
python fridump3.py -u -s [packagename]
μ¬μ©λ λͺ λ Ήμ΄λ€μ -u / -r / -s λͺ λ Ήμ΄λ€ μ λλ€. λΆμνκ³ μ νλ μ±μ λλ°μ΄μ€λ USBλ‘ μ°κ²°λμ΄ μκΈ°μ -uλ₯Ό μ¬μ©νκ³ -r [pid] λͺ λ Ήμ ν΅ν΄ dump νλ €λ μ± μ«μλ₯Ό μ λ ₯ν΄μ£Όμλ©΄ λ©λλ€. -s λͺ λ Ήμ μνΈν λμ§ μμ λ¬Έμμ΄μ .txt νμΌλ‘ μΆκ° μμ±ν΄μ€λλ€.
*μλλ‘μ΄λνκ²½μμ Frida μ¬μ©μ λΆλͺ λͺ λ Ήμ΄λ μ ννλ° "device not found" λΌλ λ¬Έκ΅¬κ° λνλλ©΄ fridump3.py νμΌμ 79λ²μ§Έ νμ usb_device() -> usb_device(1) λ‘ λ³κ²½νκ³ λ€μ ν΄μ£Όμλ©΄ λ©λλ€.
μΌμ μκ° κΈ°λ€λ €μ£Όμλ©΄ cmdμ ν둬ννΈκ° λλμμ μ΄ μκΉλλ€. dump λ λ©λͺ¨λ¦¬ λ°μ΄ν°λ "dump" λΌλ λλ ν 리μ μμ±λμ΄ μμ΅λλ€. λ³΄ν΅ λͺλ°±κ° λ¨μμ DATA νμΌμ΄ μμ±λκΈ°μ νλμ© λΆμνλκ²μ λ무λ λ§μ μκ°μ΄ μμλ©λλ€.
findstr /ismn "μ°Ύκ³ μνλ λ¬Έμμ΄" *
-i : μ°Ύμ λ λ/μλ¬Έμ ꡬλΆX
-s : νμ¬μ μμΉλΆν° νμμ λλ ν 리κΉμ§ μΌμΉνλ νμΌμ μ°Ύμ
-m : λ¬Έμμ΄μ μ°ΎμΌλ©΄ νμΌμ΄λ¦λ§ 보μ¬μ€
-n : μΌμΉνλ κ° μ€ μμ μ€ λ²νΈ 보μ¬μ€
"dump" λλ ν 리μ String.txt ν μ€νΈ νμΌμ΄ μΆκ°μ μΌλ‘ μμ±λμ΄ νλ¬Έμ λ¬Έμμ΄λ€μ΄ μ§ν©λμ΄ μμ΄ μ°Ύμμ μμ§λ§ κ°λ§ λ ΈμΆλκΈ° λλ¬Έμ λ³μλͺ μ λνλμ§ μμ΅λλ€. λ³μλͺ κΉμ§ λͺ¨λ νμΈνκ³ μΆλ€λ©΄ cmd λͺ λ Ήμ ν΅ν΄ μνΈν λμ§μμ λ¬Έμμ΄μ κ²μνμ¬ μ½κ² μ°ΎμΌμ€μ μμ΅λλ€.
νμΌμ μ΄λνκΈ°μν΄μ HEX μλν°κ° νμν©λλ€. notepad ++ 32λΉνΈμ νμ₯ νλ¬κ·ΈμΈμ μ¬μ©νλ λ°©λ²λ μ‘΄μ¬νμ§λ§ κ°μΈμ μΌλ‘ HxD νλ‘κ·Έλ¨μ μ°λκ² λμ± νΈνκ³ μμ λ μ©μ΄ν©λλ€.
νκΈ μ± λ€ν μ
μ± μ΄λ¦μ΄ νκΈλ‘ λμ΄μλ μ±μ κ²½μ° λ©λͺ¨λ¦¬ λ€ν μ μ λλ‘ λμ§ μλ κ²½μ°κ° λ°μν©λλ€. κ·Έλ΄λλ fridump3.py μ 79λ²μ¨° λΌμΈμ μ½λλ₯Ό μμ ν΄μ£Όμλ©΄ λ©λλ€.
# μμ μ
session = frida.get_usb_device(1).attach(APP_NAME)
# μμ ν
session = frida.get_usb_device(1).attach(int(APP_NAME)
'MOBILE' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[iOS]Jailbreak νμ§ μ°ν(Frida) (0) | 2021.01.24 |
---|---|
[iOS] Keychain Dumper (0) | 2021.01.20 |
[iOS] νμ₯ νκ²½μμ iPA μ€μΉ (0) | 2020.12.23 |
ν리λ€(Frida) νκ²½ κ΅¬μΆ (1) | 2020.12.21 |
IOS 14.x νμ₯(Jailbreak) (0) | 2020.12.19 |