Android Penetration Testing Basics

Table of Contents

  1. Android Penetration Testing Basics
    1. ADB (Android Debug Bridge)
    2. ADB Basic Commands
    3. How to connect the device using ADB (ADB를 이용하여 에뮬레이터 연결)
    4. How to install frida (Frida 에뮬레이터에 설치하기)
      1. Frida Command (Frida 명령어)

ADB (Android Debug Bridge)

ADB는 모든환경에서 실행이 가능한 실행파일입니다. 구성은 Client, Server, Demon으로 되어 있습니다.

Client 와 Server는 Host Machine 에 설치되어있고, Demon은 안드로이드에서 실행 됩니다.

adb같은 명령어를 치면 demon이 해당 명령어를 수행하고 서버가 communication을 담당합니다.

ADB Basic Commands

adb devices # List all devices
adb connect # Connect to the device
adb install # install a package
adb logcat  # view the system log
adb shell netcat -a # Get interactive shell
adb push # Upload a file to a device
adb pull # Download a file from a device

How to connect the device using ADB (ADB를 이용하여 에뮬레이터 연결)

안드로이드 에뮬레이터를 Kali Linux adb에 연결시키기 위해서는 먼저 다음과 같은 준비물이 필요합니다.

  1. Android Studio (윈도우 호스트)
    • 디바이스 루팅을 하기위해서, 안드로이드 스튜디오에 구글 플레이스토어 마크가 없는 디바이스를 선택해서 설치를 진행하시면 됩니다.
  2. Kali Linux (NAT 환경)

다음과 같은 준비물이 완료가 되었으면 Kali Linux와 연결을 시켜주면 됩니다.

  1. Kali Linux에서, adb connect 10.0.2.2를 에뮬레이터가 켜진 상태로 해줍니다. 아마 안드로이드 스튜디오를 설치하시고 나시면 해당 디바이스의 IP Gateway가 10.0.2.2로 잡힐것 입니다. 해당 명령어를 치고 나면, 에뮬레이터 창에 연결 팝업창이 뜰텐데 Allow를 눌러주시면 됩니다.

  2. adb devices - 현재 연결된 디바이스를 확인합니다.

  3. 연결이 되었다면 adb shell 명령어로 Shell을 연결해 줍니다.

How to install frida (Frida 에뮬레이터에 설치하기)

  1. pip install frida-tools 로 해당 툴을 설치 해줍니다.
  2. pip install fridafrida를 설치해 줍니다.
  3. frida-server를 설치하기전, 에뮬레이터로 가서 adb shell getprop | grep -i "cpu"를 해주어 CPU 버전을 먼저 체크해 줍니다.
  4. 해당 CPU 버전에 따른 frida-server 파일을 다운 받아줍니다.
  5. 다운 받은 frida-server를 Android Emulator에 adb push ./frida-server /data/local/tmp 폴더에 넣어줍니다.
  6. 해당 서버 파일의 권한을 chmod 777 /data/local/tmp/frida-server 로 만들어 줍니다.
  7. ADB환경에서 ./frida-server & 명령어를 이용하여 백그라운드로 돌려줍니다.
  8. Frida 서버가 제대로 돌아가는지 다음 명령어를 적용하여 확인해 줍니다. ps -ef | grep frida

Frida Command (Frida 명령어)

frida-ps -Uai # PID, Name, Identifer 확인
frida -U <Name> ./injectscript.js # 스크립트 인젝션

Back to top

Copyright © 2025 Amer1can0 본 블로그는 보안 관련 정보를 공유하는 것을 목적으로 합니다. 블로그에 게시된 내용을 악의적인 목적으로 사용하거나 타인에게 피해를 주는 행위는 엄격히 금지 됩니다. 이러한 모든 불법적 행위 및 그로 인해 발생하는 모든 책임은 전적으로 행위자 본인에게 있습니다. 블로그 운영자는 어떠한 책임도 지지 않음을 알려드립니다.