출처: http://blog.naver.com/taeyoun795/220658614529
1.4.3 Drozer를 이용한 안드로이드 앱 동적 분석
(1) Drozer란?
Drozer 는 안드로이드 앱을 위한 통합 자동 보안 진단 도구이다.
문서 및 다운로드 등은 drozer 메인 사이트를 참고한다. 현재 최신 버전은 2.3.4 이다.
Drozer 메인 사이트: https://labs.mwrinfosecurity.com/tools/drozer/
그림 287 drozer 메인 사이트
사전 준비 사항
-호스트 PC(Window/Linux/Mac OS X)
-안드로이드 디바이스 혹은 애뮬레이터(Android 2.1 이상)
시스템 필요 요건
-JDK 1.6 이상
-Python 2.7
-Android SDK
(Java와 adb는 시스템 환경 변수로 등록되어 있어야 함)
(2) drozer 실행 및 명령어
Step 1) 디바이스에 drozer 클라이언트 프로그램 설치
drozer 클라이언트 프로그램(agent.apk)은 drozer 메인 사이트에서 다운로드 받은 설치 프로그램을 압축해제 하면 볼 수 있다.
그림 288 agent.apk
adb 명령으로 디바이스 혹은 애뮬레이터에 설치한다.
그림 289 drozer 클라이언트 프로그램 설치
설치된 drozer Agent 프로그램을 실행 후 오른쪽 하단의 OFF를 클릭하여 ON한다.
그림 290 drozer agent 실행
Step 2) 포트 포워딩
다시 윈도우 커맨드로 돌아와서 drozer Agent에 의해 오픈된 TCP 소켓과 진단 PC를 연결하기 위해 포트 포워딩을 해 준다. 디폴트 포트는 31415이다.
그림 291 포트포워딩
Step 3) drozer 콘솔 접속
drozer 콘솔에 접속한다.
그림 292 drozer 콘솔 접속
정상적으로 실행되면 연결된 디바이스의 안드로이드 ID를 볼 수 있다.
Step 4) drozer 명령어 확인
drozer 콘솔은 CLI 기반이며 drozer 명령 프롬프트에서 help를 입력하면 drozer에서 사용되는 명령어를 보여준다.
그림 293 drozer 명령어
명령어 | 설명 |
run [모듈] | drozer 모듈을 실행한다. |
list | 현재 세션에서 실행할 수 있는 모든 drozer 모듈을 보여 준다. 적절한 실행 권한이 없으면 몇몇 모듈은 감춰진다 |
shell | Agent 프로세스가 설치되어 있는 디바이스의 Linux Shell을 실행한다. |
cd | 모듈의 full name을 반복적으로 입력하는 것을 피하기 위해 root 세션의 namespace를 마운트한다. |
clean | drozer에 의해 안드로이드 디바이스에 생성된 임시 파일들을 삭제한다. |
contributors | drozer 프레임워크와 모듈 제작자를 보여 준다. |
echo | text를 console에 출력한다. |
exit | drozer 세션 종료시킨다. |
help | 특정 모듈 혹은 명령에 대한 도움말 출력한다. |
load | drozer 명령이 포함된 파일을 로딩한 후 실행한다. |
module | 인터넷으로부터 추가 drozer 모듈을 찾고 설치한다. |
permission | drozer agent에 주어진 권한을 보여 준다. |
set | 환경 변수 등록 |
unset | 환경 변수 해제 |
표 7 drozer 명령어
또한 help [명령어] 혹은 help [모듈이름] 을 입력하면 좀 더 자세한 설명을 보여 준다.
그림 294 drozer 명령어 확인
그림 295 drozer 모듈 확인
referer
drozer 메뉴얼 2015
'IT기술 관련 > 모바일' 카테고리의 다른 글
[안드로이드]유용한 라이브러리 사이트 추천 (0) | 2017.03.27 |
---|---|
Drozer command 모음 (0) | 2016.11.03 |
크롬을 이용한 모바일웹 디버깅 및 분석 방법 (0) | 2016.11.01 |
안드로이드 메모리 덤프 어플리케이션 (0) | 2016.11.01 |
Android 디바이스에서 Burp Suite를 이용한 HTTP 프록시 설정 (HTTPS 포함) (0) | 2016.11.01 |