본문 바로가기
Mobile/🩷 Android

06. Anodroid 진단 도구_drozer 설치

by snowflower.DY 2024. 4. 26.
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 실행한다.

안드로이드 기기 내 dorzer 실행

 

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​