Frida를 이용한 루팅탐지 우회
먼저 실습할 앱은 OWASP에서 취약한 앱을 만들어서 실습하라고 배포한 앱을 사용할 예정이다. "https://github.com/OWASP/owasp-mastg/tree/master/Crackmes/Android" 에 있는 level1.apk이다.
adb install 실습apk.apk
apk 파일이 있는 경로에 들어가서 위 명령어로 실습할 파일을 디바이스에 설치해 준다.
Frida가 켜져 있어서 바로 루팅탐지를 당했다. 코드를 먼저 분석해 보자. jadx를 통해 코드를 분석할 예정이다. 다운로드를 못 하신 분은 https://github.com/skylot/jadx/releases 링크로 들어가서 설치하길 바란다.
MainActivity먼저 확인해 보자. 앱이 작아서 분석하기가 좋다. onCreate함수를 보면 29번 줄 조건문에서 c클래스의 a, b, c메소드 중 하나라도 true이면 탐지되기에 메소드를 덮어서 False값을 반환해야 한다.
또 참일 때, Ok 버튼을 클릭하면 앱이 종료되므로, 보통 버튼 클릭 리스너는 "onClickListener"를 사용하므로 찾고 동작방식을 봐야 한다. 위 사지을 보면 Ok버튼을 누르면 onClickListener가 동작하면서
System.exit(0);
위 코드가 실행된다. 따라서 프리다를 이용해 exit()를 후킹 하여 앱 종료 명령을 우회하는 코드를 작성하자.
expooit code(app.js)
setImmediate(function(){
Java.perform(function(){
var exit_bypass = Java.use("java.lang.System");
exit_bypass.exit.implementation = function(arg){
console.log("[*] Bypass");
}
})
})
frida -U --no -l app.js Uncrackable1
위와 같이 코드를 작성한 후 frida를 실행하면 된다.
루팅검사를 우회하고 접속이 된 걸 확인했다.
참고문헌
frida를 이용한 앱 모의해킹
http://www.yes24.com/Product/Goods/69055354
'모바일 해킹' 카테고리의 다른 글
Frida를 이용한 루팅탐지 2 암호 해독 - frida를 이용한 앱 모의해킹 (0) | 2023.01.18 |
---|---|
Frida 설치방법 및 서버 설치방법 - 환경구축 (0) | 2023.01.02 |