드로저는 안드로이드 가상 디바이스 또는 단말기에 에이전트를 설치하고 PC에서 ADB로 명령을 내리는 서버와 클라이언트 방식으로 동작한다.
1. 다운로드
- PC에 드로저 다운로드
- 단말기에 apk 삽입
https://github.com/WithSecureLabs/drozer/releases/tag/2.4.4
https://labs.withsecure.com/tools/drozer
** 드로저 다운로드/설치 시 차단되는 경우 보안 탐지 모드를 잠깐 꺼놔야한다.
- 크롬에서 : 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 위치가 아닐 시 오류가 발생함
'보안 공부 > 모바일 보안' 카테고리의 다른 글
드로저(drozer) 사용법 - 취약점 분석(1) (1) | 2024.02.03 |
---|---|
드로저(drozer) 사용법 - 앱 패키지 정보 확인 (0) | 2024.02.02 |
nox를 활용한 frida attach 시 발생하는 오류 해결 방안 (1) | 2024.01.30 |
안드로이드 필수 구성 요소 (0) | 2024.01.29 |
iOS 정적분석을 위한 바이너리 추출 (0) | 2023.11.28 |