보안 공부/모바일 보안

모바일 앱 취약점 진단 드로저(drozer) 설치 및 세팅 방법

H.J.World 2024. 1. 31. 20:00
728x90
반응형

드로저는 안드로이드 가상 디바이스 또는 단말기에 에이전트를 설치하고 PC에서 ADB로 명령을 내리는 서버와 클라이언트 방식으로 동작한다.

1.  다운로드

- PC에 드로저 다운로드

- 단말기에 apk 삽입

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

표시된  파일 다운로드

 

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

 

Drozer

Comprehensive security and attack framework for Android.

labs.withsecure.com

 

표시된 파일 다운로드

 

** 드로저 다운로드/설치 시 차단되는 경우 보안 탐지 모드를 잠깐 꺼놔야한다.

 - 크롬에서 : chrome://settings/security에서 잠깐끔

- "Windows 보안 설정" 내에 존재하는 "바이러스 및 위협 방지" 설정에서 실시간 보호 잠깐끔

 

2. 설치 방법

- drozert 설치 시 설치 위치는 python2위치에 설치하도록한다.

  ** 발생할 수 있는 오류에 대한 설명은 하단에 추가

- apk 파일은 adb install을 사용하여 설치

 

3. 단말기에서 드로저 에이전트를 실행시켜 포트를 오픈시킴

 ** 기본포트는 31415/TCP

 

4. 실행 방법

- adb forward tcp:31415 tcp:31415

- drozer.bat console connect

더보기

adb forword 기능 설명

- 특정 로컬 포트를 안드로이드 장치의 특정 포트와 소켓 통신이 가능하도록 포워딩 해주는 기능을 제공한다.

구성은 forward <로컬> <원격지>

adb forward tcp:7777 tcp:8888

 >> 호스트의 7777 포트가 안드로이드 장치의 8888로 전달시킴

 

 

 

================================================================================

1.  모듈 미설치로 인한 오류 발생 시 아래 모듈 설치

-오류-

C:\Python27\Scripts>drozer.bat console connect
Traceback (most recent call last):
  File "C:\Python27\Scripts\drozer", line 30, in <module>
    __import__("drozer.cli.%s" % (sys.argv[1]))
  File "C:\Python27\lib\site-packages\drozer\cli\console.py", line 8, in <module>
    from drozer.console import Console
  File "C:\Python27\lib\site-packages\drozer\console\__init__.py", line 4, in <module>
    from drozer.console.console import Console
  File "C:\Python27\lib\site-packages\drozer\console\console.py", line 5, in <module>
    from pydiesel.api.protobuf_pb2 import Message
  File "C:\Python27\lib\site-packages\pydiesel\api\__init__.py", line 9, in <module>
    from pydiesel.api.frame import Frame
  File "C:\Python27\lib\site-packages\pydiesel\api\frame.py", line 3, in <module>
    from pydiesel.api.protobuf_pb2 import Message
  File "C:\Python27\lib\site-packages\pydiesel\api\protobuf_pb2.py", line 3, in <module>
    from google.protobuf import descriptor
ImportError: No module named google.protobuf

 

-설치-

pip2 install protobuf==2.6.1
pip2 install pyOpenSSL==16.2.0
pip2 install cryptography==2.5
pip2 install PyYAML==3.11
pip2 install Twisted==16.4.1

2. python2로 실행을 해줘야 하기때문에 환경변수를 변조하든, bat 파일 내 python2로 변경해주든지 함

3. 아래 오류 발생

  File "C:\Python27\Scripts\drozer", line 19
    print "usage: drozer [COMMAND]"
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

이것도 2번과 마찬가지 

4. 오류 메시지가 사라지긴했는데, drozer 설치 파일 위치가 python2 위치가 아닐 시 오류가 발생함

728x90
반응형