Search

fridump3 활용 메모리 내 중요 정보 추출

카테고리
[실습] 모바일 앱 공격 위협
상태
완료
게시일
2024/05/07
태그
모바일, 안드로이드

개요

fridump3 툴을 사용하여 메모리를 덤프하고 분석 (중요정보 유무 확인)
덤프(dump)?
일반적인 dump의 뜻은 쓰레기 버리는 곳의 의미지만, IT 에서의 dump 는 어떤 장애가 발생했을 때, 프로그램의 오류 수정이나 데이터의 검사(디버그)를 위해 그 상태 (기억된 내용의 일부 또는 전부)를 기억시킨 내용을 보조기억장치 등 기록 매체에 복사 하는 행위

0) fridump3 다운로드

fridump3 다운로드 검색 → 다운 받고 압축 풀기
실습을 위해선 NOX, frida-server가 실행 중이어야한다 frida-server를 동작시키기 위해 환경 구축 단계에서 frida-server 파일을 저장했던 경로로 이동한다
cd data/local/tmp
Shell
복사
adb shell 에서 확인해보면 해당 프로그램 파일에 대한 실행 권한이 없다
chmod로 실행권한 변경
chmod 777 frida-server-16.2.1-android-x86
Shell
복사
frida-server 백그라운드로 실행
& : 백그라운드로 실행 백그라운드로 실행이란?
백그라운드로 실행하게되면 해당 명령을 실행하는 동안 셀 프롬프트가 다시 표시되어 사용자가 다른 명령을 입력할 수 있음
./frida-server-16.2.1-android-x86 &
Shell
복사
5316 : PID (Process ID)
PID?
프로세스를 고유하게 식별하는 번호. PID를 사용하면 운영 체제는 각 프로세스를 식별하고 관리할 수 있다.

1) frida-server 정상작동 여부 확인

fridump3을 저장했던 곳에서 CMD를 실행, py_frida 가상환경 활성화
frida 명령어를 입력하여 frida-server가 정상 작동 중인지 확인을 진행한다
frida-server가 작동중이지 않다면, frida 명령어가 작동하지 않는다
ps : 실행중인 프로세스 목록을 가져옴
U : USB에 연결된 안드로이드 디바이스를 대상으로 하는 옵션, 여기서는 NOX 에서 사용중인 프로세스만 가져오는 용도로 사용된다 (-U 옵션 삭제 시 로컬의 프로세스 목록을 가져옴)
(py_frida) C:\\Users\\yu379\\Downloads\\fridump3-master\\fridump3-master>frida-ps -U
Shell
복사
firda-server 정상 작동 확인
타겟 프로세스의 PID 확인 (8077)

2) result 폴더 생성 후 fridump3 실행

dump한 파일을 저장할 폴더를 생성한다 (result)
fridump3.py를 실행하여 dump를 진행
U : USB에 연결된 디바이스 대상 (여기서는 NOX로 지정의 의미)
r : 타겟으로 지정된 프로세스의 PID
s : 동적 분석 중에 작업을 안전하게 수행하기 위해 Strict 모드로 실행
Strict 모드?
스크립트가 보다 엄격한 규칙을 따르도록 강제됨. Frida 스크립트에서 코드의 안전성을 높이고 실수를 방지하기 위해 사용되는 옵션
o : 결과를 저장할 디렉토리를 지정
python fridump3.py -u -r 8077 -s -o C:\\Users\\Downloads\\fridump3-master\\fridump3-master\\result
Shell
복사

3) fridump3 완료 확인

fridump3 실행이 완료되면 result 폴더에 dump.data 파일과 string.txt 파일이 생성된 것을 확인할 수 있다

dump.data?

fridadump3는 Frida를 사용하여 해당 PID를 가진 프로세스의 메모리를 스캔하고, 코드 섹션, 데이터 섹션 및 다른 중요한 리소스를 식별하여 dump.data 파일로 저장한다

string.txt?

fridadump3는 프로세스 메모리에서 문자열을 식별하고 추출하여 string.txt 파일에 저장, 이 파일에는 프로세스 메모리에서 발견된 모든 문자열이 포함된다.

결과 확인

string.txt 에서 개인정보(이메일 등) 가 취약하게 관리되는지 확인
닉네임을 기준으로 조회하니 닉네임 외에도 e-mail, 전화번호 등의 개인정보가 취약하게 관리되고 있는 것을 확인할 수 있었다
이러한 과정을 통해 실행중인 안드로이드 프로세스의 내부 동작을 분석하고, 중요한 데이터나 코드를 추출할 수 있다