drozer 란?
Android 플랫폼을 위한 보안 진단도구의 일종이다.
현재(2024.04.25) 기준으로 drozer 3버전이 출시되었는데, 이는 윈도우 환경을 지원하지 않아 wls환경이나 docker을 환경을 구축하여 drozer을 설치해야 한다.
dorzer 설치
(WLS 환경 Ubuntu)
※ 주의) WLS 환경으로 drozer을 구성할 경우, NOX Player 사용이 불가능하다.
1. drozer 설치 전 필요한 패키지들을 설치한다.
pincess@DESKTOP-princessDY:/$ pip install Protobuf
pincess@DESKTOP-princessDY:/$ pip install Pyopenssl
pincess@DESKTOP-princessDY:/$ pip install twisted
pincess@DESKTOP-princessDY:/$ pip install Distro
2. git 명령어를 통해서 drozer 관련 파일 다운로드한다.
pincess@DESKTOP-princessDY:/$ sudo git clone https://github.com/WithSecureLabs/drozer.git
3. 아래의 명령어를 이용하여 drozer을 빌드한다.
pincess@DESKTOP-princessDY:/$ cd drozer
pincess@DESKTOP-princessDY:/drozer$ sudo python3 setup.py bdist_wheel
/bin/sh: 1: javac: not found
Error in SecretCodes*.class:
java.nio.file.NoSuchFileException: SecretCodes*.class
Compilation failed with an internal error.
Exception in thread "main" java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: SecretCodes*.class
at com.android.tools.r8.utils.P0.a(R8_8.1.21-dev_2b990b7a06042c7edb18912bd414d9fa395da301ef85fd202b2f66aeb53ae9f1:119)
at com.android.tools.r8.D8.main(R8_8.1.21-dev_2b990b7a06042c7edb18912bd414d9fa395da301ef85fd202b2f66aeb53ae9f1:5)
4. /drozer/dist 파일 내 drozer 설치파일 확인한다.
pincess@DESKTOP-princessDY:/drozer$ cd dist
pincess@DESKTOP-princessDY:/drozer/dist$ ls
drozer-3.0.2-py3-none-any.whl
5. 아래의 명령어를 이용하여 drozer을 설치한다.
pincess@DESKTOP-princessDY:/drozer/dist$ sudo pip install drozer-3.0.2-py3-none-any.whl
7. 안드로이드 기기 내에 APK 파일 설치 후, 우측 하단 버튼을 눌러 drozer 실행한다.
8. 아래의 명령어를 통해서 drozer console 접속된 것을 확인한다.
pincess@DESKTOP-princessDY:/$ drozer console connect --server <안드로이드 기기 IP>
Selecting 891b3faae7398e48 (samsung SM-A325N 13)
.. ..:.
..o.. .r..
..a.. . ....... . ..nd
ro..idsnemesisand..pr
.otectorandroidsneme.
.,sisandprotectorandroids+.
..nemesisandprotectorandroidsn:.
.emesisandprotectorandroidsnemes..
..isandp,..,rotecyayandro,..,idsnem.
.isisandp..rotectorandroid..snemisis.
,andprotectorandroidsnemisisandprotec.
.torandroidsnemesisandprotectorandroid.
.snemisisandprotectorandroidsnemesisan:
.dprotectorandroidsnemesisandprotector.
drozer Console (v3.0.2)
dz>
번외) Could not find java 오류
아래의 구문이 뜨면서 오류가 발생한 경우, drozer_config 파일을 생성 후 [executables] 구문을 작성하면 된다. 자세한 내용은 하단을 참고하면 된다.
Could not find java. Please ensure that it is installed and on your PATH.
If this error persists, specify the path in the ~/.drozer_config file:
[executables]
java = /path/to/java
:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named 'service_identity''. Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied. Without the service_identity module, Twisted can perform only rudimentary TLS client hostname verification. Many valid certificate/hostname mappings may be rejected.
Selecting 891b3faae7398e48 (samsung SM-A325N 13)
1. apt install 명령어를 이용하여 java 설치한다.
pincess@DESKTOP-princessDY:/$ sudo apt install openjdk-11-jre-headless
2. 아래의 명령어를 통해서 java 설치된 것을 확인한다.
pincess@DESKTOP-princessDY:/$ java -version
openjdk version "11.0.22" 2024-01-16
OpenJDK Runtime Environment (build 11.0.22+7-post-Ubuntu-0ubuntu222.04.1)
OpenJDK 64-Bit Server VM (build 11.0.22+7-post-Ubuntu-0ubuntu222.04.1, mixed mode, sharing)
3. whereis java 명령어를 이용하여 대략적인 java 명령어 위치를 파악한다.
pincess@DESKTOP-princessDY:/$ whereis java
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
/usr/bin/java 폴더가 /etc/alternatives/java를 링크된 것을 확인한다.
pincess@DESKTOP-princessDY:/$ ls -al /usr/bin/java
lrwxrwxrwx 1 root root 22 Apr 25 10:38 /usr/bin/java -> /etc/alternatives/java
최종적으로 '/usr/lib/jvm/java-11-openjdk-amd64/bin/' 파일 내 java 명령어가 있는 것을 확인한다.
pincess@DESKTOP-princessDY:/$ ls -al /etc/alternatives/java
lrwxrwxrwx 1 root root 43 Apr 25 10:38 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
4. vim 명령어를 이용하여 .drozer_config 파일 생성한다.
pincess@DESKTOP-princessDY:/$ sudo vim .drozer_config
5. 위에서 찾았던 java 경로를 적어주면 된다.
[executables]
java=/usr/lib/jvm/java-11-openjdk-amd64/bin
'Mobile > 🩷 Android' 카테고리의 다른 글
08. Insecurebankv2 실습_취약한 인증 매커니즘 (0) | 2024.04.26 |
---|---|
07. Anodroid 진단 도구_drozer 기본 명령어 (0) | 2024.04.26 |
05. Anodroid 진단 도구_brupsuite 인증서 설치 (0) | 2024.04.25 |
04. Anodroid 진단 도구_정적 분석 (0) | 2024.04.25 |
03. Android 실습 환경 구축_adb 설치 (0) | 2024.04.23 |