관리 메뉴

Information Security

루팅 - Bypass Binaries 본문

모바일/ANDITER

루팅 - Bypass Binaries

HackingPractice 2023. 12. 17. 17:47
  • 디바이스 루팅 시 사용된 응용프로그램 종류에 따라 특정 바이너리 파일들이 설치되거나, 공격자들의 악의적인 행위 및 시스템 설정 변경을 위하여 특정 명령어 파일들을 설치한다.
  • 대표적인 명령어 파일에는 su, busybox, magisk 등이 있다.
  • Bypass Binaries 항목은 디바이스 내의 바이너리 파일들을 검사하여 루팅 시 사용되는 명령어 파일들이 존재할 경우 루팅 디바이스로 판단하여 탐지한다. 

그림 1 Bypass Binaries

 

아래와 같은 내용을 확인할 수 있다.

그림 2 개요

 

busybox 명령어를 입력하면 아래와 같이 명령어를 확인할 수 있다.

그림 3 busybox

 

isCheckRootingBinary() 함수는 Bypass Binaries 탐지 결과를 반환해 주는 역할을 한다. 코드를 보면  rootingPath에서 시스템 디렉터리 목록을 가져오고 있으며 rottingBinaries에서는 루팅 시 설치되는 파일 목록을 가져오고 있다. this.isFile()에서는 rootingPath에서 가져온 디렉터리에 rootingBinaries 루팅 시 설치되는 파일이 존재하는지 검사한다. 이때, 파일이 디바이스에 존재하는지 확인하는 함수가 File 클래스의 exists() 함수이며 파일이 존재할 경우 true를 반환하고 없을 경우 false를 반환한다.

그림 4 isCheckRootingBinary()

 

첫 번째 인자 rootingPath, 두 번째 인자 rootingBinaries 값을 확인

그림 5 인자 값

 

isCheckRootingBinary를 찾아가지 않고 frida 코드가 실행되어 우회하여 탐지가 되지 않도록 false 값으로 return 한다.

그림 6 frida 소스코드

 

frida 코드 실행

그림 7 코드 실행

 

false 에서 Success! 가 보이는 것으로 보아 탐지 우회가 된 것을 확인

'모바일 > ANDITER' 카테고리의 다른 글

루팅 - Bypass Build-Tags  (0) 2023.12.30
루팅 - Bypass Command Execution  (0) 2023.12.28
루팅 - Bypass Packages  (0) 2023.12.16