μƒˆμ†Œμ‹

Languages/Android

[Android] μΈμ‹œνμ–΄ 뱅크 취약점 진단 | ν™˜κ²½μ„€μ • ν•˜κΈ°.

  • -
λ°˜μ‘ν˜•

μΈμ‹œνμ–΄ 뱅크 κ°•μ˜ λ‚΄μš©μ„ ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

 


μΈμ‹œνμ–΄ λ±…ν¬λž€

μ•ˆλ“œλ‘œμ΄λ“œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν…ŒμŠ€νŠΈ 및 μ‹œν—˜ν•¨μœΌλ‘œμ¨ λ³΄μ•ˆ 전문가와 κ°œλ°œμžκ°€ μ•ˆλ“œλ‘œμ΄λ“œ λ³΄μ•ˆ μœ„ν—˜μ„ λ°°μš°λ„λ‘ ν•˜κΈ° μœ„ν•΄

개발된 앱이닀. μ˜€ν”ˆμ†ŒμŠ€λ‘œ git hubμ—μ„œ λ‹€μš΄ 받을 수 μžˆλ‹€.(μ•„λž˜ 링크 포함)

github.com/dineshshetty/Android-InsecureBankv2

 

dineshshetty/Android-InsecureBankv2

Vulnerable Android application for developers and security enthusiasts to learn about Android insecurities - dineshshetty/Android-InsecureBankv2

github.com

"μΈμ‹œνμ–΄λ±…ν¬λŠ” λͺ¨λ°”일 취약점 을 뢄석 ν•  수 μžˆλŠ” μ•ˆλ“œλ‘œμ΄λ“œ μ•±" 이닀.

κΈˆμœ΅μ•±μ„ 기반으둜 λ§Œλ“€μ–΄μ‘Œκ³  λ‹€μˆ˜μ˜ 취약점이 μžˆμ–΄ 이λ₯Ό 식별 , 뢄석 ν•  수 μžˆλ‹€.

μ•ˆλ“œλ‘œμ΄λ“œ μ•± 취약점 뢄석 λ„κ΅¬λ‘œ μ†κΌ½νžˆλŠ” 앱이닀.

 

- μ•ˆλ“œλ‘œμ΄λ“œ μ•±κ³Ό μ„œλ²„μ˜ 톡신 방법 이해

- μ•± μžμ²΄μ— μ‘΄μž¬ν•˜λŠ” 취약점 이해

- μ•±κ³Ό μ„œλ²„κ°€ 톡신 쀑 λ°œκ²¬λ˜λŠ” 취약점 이해

- μ΅œμ’…μ μœΌλ‘œ μ•ˆλ“œλ‘œμ΄λ“œ 앱을 κ°€μ΄λ“œ 라인에 따라 진단

 

 

μΈμ‹œνμ–΄ 뱅크 ꡬ성

μ„œλ²„λŠ” python27 : Flask둜 ꡬ성 <--톡신--> μ•ˆλ“œλ‘œμ΄λ“œ μΈμ‹œνμ–΄ 뱅크 μ•± 

쑰정원 "μΈμ‹œνμ–΄ λ±…ν¬λ‘œ μ•Œμ•„λ³΄λŠ” μ•± 취약점 진단"

 

취약점 μ’…λ₯˜

μΈμ‹œνμ–΄λ±…ν¬λŠ” λ‹€μŒκ³Ό 같은 취약점을 가지고 μžˆλ‹€.

 

01. μ·¨μ•½ν•œ λΈŒλ‘œλ“œμΊμŠ€νŠΈ λ¦¬μ‹œλ²„ (Flawed Broadcast Receivers)

02. μ·¨μ•½ν•œ 인증 λ§€μ»€λ‹ˆμ¦˜ (Weak Authorization mechanism)

03. 둜컬 μ•”ν˜Έν™” 취약점 (Local Encryption issues)

04. μ·¨μ•½ν•œ μ•‘ν‹°λΉ„ν‹° μ»΄ν¬λ„ŒνŠΈ (Vulnerable Activity Components)

05. 루트 λ…ΈμΆœ 및 우회 취약점 (Root Detection and Bypass)

06. μ·¨μ•½ν•œ μ½˜ν…μΈ  ν”„λ‘œλ°”μ΄λ” (Insecure Content Provider access)

