학회_공부해요/모바일포렌식

안드로이드 앱 분석과 포렌식 도구 개요

yenas0 2024. 11. 17. 07:26
반응형

스마트폰 사용자들은 일반적으로 서드파티 애플리케이션을 사용함
안드로이드 사용자들은 여러 가지 앱들을 앱스토어에서 다운로드 해 설치함
앱 분석은 데이터 및 멀웨어 탐지에 도움이 됨
 
안드로이드 앱 분석
앱의 종류에 따라 대부분의 앱들은 민감함 정보를 기기의 내장 메모리 또는 SD카드에 저장
 
안드로이드 앱 리버스 엔지니어링
리버스 엔지니어링: 실행 가능한 파일에서 소스 코드를 뽑아내는 과정
 
잠깐 안드 앱 복습..
안드로이드 앱은 자바로 작성됨
자바 컴파일 되면 바이트코드 만들어지고 바이트코드는 dex 컴파일러로 가서 달빅 바이트코드로 변환
class파일은 dx tool 써서 dex파일로 변환됨. 안드렝서는 달빅 가상머신으로 애플리케이션 실행
JVM의 바이트코드는 애플리케이션에 있는 자바 파일의 개수 따라 하나 이상의 클래스로 이루어짐
 
안드로이드 기기에서 APK 파일 추출
핸드폰에 미리 설치된 앱은 /system/app 디렉토리에 저장되어있음
사용자가 다운한 앱은 /data/app 폴더..

C:\android-sdk-windows\platfom-tools>adb.exe shell pm list packages

이걸로 앱 패키지 이름 확인이 가능함. 루팅 여부 상관없이
앱스토어에서도 패키지 이름 확인할 수 있다. 보통은 앱의 URL에 나와있음
 
APK 파일 경로 알아내기

C:\android-sdk-windows\platfom-tools>adb.exe shell pm path com.android.chrome
package:/data/app/com.adroid.chrome-2.apk

 
adb pull명령을 통해 APK 파일을 포렌식 워크스테이션으로 옮길 수 있다..
 
EX Explorer같은 앱 사용해서도 안드로이드 애플리케이션의 APK 파일을 얻을 수 있음. 패키지 안에있는 파일들..

AndroidManifest.xml권한 정보 등
classes.dexdex 컴파일러가 dex파일로 변환한class 파일
res이미지 파일, 사운드 파일 등의 리소스
lib앱이 사용한 네이티브 라이브러리
META-INF애플리케이션의 서명과 패키지 내 모든 파일에 대한 서명된 체크섬에 대한 정보

 
 
안드로이드 앱을 리버스 엔지니어링하는 과정
원본 코드 얻기위한 APK 파일 리버싱.. 책에는 dex2jar이랑 JD-GUI 도구사용하는 방법이 나옴
예제에서는 com.twitter.android-1.apk 파일을 분석
1. apk를 zip으로 변경
2. apk 파일의 콘텐츠를 추출하고 classes.dex파일에 접근 가능 class파일로 변환하기 위해 dex2jar 도구 사용
3. https://code.google.com/p/dex2jar/

GitHub - pxb1988/dex2jar: Tools to work with android .dex and java .class files

Tools to work with android .dex and java .class files - pxb1988/dex2jar

github.com

에서 다운로드 하고

C:\Users\Rohit\Desktop\Training\Android\dex2jar-0.0.9.15>d2j- dex2jar.bat classes.dex

명령어 입력해줌
4. JD-GUI 도구 사용해 애플리케이션에 존재하는 파일 및 코드 확인 가능해짐
 
코드 접근하고 나면 애플리케이셔닝 특정 값, 권한, 기타 정보를 어케 저장하는지 분석하고 정보 어떻게 저장하는지 알 수 있음 -> 제약조건 우회가 가능해짐
 
 
포렌식 도구 개요
1. AFLogical 도구
비아포렌식스가 개발한 안드로이드 포렌식 도구
안드로이드 1.5 이상에서 논리적 수집 수행
추출된 데이터는 CSV로 SD카드에 저장 가능
AFLogical OSE(오픈소스 에디션), AFLogical LF가 있음. 오픈 소스에서는 MMs,SMS, 주소록, 통화기록 뽑을 수 있음. LE 다운로드는 사법 기관이나 정부기관의 이메일 주소로 비아포렌식스에 등록해야된다. 이걸로는 모든 논리적 데이터를 뽑아낼 수 있음
 
2. 셀레브라이트: UFED
안드로이드 기기의 데이터 수지보가 분석을 지원하는 다양한 제품 제공. 논리적,물리적 수집 지원. 데이터 분석 위한 플랫폼도 제공
 
3. MOBILedit
애플리케이션 데이터를 포한함 휴대폰의 데이터를 탐색하고 보는데 사용
IMEI, OS, 펌웨어, IMSI, ICCID, 위치정보 등 검색
 
4. Autopsy
 윈도우 포렌식 워크스테이션에서 실행
안드로이드 기기에 대해 분석 기능 제공
 
 


뀌즈
1. 패키지 내에서 권한 등의 정보를 기록하는 파일은 무엇인가?

더보기

AndroidManifes.xml

반응형