Drozer를 활용한 Android app 보안 취약점 분석

PC 상에 Drozer 설치

1. 윈도우 보안 해제

  • 윈도우 보안 해제 후 다운로드
    • 설정 - 업데이트 및 보안 - 바이러스 및 위협 방지

2. Drozer .msi 설치

https://github.com/WithSecureLabs/drozer/releases/tag/2.4.4

 

Release 2.4.4 · WithSecureLabs/drozer

[Build Process] AppVeyor updated to deploy Windows installer [Build Process] Fixed versioning of whl, deb and rpm packages [Bug Fixes] Several bug fixes

github.com

 

모바일 상에 Drozer 설치

1. Drozer apk 설치

https://labs.withsecure.com/tools/drozer

 

Drozer

Comprehensive security and attack framework for Android.

labs.withsecure.com

adb install drozer-agent-2.3.4.apk

 

Anaconda를 활용한 Drozer 실행

python 2 버전에서만 실행 가능

가상환경 생성
conda create -n 가상환경 이름 python=버전

연결
conda activate 가상환경 이름

드로저 설치 확인
drozer

- 다른 cmd 창에서 tcp 연결
nox_adb forward tcp:31415 tcp:31415

라이브러리 설치
pip install protobuf pyOpenSSL twisted service_identity

연결 확인
drozer console connect

 

오류 해결

> 오류1
(py2) C:\Users\sjbang>drozer console connect
Traceback (most recent call last):
  File "C:\Users\sjbang\anaconda3\envs\py2\Scripts\drozer", line 30, in <module>
    __import__("drozer.cli.%s" % (sys.argv[1]))
ImportError: No module named drozer.cli.console


>> 해결
환경변수 변경 - py2 가상환경을 환경변수에 추가
사용자변수 - Path - C:\Users\sjbang\anaconda3\envs\py2

> 오류2
Errno 10054

>> 해결
nox나 device에서 start(사용)으로 시작

 

Drozer 명령어

run app.package.list

run app.package.list -f 찾을 문자

run app.package.info -a 패키지명
- ex) run app.package.info -a 경로

Android Manifext.xml 파일 확인
run app.package.manifest 경로


# 자동 취약점 분석
run app.package.attacksurface 패키지명

 

 

내용 Drozer 명령어
취약점 자동 분석 run app.package.attacksurface 패키지명
취약한 액티비티 run app.activity.info -f gitauto
run app.activity.info -a 패키지명
취약한 콘텐츠 프로바이더 run app.provider.info -a 패키지명


dz> run scanner.provider.finduri -a 패키지명
dz> run app.provider.query 위의 결과
취약한 브로드캐스트 리시버 run app.broadcast.info -a 패키지명
취약한 서비스 run app.service.info -a 패키지명
androidManifest.xml 확인 run app.package.manifest 패키지명