07. μ·¨μ•½ν•œ μ›Ή λ·° κ΅¬ν˜„ (Insecure Webview implementation)

08. μ·¨μ•½ν•œ μ•”ν˜Έν™” κ΅¬ν˜„ (Weak Cryptography implementation)

09. μ•± 패칭 취약점 (Application Patching)

10. μ€‘μš” 정보 λ©”λͺ¨λ¦¬ λ…ΈμΆœ 취약점 (Sensitive Information in Memory)

11. μ·¨μ•½ν•œ λ‘œκΉ… λ©”μΉ΄λ‹ˆμ¦˜ (Insecure Logging mechanism)

12. νŽ˜μ΄μŠ€νŠΈλ³΄λ“œ 취약점 (Android Pasteboard vulnerability)

13. μ•± 디버깅 취약점 (Application Debuggable)

14. μ•ˆλ“œλ‘œμ΄λ“œ ν‚€λ³΄λ“œ μΊμ‹œ 취약점 (Android keyboard cache issues)

15. μ•ˆλ“œλ‘œμ΄λ“œ λ°±μ—… 취약점 (Android Backup vulnerability)

16. λŸ°νƒ€μž„ μ‘°μž‘ (Runtime Manipulation)

17. μ·¨μ•½ν•œ SD μΉ΄λ“œ μŠ€ν† λ¦¬μ§€ (Insecure SD Card storage)

18. μ·¨μ•½ν•œ HTTP 전솑 (Insecure HTTP connections)

19. νŒŒλΌλ―Έν„° μ‘°μž‘ (Parameter Manipulation)

20. ν•˜λ“œμ½”λ“œλœ μ€‘μš” 정보 (Hardcoded secrets)

21. μ‚¬μš©μž 계정 λͺ©λ‘ν™” (Username Enumeration issue)

22. 개발 백도어 취약점 (Developer Backdoors)

23. μ·¨μ•½ν•œ λΉ„λ°€λ²ˆν˜Έ λ³€κ²½ 둜직 (Weak change password implementation)

좜처: https://aroundck.tistory.com/6869 [돼지왕 놀이터]

 

 

 

μ‹€μŠ΅ν•˜κΈ° 

μ•„λ‚˜μ½˜λ‹€λ₯Ό λ¨Όμ € λ‹€μš΄λ‘œλ“œ ν•΄μ€€λ‹€.

lucete1230-cyberpolice.tistory.com/433

 

[μ•”ν˜Έ ν”„λ‘œν† μ½œ] 파이썬 κ°€μƒν™˜κ²½ | μ•„λ‚˜μ½˜λ‹€ 파이썬 | python | anaconda

μ•”ν˜Έ ν”„λ‘œν† μ½œ μ•”ν˜Έλ₯Ό κΉ¨λŠ” μ•”ν˜Έ ν”„λ‘œν† μ½œμ„ κ°œλ°œμ„ λͺ©ν‘œλ‘œ ν•œλ‹€. ν΄λž˜μ‹ μ•”ν˜Έ ~ μƒˆλ‘œμš΄ μ•”ν˜ΈκΉŒμ§€ κΉ¨λŠ” 것을 ν•΄λ³Ό 것 -> 인증 μ‹œμŠ€ν…œλ„ λ§Œλ“€μ–΄ λ³Ό 것 * λ³Έ λ‚΄μš©μ€ 학ꡐ μˆ˜μ—…μ„ λ³΅μŠ΅μš©λ„λ‘œ μ˜¬λ¦¬λŠ”

lucete1230-cyberpolice.tistory.com

μ•„λ‚˜μ½˜λ‹€ ν”„λ‘¬ν¬νŠΈμ—μ„œ κΉ”λ ΈλŠ”μ§€ ν™•μΈν•˜κΈ°
conda --version
python --version

μ΄μ–΄μ„œ λͺ…λ Ήμ–΄ μž…λ ₯
conda create -n py2 python=2.7 -y # κ°€μƒν™˜κ²½ λ§Œλ“€μ–΄ μ£ΌκΈ°.
conda activate py2

