모바일 어플리케이션 취약점 진단 프레임워크인 Drozer에 대해 알아보자
1. Drozer 란?
- 드로저 - Drozer는 MWR InfoSecurity에서 개발한 모바일 어플리케이션 취약점 진단 프레임워크인 Mercury의 새로운 업데이트 버전
- 드로저는 가상 디바이스 뿐 아니라 실제 안드로이드 디바이스에 테스트가 가능하며 자동화된 테스팅이 가능하다.
- 안드로이드 익스플로잇을 통한 취약점 진단이 가능하기 때문에 다양한 시나리오를 통해 취약점 점검이 가능하다.
2. Drozer 설치 방법
Drozer는 작성 시점 3.0.2 까지 release 되어있다.
GitHub - WithSecureLabs/drozer: The Leading Security Assessment Framework for Android.
The Leading Security Assessment Framework for Android. - WithSecureLabs/drozer
github.com
위의 github 링크를 통해서 다운이 가능하며, 하단부에 설명도 포함되어 있다.
Drozer는 파이썬 3.8 버전을 지원하고 있다.
필자는 Insecurebank 취약점 점검 환경설정을 위해 Drozer 2.3.4 버전을 사용할 예정이다.
다른 버전을 다운받는 방법은 아래의 그림과 같이 release 를 확인하여 다운로드 받는다.
3. Drozer 설치 과정
여타 어플리케이션과 동일하게 drozer Agent.apk파일은 녹스에 설치하며, 실행한다.
Embedded Server를 ON 으로 설정한다.
Python drozer 는 가상환경인 py2.7 ( 이미 py2.7로 가상환경을 생성한 상태 )
anaconda3 > envs > py2.7 로 설정하여 설치해준다.
이 후, 설정이 완료되었다면, conda Prompt에서 py2.7 가상환경으로 이동해준다.
# 가상환경 접속
conda activate py2.7
이제 포트의 매칭을 해주기위해 윈도우즈의 cmd를 실행하여 포트 매칭을 해준다.
# drozer Embedded Server 와 포트 매칭
nox_adb forward tcp:31415 tcp:31415
이제 drozer console로 접속을 시도한다.
# 모듈을 설치하지 않아 실패할 것이다.
drozer console connect
# 모듈을 설치해준다.
pip install protobuf pyOpenSSL twisted service identity
# 다시 실행해준다.
drozer console connect
drozer에서 사용하는 모듈에 대해서는 github에도 나와있다.
이 소프트웨어 필요설정은 drozer 3 설정이지만, 깃 허브에 상세하게 작성되어 있으니,
정보를 확인해서 환경설정을 진행하기를 바란다.
4. Drozer 프레임워크 설명
명령어 | 설명 |
list | Drozer가 사용할 수 있는 모듈을 list 형태로 보여준다. |
list.package | package / activity / service 와 관련된 명령어를 확인할 수 있다. |
list.acticity | |
list.service | |
run app.package.list | 설치된 패키지 목록을 확인한다. |
run app.package.list -f insecure | insecure 가 포함되어있는 패키지를 찾는다. |
run app.package.info -a com.android.insecurebankv2 |
insecurebankv2의 정보를 확인할 때 사용한다. |
run app.package.attacksurface com.android.insecurebankv2 |
외부에 노출되는 악의적으로 사용할 수 있는 export 확인 |
[출처] 인프런 보안프로젝트 안드로이드 모바일 앱 모의해킹과 시큐어코딩
'앱 모의해킹 > 안드로이드' 카테고리의 다른 글
Frida(1) - 문법, 개념 이해 (0) | 2024.06.13 |
---|---|
InsecureBank 취약점 분석 (0) | 2024.06.04 |
안드로이드 기본개념(3) (0) | 2024.05.29 |
안드로이드 기본개념(2) (0) | 2024.05.28 |
안드로이드 기본개념(1) (0) | 2024.03.26 |