Insecure Bank2 취약점(7)

Insecure Bank2 취약점(7)

Description
애플리케이션 패칭
category
MobileHacking
Tag
Mobile Security
Andorid
Date
Mar 1, 2024 05:45 AM

애플리케이션 패칭

애플리케이션 패칭 취약점이란?

애플리케이션 패칭은 기존에 정상적인 애플리케이션을 디컴파일 후 악성코드를 삽입하는 것을 말한다. 해당 취약점이 존재 할 경우 루팅 탐지 우회, 중요 정보 탈취, 중요 인증 우회 등을 할 수 있다.
 

취약점 진단

패칭을 하기 위해서 우선 디컴파일링 해주어야 한다. 도구는 APK Easy Tool을 사용하였다.
notion image
 
디컴파일링 완료되면 smali 폴더가 생성되면서 smali 파일이 생성된다.
notion image
💡
smali 이란? smali는 Dalvik 바이트 코드를 위한 어셈블리 언어이다. 안드로이드 리버싱을 할 때 사용된다. smali 파일은 재컴파일이 가능하다.
 
확인이 쉽게 PostLogin.smali의 Root 탐지 메시지 부분을 수정하였다.
notion image
 
수정 후 컴파일링하여 재설치 해주었다. 성공적으로 변경 된 것을 확인 할 수 있다.
notion image
 

대응방안

해당 취약점은 소스코드가 난독화 되어 있지 않기 때문에 발생한다.
따라서 Android Studio에서 기본적으로 지원해 주는 난독화 도구 Proguard를 사용한다.
난독화가 되었다면 class가 아래 사진과 같이 바뀐다.
notion image