λ‹€μŒ μΈμ‹œνμ–΄ 뱅크 λ‹€μš΄λ‘œλ“œ μœ„μ—μ„œ 받은 경둜 μž…λ ₯ν•˜κΈ° (저같은 κ²½μš°λŠ” μ•„λž˜ κ²½λ‘œμ˜€μŠ΅λ‹ˆλ‹€.)
cd C:\Android-InsecureBankv2-master\AndroL

ptp install 둜 μ•„λž˜ μžˆλŠ” 것듀 λ‹€ λ‹€μš΄λ‘œλ“œ ν•˜λ©΄ 됨.
flask
sqlalchemy
simplejson
web.py
cherrypy

이후 μ‹€ν–‰μ‹œμΌœμ„œ 포트 μ—΄μ–΄μ£ΌκΈ°.
pip install web.py==0.37
python app.py

μœˆλ„μš°κ°€μƒν™˜κ²½μ—μ„œ λ„€νŠΈμ›Œν¬λ₯Ό wifi 둜 μž‘μ•„μ€€λ‹€. 

 

μΈμ‹œνμ–΄ 뱅크에 아이디 λΉ„λ°€λ²ˆν˜ΈλŠ” μ•„λž˜μ™€ κ°™λ‹€.

 

- 아이디 : dinesh,  νŒ¨μŠ€μ›Œλ“œ : Dinesh@123$ 

-  아이디 : jack, νŒ¨μŠ€μ›Œλ“œ : Jack@123$

둜그인 정보가 λ‚˜μ˜€λ©΄μ„œ, 둜그인이 μ„±κ³΅ν•œλ‹€.

 

 

++ 참고둜 ipμΆ”κ°€ν•΄ μ€˜μ•Όν•¨.

 

 

 

둜그인 성곡 μ‹œ μ•„λž˜μ™€ 같은 화면이 좜λ ₯λœλ‹€.

 

ν”„λ‘œλ°”μ΄λ”

μžμ‹ μ΄ 가진 데이터λ₯Ό λ‹€λ₯Έ 앱에 전달해주기 μœ„ν•΄ μ‘΄μž¬ν•¨. ν—ˆκ°€λ˜μ§€ μ•Šμ€ κ°œμΈμ •λ³΄λ₯Ό μ–»μ–΄λ‚΄λ €κ³  λͺ°λž˜ 쑰회 ν›„ 데이터λ₯Ό 훔쳐봄.

choidev-1.tistory.com/55

 

(μ•ˆλ“œλ‘œμ΄λ“œ) μ½˜ν…μΈ  ν”„λ‘œλ°”μ΄λ” (Content Provider)

μ½˜ν…μΈ  ν”„λ‘œλ°”μ΄λ” (Content Provider) μ½˜ν…μΈ  ν”„λ‘œλ°”μ΄λ”λŠ” μ•ˆλ“œλ‘œμ΄λ“œ 5λŒ€ μ»΄ν¬λ„ŒνŠΈ 쀑 ν•˜λ‚˜λ©°, μ™ΈλΆ€ 앱이 각쒅 데이터λ₯Ό μ ‘κ·Όν•  수 있게 λ„μ™€μ£ΌλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. !μ—¬κΈ°μ„œ λ°μ΄ν„°λŠ” DB, 파

choidev-1.tistory.com

medium.com/@lunay0ung/android-content-provider-9201ca78a578 λ‘ λΈ”λ‘œκ·Έμ— μžμ„Ένžˆ μ •λ¦¬λ˜μ–΄ μžˆμœΌλ‹ˆ μ°Έκ³ ν•΄μ£Όμ‹œκΈΈ λ°”λžλ‹ˆλ‹€.

 

Android: Content Provider

Content Provider(μ»¨ν…νŠΈ ν”„λ‘œλ°”μ΄λ”, μ΄ν•˜ CP)λŠ” μ•ˆλ“œλ‘œμ΄λ“œμ—μ„œ μ•± κ°„ 데이터λ₯Ό κ³΅μœ ν•˜λŠ” 방식이닀.

medium.com

 

취약점 뢄석 μ‹œ ν•„μš”ν•œ λ„κ΅¬λŠ” λ”°λ‘œ μ„€λͺ…ν•˜λ„λ‘ ν•˜κ² λ‹€.

 

λ°˜μ‘ν˜•
Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.