들어가기 앞서 USB 디버깅 옵션 검사를 통한 동적 디버깅 탐지 방안과 우회 기법 들어가기 앞서 개발자 모드 검사를 통한 동적 디버깅 탐지 방안과 우회 기법 들어가기 앞서 동적 디버깅 도구(JEB Decompiler) 탐지 방안과 우회 기법 들어가기 앞서 ro.debuggable 값 검사를 통한 동적 naro-security.tistory.com 이전 "USB 디버깅 옵션 검사를 통한 동적 디버깅 탐지 방안과 우회 기법" 포스팅에 이어서 디바이스의 USB 연결 여부를 검사하여 동적 디버깅을 탐지하는 방안과 또, 이를 공격자의 관점에서 어떻게 우회할 수 있는지 다뤄보도록 하겠다. 실습 진행에 사용되는 ANDITER 앱은 아래의 GitHub에서 다운로드 가능하다. GitHub - naroSEC/Anditer..
개요 네이티브 코드는 안드로이드 애플리케이션에서 C/C++ 언어로 작성된 코드를 말한다. 안드로이드 애플리케이션은 주로 Java와 Kotlin 같은 고수준 프로그래밍 언어로 개발되지만, 일부 기능이나 성능 향상, 하드웨어 접근, 호환성을 이유로 네이티브 코드를 활용한다. 특히 게임분야에서 네이티브 코드가 가장 많이 활용되며, 이는 그래픽 처리, 음성 처리 등과 같은 작업에서 Java 코드 대비 높은 효율을 보이기 때문이다. 또한, C/C++과 같이 저수준 언어로 작성된 코드는 기계어 또는 어셈블리어로 컴파일되기에 가독성이 낮아 코드 분석 및 리버스 엔지니어링에 어려움을 준다. 때문에, 앱에 적용되는 대 다수의 보안 솔루션들은 네이티브 코드를 활용하여 루팅과 같은 모바일 보안 위협을 탐지한다. 그리고 이러..
개요 모바일 앱을 진단하다 보면 DroidX, AndroGuard 등 다양한 보안 솔루션이 적용된 앱을 보게 되는데 이들 대부분은 Frida를 필수적으로 탐지한다. 솔루션이 Frida를 탐지할 때는 보편적으로 Frida 생성 파일, 포트, 모듈 검사를 통해 탐지하며, 몇몇 솔루션에서는 역후킹 방안을 이용해 Frida를 막기도 한다. 해당 포스팅은 이러한 탐지 방법 중에서도 Frida 서버를 이용하여 포트 탐지를 우회하는 방법을 기술하고자 한다. 방법 1. PC와 모바일 디바이스를 USB로 연결한 상태에서 [그림 1]과 같이 원격 셸에 접근한다. adb shell 2. Frida 서버를 -h 옵션을 인자로 주고 실행하면 Frida 서버에 관한 다양한 옵션을 확인할 수 있으며, 이 중에서 -l 옵션은 Fri..
들어가기 앞서 이전 포스팅에 이어 Binaries 기반 탐지는 어떻게 이뤄지고 또 이를 어떠한 방안을 통해 우회할 수 있는지 다뤄보겠다. 실습 진행에 사용되는 ANDITER 앱은 아래의 Github에서 다운로드 가능하다. GitHub - naroSEC/Anditer Contribute to naroSEC/Anditer development by creating an account on GitHub. github.com 개요 디바이스 루팅 시 사용된 루팅 패치 프로그램에 따라서 상이할 수 있지만 관리자 권한을 획득하기 위한 명령어 파일인 su와 UNIX 명령행 도구들을 제공하는 busybox, 루팅 관리 매니저 등이 함께 설치된다. 대표적인 설치 파일들로는 su, busybox, magisk, supers..