Season 1/기술 보안

ADB Command 정리

작성자 - LRTK

Android Debug Bridge

Android SDK에 포함돼있는 프로그램으로, 안드로이드 기기에 패키지를 설치하거나 셸에 접근하는 등 디버그와 관련된 기능을 수행할 수 있는 다목적 명령줄 도구

자주 사용하는 명령어

  • adb devices
    보편적으로 기기와 로컬 환경이 정상적으로 연결되었는지 확인하기 위해 사용
    -l 옵션으로 기기의 상세 정보를 조회할 수 있음

  • adb shell
    기기의 셸에 접속할 때 사용
    셸에 접속하지 않고 명령어 수행은 adb shell [command]로 사용

  • adb push [local 경로][remote 경로]
    로컬 환경의 파일을 기기 내의 파일시스템에 업로드할 때 사용
    보통 임시 디렉터리인 /data/local/tmp/에 임의 파일를 업로드할 때 많이 사용

  • adb pull [remote 경로][local 경로]
    주로 기기 내의 사진, 캐시 파일, apk 파일 등을 다운로드할 때 사용
    push 명령어의 반대

  • adb logcat
    안드로이드의 logcat 내용을 확인할 때 사용
    앱이 크래시 나거나 의도할 때 동작하지 않을 때 보통 logcat을 통해 원인을 파악함

  • adb install [apk]
    기기 내에 앱을 설치할 때 사용

  • adb uninstall [package]
    기기 내에서 패키지 이름에 해당하는 앱을 삭제할 때 사용
    높은 권한의 앱은 삭제되지 않는 경우가 존재 ➔ Package Manager를 이용하여 삭제

  • adb forward [local][remote]
    기기 내에서 사용하는 포트 포워딩을 위해 사용
    보편적으로 frida-server의 포트를 변경해 열거나, 앱을 원격으로 디버깅하기 위해 디버깅 포트를 열 때 사용

Package Manager

adb 셸 내에서 Package Manage 도구로 명령어를 실행하여 기기에 설치된 앱 패키지에 관한 작업 및 쿼리를 실행할 수 있음

자주 사용하는 명령어

  • pm list packager [-f]
    기기에 설치되어 있는 패키지를 모두 조회하는 명령어 패키지가 올바르게 설치되어 있는지 확인할 때 주로 사용
    -f 인자를 사용하면 패키지 설치 apk 파일의 경로를 함께 출력
    pm list packages -f | grep package_name 명령어를 통해 특정 패키지의 apk 경로를 찾을 수 있음

  • pm install/uninstall [package]
    [package] 인자로 전달한 패키지를 설치하거나 삭제하는 명령어
    간혹 권한 문제로 앱이 설치/삭제되지 않는 문제가 발생 ➔ adb root와 adb shell 명령어를 통해 root 권한으로 셸에 접속한 후, pm 명령어를 이용함

Activity Manager

adb 셸 내에서 Activity Manager 도구로 명령어를 실행하여 액티비티 시작, 프로세스 강제 종료, 인텐트 브로드캐스트, 기기 화면 속성 수정 등 다양한 시스템 작업을 실행함

 

  • am start-activity [options] <internet>
    <intnet>에서 지정한 액티비티를 실행함

  • am broadcast [options] <internet>
    <internet>에서 지정한 브로드캐스트 인텐트를 실행함 브로드캐스트로 전달할 데이터와 대상 인텐트를 설정할 수 있음

  • am kill [options] package
    전달될 패키지와 관련된 모든 프로세스를 종료함

'Season 1 > 기술 보안' 카테고리의 다른 글

LFI, RFI 취약점 설명 및 실습  (0) 2022.03.29
Android Frida  (0) 2022.03.21
[ActiveX] 2장. 취약한 ActiveX 프로그램 개발  (2) 2022.02.28
[ActiveX] 1장. ActiveX란?  (0) 2022.02.28
Server-side JavaScript Injection  (0) 2022.02.28
Contents

이 글이 도움이 되었다면, 응원의 댓글 부탁드립니다.