ํฐ์คํ ๋ฆฌ ๋ทฐ
๊ฐ์
Mobile OWASP Top 10 ์ค ์์ง๋ ๋์ ์์๊ถ์ ์๋ฆฌ ์ก๊ณ ์๋ ์ทจ์ฝ์ ์ค ํ๋์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋ฐ์๋ค์ด ์ฑ์ ๊ฐ๋ฐ ๊ตฌํํ๋ ๋จ๊ณ์์ ํด๋ผ์ด์ธํธ ์ธก์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ ํ ์ฌ์ฉ์๋ค์ด ์ฝ๊ฒ ์ก์ธ์ค ํ์ง ๋ชปํ๋๋ก ์ ํ์ ํ์ง๋ง ์๋๋ฐ์ค ํ๊ฒฝ์ผ์ง๋ผ๋ ๋ฃจํ ๋๋ ํ์ฅ์ ํตํด ๋์ ๊ถํ์ ํ๋ํ๊ฒ ๋๊ณ ๋ณดํธ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ฐํํ์ฌ ์ก์ธ์ค๊ฐ ๊ฐ๋ฅํด์ง๋๋ค. ๋ณดํต ์ ์ฑ ์ฑ์ด๋ ์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ๋ถ์ค๋ ๋จ๋ง์ ๋์์ผ๋ก ๊ฐ์ธ์ ๋ณด๋ฅผ ํ๋ํ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํฉ๋๋ค.
1.log file
2.Plist file
3.androidmanifest.xml / SharedPreferecnes.xml
4.SQLite databases
5.Binary data stores
6.SD Card
7.Cloud synced
์์ ๊ตฌ์กฐ๋ OWASP ๋ฌธ์์ ์ ์ฌํ ํ์ ๋ ํ์๊ฐ ์๋ ํ์ผ๋ค ์ ๋๋ค. ๋ช ๊ฐ์ง ํญ๋ชฉ์ ์ฐธ๊ณ ํ์ฌ ์ ์ฅ ํํ๋ฅผ ํ์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
SharedPreferences.xml
์์ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ xml ํ์ผ๋ก ์ด๊ธฐ ์ค์ ๊ฐ ์ด๋ ์๋ ๋ก๊ทธ์ธ ์ ์ฌ์ฉ๋๋ ๊ฐ๋จํ ๊ฐ์ ํธํ๊ฒ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ SharedPreferences.xml ์ ์ ์ฅ๋ ๊ฐ์ ๋์ ์ฑ์ด ์ญ์ ๋๊ธฐ ์ ๊น์ง ๋ณด์กด๋ฉ๋๋ค.
adb pull "๋ฐ์ดํฐ๊ฒฝ๋ก"
๋ด๋ถ์ ์ ์ฅ๋ ์ ๋ณด๋ฅผ ํ์ธํ๊ธฐ ์ํด Nox -> PC๋ก ๊ฐ์ ธ์ค๋๋ก ํ๊ฒ ์ต๋๋ค.
๋งค์ฐ ์ทจ์ฝํ ์ํ๋ผ๋ฉด ํ๋ฌธ์ผ๋ก ์ ์ฅ๋์ด ์์๊ฒ ์ง๋ง ํ์ฌ์ ๊ฒฝ์ฐ ์ํธํ๊ฐ ๋์ด ์ ์ฅ์ด ๋์ด ์์ต๋๋ค. ํ์ง๋ง ์ด ๋ํ ๊ฐ๋ ฅํ ์ํธํ๋ฅผ ์ฌ์ฉํ์ง ์์ ์ํ๋ผ๋ฉด ์ฝ๊ฒ ํด๋ ์ด ๊ฐ๋ฅํด์ง๋๋ค.
EncryptedUsername ๊ฐ์ Base64 Decoding ํด๋ณด๋ฉด ์ฝ๊ฒ ์ฌ์ฉ์์ ์ด๋ฆ์ ํ๋ํ ์ ์์ง๋ง superSecurePassword ๋ณ์๋ ์ ์ฅ๋ ๊ฐ์ ์ํธํํ์ฌ ์ฝ๊ฒ ๋ ธ์ถ๋์ง ์๋๋ก ํ๊ณ ์์ต๋๋ค.
์ด๋ค ํํ๋ก ์ํธํ๋ฅผ ์ํํ๋์ง ํ์ธํ๊ธฐ ์ํด ๋ฐ์ด๋๋ฆฌ ๋ถ์์ ํตํด ๋ก์ง์ ๋ฐ๋ผ๊ฐ ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์๋จ์ ๋ก์ง์ ๋ณด๋ฉด ์ฌ์ฉ์์ ์ด๋ฆ์ Base64 ํํ๋ก ๋น๊ต์ ๊ฐํธํ ์ธ์ฝ๋ฉ์ ์ํํ๊ณ ํจ์ค์๋๊ฐ ๋ด๊ธฐ๋ ๋ณ์์๋ "AES" ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ์ฌ ์ฝ๊ฒ ํด๋ ๋์ง ์๋๋ก ํ๊ณ ์์ต๋๋ค.
์ํธํ๊ฐ ์ํ๋๋ ํด๋์ค๋ก ์ถ์ ์ ํ๋ค ๋ณด๋ฉด ์์ฒ๋ผ ๋์นญํค๊ฐ ์ฝ๊ฒ ๋ ธ์ถ์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
ํ๋ํ ํค ๊ฐ์ ํตํด AES Decryption์ ์ํํ๋ฉด ํ๋จ์ Output ๊ฐ์ด ๋์ค๋๋ฐ ์ด๋ ๋ง์ง๋ง์ผ๋ก Base64 Decoding์ ๊ฑฐ์น๋ฉด ์ํ๋ ํจ์ค์๋ ๊ฐ์ ํ๋ํ ์ ์๋ค๋ ๊ฒ์ ํ์ ํ ์ ์์ต๋๋ค.
SmFia0 AxMiMk ๊ฐ์ ๋ง์ง๋ง์ผ๋ก ๋์ฝ๋ฉํ์ฌ ์ฌ์ฉ์์ ํจ์ค์๋์ธ Jack@123$ ์ ํ๋ํ ์ ์๊ฒ ๋ฉ๋๋ค. ํด๋น ์ทจ์ฝ์ ์ ๊ฒฝ์ฐ Local Encryption ์ทจ์ฝ์ ์๋ ์ํ๋ฉฐ ์ด๋ณด๋ค ๋ ์ทจ์ฝํ ํ๊ฒฝ์ด์์ ๊ฒฝ์ฐ ์ํธํ ์กฐ์ฐจ ๋์ง ์์ ํ๋ฌธ ์ํ์ผ ๊ฐ๋ฅ์ฑ๋ ์กด์ฌํฉ๋๋ค.
SQLite Database
ํน์ ์๋ฒ์ ์ ์ฅํ๋ ๊ฒ์ด ์๋ ๊ธฐ๊ธฐ ๋ด๋ถ์ ์กด์ฌํ๋ ๊ฐ๋ฒผ์ด ์๋ฒ ๋๋ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋ฏธํ๋ฉฐ ๋์ผํ๊ฒ SQL๋ฌธ์ ํตํด ๊ธฐ๋ฅ์ ์ํํ๊ณ ํ ์ด๋ธ ํํ๋ก ๊ฐ๋จํ ์ ์ฅ๋ฉ๋๋ค.
์ญ์ ๊ฐ ๋์ด๋ ํ์ํ ๋ฐ์ดํฐ๋ ๊ฐ๋จํ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ฑฐ๋ sharedpreferences๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด๊ดํ ์ ์์ง๋ง ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์๋ชป ๋ ์๊ฐ์ง ์๊ธฐ ์ํด์๋ ์ฝ๊ธฐ/์ฐ๊ธฐ/์ ๋ฐ์ดํธ๊ฐ ์ฆ์ ๋ฐ์ดํฐ๋ผ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ์ ํด๋๋ ๊ฒ ์ผ๋ฐ์ ์ ๋๋ค.
ํน์ ์ฑ์์ ์ฌ์ฉ์์ ์ด๋ฆ๊ณผ ํจ์ค์๋๋ฅผ SQLite Database์ ์ ์ฅํ๋ ํ๊ฒฝ์์ ์งํํ๊ธฐ ์ํด Androgoat๋ฅผ ์ค์นํ์ฌ ์งํํ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์ ๋ณด๋ฅผ ํ์ธํ๊ธฐ ์ํด์ ํด๋น ํ์ผ์ ๋ก์ปฌ PC๋ก ๊ฐ์ ธ์ ๋ณ๋์ SQLite ํ๋ก๊ทธ๋จ์ผ๋ก ํ ์ด๋ธ ์ ๋ณด๋ฅผ ์ฝ์ด์ ํ์ธํด ์ฃผ์ ์ผ ๋ฉ๋๋ค.
adb pull "๋ฐ์ดํฐ ๊ฒฝ๋ก" "๋ก์ปฌPC ๊ฒฝ๋ก"
adb ๋ช ๋ น์ ํตํด ๋ก์ปฌ PC๋ก ๊ฐ์ ธ์ค๋๋ก ํ๊ฒ ์ต๋๋ค.
SQLite ํ๋ก๊ทธ๋จ์ผ๋ก "agoat" ํ์ผ์ ์ฝ์ด๋ณด๋ฉด ๊ฐ๊ฐ์ ์ด๋ค ํ ์ด๋ธ์ด ์กด์ฌํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
users ํ ์ด๋ธ๋ก ์ ๊ทผํด ๋ณด์๋ฉด ์กฐ๊ธ ์ ์ ์ ๋ ฅํ๋ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ํจ์ค์๋๊ฐ ๋ณ๋์ ์ํธํ๊ฐ ๋์ง ์์ ์ํ๋ก ์ ์ฅ๋ ๊ฒ์ ํ๋ํ ์ ์์ต๋๋ค.
# objection -g "ํจํค ์ง๋ช " explore
# cd "databaseํ์ผ๋ก ๊ฒฝ๋ก ์ด๋"
# ls -> database ํ์ผ๋ช ํ์ธ
# sqlite connect "ํ์ผ๋ช "
# .tables -> ํ ์ด๋ธ๋ช ํ์ธ
# select * from "ํ ์ด๋ธ๋ช "
Objection์ ์ฌ์ฉํ์๋ฉด ๋ณ๋์ ํ๋ก๊ทธ๋จ ์์ด ํด๋น ์ฑ์ ๋ค์ด๋ ํธ๋ก attached ๋์ด ์ปค๋งจ๋ ํ๊ฒฝ์์ ์ฝ๊ฒ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
tmp
์ค์ ์๋น์ค ์ค์ธ ์ฑ์์๋ ์ฝ๊ฒ ๋ฐ๊ฒฌ๋ ํ๋ฅ ์ ๋ฎ์ ๋ถ๋ถ์ด์ง๋ง ์ฌ์ฉ์๋ฅผ ์๋ณํ ์ ์๋ ๊ฐ์ธ์ ๋ณด๋ฅผ ์์ํ์ผ ํํ๋ก ์ ์ ์ ์ฅํด๋๋ ํ๊ฒฝ์ผ ๊ฒฝ์ฐ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ๋ณด๋ฅผ ํ๋ํ์ฌ ํ์ทจ๋นํ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํฉ๋๋ค.
SD card
์ธ๋ถ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋๊ตฌ๋ ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ ์์ญ์ด๊ธฐ ๋๋ฌธ์ ๋ฏผ๊ฐ์ ๋ณด๊ฐ ์ ์ฅ๋์ด์๋ ์ ๋ฉ๋๋ค. ๋ง์ฝ ์ ์ฅ์ ํด์ผ ๋๋ ํ๊ฒฝ์ด๋ผ๋ฉด "javax.crypto" ๋๋ "EncryptedFile" ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ํธํ๋ฅผ ํด์ฃผ์ ์ผ ๋ฉ๋๋ค.
์์์ ์ฌ์ฉ์์ ์ด๋ฆ๊ณผ ํจ์ค์๋๋ฅผ ์ ๋ ฅํ์ฌ ์ธ๋ถ ์ ์ฅ์์ ์ด๋ค ํํ๋ก ์ ์ฅ๋๋์ง ํ์ธํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ฐ์ androidmanifest.xml ๋ด๋ถ๋ฅผ ๋ณด์๋ฉด WRITE_ENTERNAL_STORAGE ์ READ_ENTERNAL_STORAGE ์ ๊ถํ์ด ์ค์ ์ด ๋์ด ์์ต๋๋ค.
๋ก์ง์ ํ์ธํ๊ธฐ ์ํด ํน์ ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ํด๋ณธ ๊ฒฐ๊ณผ SDcard์ ์ฐ๊ด๋ ๋ถ๋ถ์ด ํ์ธ๋ฉ๋๋ค.
์์ค ๋ก์ง์ ํ์ธํด๋ณด๋ฉด editText๋ฅผ ํตํด ์ฌ์ฉ์์ ์ด๋ฆ๊ณผ ํจ์ค์๋๋ฅผ ๋ฐ์ ์ ๋ ฅ๋ ๊ฐ์ ์ธ๋ถ ์ ์ฅ์์ "users"์ "tmp"๋ช ์ผ๋ก ์์ฑํ๊ณ ์๊ณ ๋ณ๋์ ์ํธํ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์์ต๋๋ค.
sdcard ๋๋ ํ ๋ฆฌ์ ์ ๊ทผํด๋ณด๋ฉด "user tmp" ๋ช ์ ํฌํจํ๋ ์์ํ์ผ์ด ํ์ธ๋ฉ๋๋ค.
๋ด๋ถ๋ฅผ ํ์ธํด๋ณด๋ฉด ์ ์ฅ๋ ๊ฐ์ ์ํธํ๋ฅผ ์ํํ์ง ์์ ํ๋ฌธ ํํ๋ก ์ ์ฅ๋๊ณ ์์ผ๋ฉฐ ํด๋น ์ ๋ณด๋ฅผ ํตํด ์ถ๊ฐ์ ์ธ ์ ์ฉ ๋ฒ์ฃ๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
'MOBILE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] Functions Hooking (1) | 2021.09.24 |
---|---|
[iOS] Objection ์ฃผ์ ๋ช ๋ น์ด (0) | 2021.02.14 |
[Android] Content Provider ์ทจ์ฝ์ (2) | 2021.02.10 |
[Android] Broadcast Receiver ์ทจ์ฝ์ (0) | 2021.02.09 |
[Android] Activity Component ์ทจ์ฝ์ (0) | 2021.02.08 |