Everything is hacked.

There is no 100 % security.

Tools/IDA Pro

IDA - Android APK Debugging Test

Kai_HT 2023. 6. 4. 21:14


모의해킹 프로젝트 진행 시 모바일 서비스 점검항목으로 [전자금융] 디버깅 탐지기능 적용 여부 항목이 존재한다. 해당 항목의 경우 전자금융 취약점을 추가로 진단하는 항목이라 필수적으로 확인해야하는 점검항목이라 할 수 있는데, 이때 iOS 의 경우 lldb 패키지를 이용하여 점검하게 되는데, 해당 기술은 이후 블로그 내 작성할 예정이다.

안드로이드 APK 진단 시 디버깅 탐지기능 적용 여부에 대해서 진단대상 APK 파일 내부에 포함된 AndroidManifest.xml 파일을 확인하는 것이 일반적이나 보다 정확한 검증을 위해 디바이스 내 설치된 APK 패키지를 실행시켜 IDA 에 직접 Attach 하는 방식으로 진행할 수 있다.

1. 진단 PC 내 IDA 설치 디렉터리를 확인하여 디렉터리 내 존재하는 디버깅 파일 'android_server' 파일 확인 후 해당 파일을 진단 기기 내 임의 폴더 (/data/local/tmp) 에 복사한다. 
디버깅 파일 위치 : IDA 설치 디렉터리\dbgsrv 

IDA 폴더 내 andorid_server 파일 이동

2. 진단 디바이스 내 점검 앱에 대한 설치 완료 후 해당 앱을 실행시킨다.

점검 앱 실행

3. 앱 실행 이후 adb shell 에서 디버깅을 위한 'android_server' 파일을 실행시키고 tcp 포워딩을 해준다.

android_server 실행 및 tcp 포워딩

4. 프로세스 ID를 확인한 후 IDA를 실행하여 메뉴 'Debugger-Attach-Remode ARM Linux/Android debugger' 을 호출한다.
(이때 IDA64 버전으로 실행할 경우 버전이 맞지 않아 디버깅이 불가하므로 32비트 버전을 실행하여 디버깅을 시도해야한다.)

5. IDA에서 확인한 디바이스 IP를 작성하여 Attach 를 시도한다.

IDA Device Attach 시도

6. Attach 시도 시 앱 패키지 중 실행 중인 PID를 확인하여 해당 항목을 선택한다.

실행 패키지 항목 선택

7. 정상 Attach 완료 시 앱이 일시정지 되며 IDA 화면 내 디버깅 화면 확인이 가능하다.

IDA를 이용한 안드로이드 APK 패키지 디버깅 화면