C:\Users\Administrator>drozer.bat console connect Traceback (most recent call last): File "C:\Python27\Scripts\drozer", line 30, in __import__("drozer.cli.%s" % (sys.argv[1])) File "C:\Python27\lib\site-packages\drozer\cli\console.py", line 8, in from drozer.console import Console File "C:\Python27\lib\site-packages\drozer\console\__init__.py", line 4, in from drozer.console.console import Console File "C:\Python27\lib\site-packages\drozer\console\console.py", line 5, in from pydiesel.api.protobuf_pb2 import Message File "C:\Python27\lib\site-packages\pydiesel\api\__init__.py", line 9, in from pydiesel.api.frame import Frame File "C:\Python27\lib\site-packages\pydiesel\api\frame.py", line 3, in from pydiesel.api.protobuf_pb2 import Message File "C:\Python27\lib\site-packages\pydiesel\api\protobuf_pb2.py", line 3, in from google.protobuf import descriptor ImportError: No module named google.protobuf
pip install protobuf
pip install pyopenssl // ERROR: drozer 2.4.4 requires pyopenssl>=16.2, which is not installed.
pip install pyyaml // ERROR: drozer 2.4.4 requires pyyaml>=3.11, which is not installed.
pip install twisted
// drozer Server requires Twisted to run. Run 'pip install twisted' to fetch this dependency.
#3. 드로저를 이용한 취약점 분석
1) 앱 취약점 분석
run app.package.attacksurface -h // 옵션 설명
run app.package.attacksurface [패키지명] //패키지 취약점 확인
-> exported 설정된 것이 있는지, 디버깅 설정이 되어 있는지 등을 보여줌
2) 액티비티 분석
run app.activity.info -a [패키지명]
-> exported 설정된 액티비티의 권한 확인
run app.activity.start --component [패키지명] [액티비티명]
-> ADB로 am start -n [패키지명/액티비티명] 하는 것과 동일
-> 액티비티 무단 접근
3) 브로드캐스트 리시버 분석
run app.broadcast.info -a [패키지명]
run app.broadcast.info -f [검색하고자 하는 단어] //검색하고자 하는 단어가 포함된 패키지의 브로드캐스트 리비저 정보 검색
run app.broadcast.info -u [-a/-f] [패키지명/검색하고자하는 단어] //숨겨진 리시버 정보 확인