본문 바로가기

모바일 해킹/frida

Frida 환경 구축

Frida 란 ? 

Ole가 개발한 DBI 프레임워크다. 윈도우, 맥OS, GNU/Linux, IOS, Android 및 QNX 에서 자바스크립트를 네이티브 앱에 삽입 함으로서 프로세스를 모니터/디버깅하는데 사용할 수 있는 툴킷이다. 

 

주요기능

  • AppMon과 Needle 등의 도구에서 프리다를 기반으로 사용
  • 함수 후킹 (특정 함수에 연결하여 반환 값 변경, 함수 재작성 등)
  • 애플리케이션 디버깅 가능
  • 힙 메모리 내 객체 인스턴스 검색 및 사용
  • 실시간 트래픽 스니핑 또는 암호 해독
  • 탈옥 또는 루팅되지 않은 단말기에서도 사용 가능 

프리다 환경 구축 

  • 녹스 앱플레이서(Nox) 또는 실제 디바이스 
  • 아나콘다(파이썬)
  • 프리다 
  • 프리다 서버

   1. 녹스 앱 플레이어 설치 및 환경 설정

        1) "바로 설치" 클릭 수 기본 값으로 설치 진행

        2) 녹스 앱플레이서 시스템 설정

            -> 루트 권한을 사용하기 위해 "ROOT 켜기"

            -> 실제 단말기에선 루팅 작업으로 루트 권한을 얻는 것과 동일 

        3) 녹스 ADB 환경변수 설정

            -> ADB 란 안드로이드 디버그 브릿지의 약자

            -> 안드로이드 기기와 통신할 수 있는 다목적 명령줄 도구

            -> 보통 "C:\Program Files\Nox\bin" 경로에 존재 

            -> 시스템 환경 변수 편집 > 환경 변수 > 시스템 변수 Path > 새로 만들기

         4) 녹스 ADB 실행 

            $ nox_adb 

         5) 녹스 ADB 안드로이드 연결

            $ nox_adb shell

녹스 adb 안드로이드 연결

   2. 아나콘다(파이썬) 환경 구축 

        1) 기본 값으로 설치를 진행하다가 "Advanced Option"에서 Add Anaconda to the system PATH environment variable"을 체크 

        2) 설치 된 아나콘다의 콘다 버전 과 파이썬 버전 확인 

            -> $ conda --verion 

            -> $ python --version 

        3) 아나콘다(파이썬) 독립된 환경 구축

            -> 파이썬 3.8.12 버전 환경 구축

            $conda create -n [환경 이름] python =  [파이썬 버전] -y

            $conda create -n py3 python=3.8.12 -y

         4)아나콘다(파이썬) 독립된 환경 구축 

            ->구축한 환경 실행 

            $activate [환경 이름]

            $activate py3 

독립된 파이썬 환경 실행

 3.  프리다 및 프리다 서버 설치 

        1)앞서 구축한 파이썬 3.8.12 환경에 설치 진행 

          $pip install frida==15.1.10

          $pip install frida-tools

          $frida --version 

 

프리다 설치 후 버전 확인 

        2)프리다 서버 설치

          ->안드로이드 비트 확인

          ->로컬에서 설치한 프리다와 안드로이드가 통신하기 위해 프리다 서버 필요

          ->프리다 서버를 안드로이드 기기에 설치하기 전 안드로이드 비트 확인 

           $nox_adb shell

           #getprop ro.product.cpu.abi 

안드로이드 비트 확인

        3)프리다 서버 다운 

          안드로이드 비트와 동일한 프리다 서버 다운 

          frida-server-15.1.12-android.x86.xz 다운

 

        4)프리다 서버 압축 풀기 후 안드로이드 내부로 서버 옮기기

          $nox_adb push [프리다 서버] /data/local/tmp

          $nox_adb shell

          #cd /data/local/tmp

      

프리다 서버 옮기기

        5)안드로이드 프리다 서버 백그라운드로 실행 

          #chmod 755 [프리다 서버]

          #./[프리다 서버] & 

         

frida 서버 백그라운드 실행

        6) 프리다 통신 확인 

           -> 안드로이드에서 실행 중인 프로세스 목록 확인

           -> frida-ps -U

         

안드로이드에서 실행 중인 프로세스 목록 확인 

 

 

'모바일 해킹 > frida' 카테고리의 다른 글

fridalab challenge writeup! - 3번, 4번  (0) 2021.12.05
fridalab challenge writeup! - 1번, 2번  (0) 2021.12.05
frida 기본 문법  (0) 2021.12.05
frida 기초  (0) 2021.11.28