본문 바로가기

모바일 해킹

Frida를 이용한 루팅탐지 우회 - frida를 이용한 앱 모의해킹

반응형

Frida를 이용한 루팅탐지 우회

먼저 실습할 앱은 OWASP에서 취약한 앱을 만들어서 실습하라고 배포한 앱을 사용할 예정이다.  "https://github.com/OWASP/owasp-mastg/tree/master/Crackmes/Android"  에 있는 level1.apk이다. 

adb install 실습apk.apk

apk 파일이 있는 경로에 들어가서 위 명령어로 실습할 파일을 디바이스에 설치해 준다.

 

Frida를 이용한 루팅탐지 우회 1

Frida가 켜져 있어서 바로 루팅탐지를 당했다. 코드를 먼저 분석해 보자. jadx를 통해 코드를 분석할 예정이다. 다운로드를 못 하신 분은 https://github.com/skylot/jadx/releases 링크로 들어가서 설치하길 바란다.

 

jadx로 app 디컴파일 1

MainActivity먼저 확인해 보자. 앱이 작아서 분석하기가 좋다. onCreate함수를 보면 29번 줄 조건문에서 c클래스의 a, b, c메소드 중 하나라도 true이면 탐지되기에 메소드를 덮어서 False값을 반환해야 한다.

 

 

MainActivity

또 참일 때, 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를 이용한 루팅탐지 우회 2

루팅검사를 우회하고 접속이 된 걸 확인했다.

 

 


참고문헌

frida를 이용한 앱 모의해킹

http://www.yes24.com/Product/Goods/69055354

 

 

 

 

728x90