개인적으로 공부하려고 올려둔 내용
이쁘게 정리가 잘안되있으니.. 참고 바랍니다.
잘정리해서 사진과 함께 곧 올려보겠습니다.
-> 앱 복호화 방법(수동)
- 바이너리 파일 탐색
- /var/bundle/application/내 바이너리값 폴더로 이동
- app을 진단 PC로 이동
- Hop을 이용 -> 암호화 되어 있는 것을 확인 가능(복호화가 필요)
- 바이너리에서 어디부터 어디까지 암호화되어 있는지 확인 필요
- 단말기에 https://cydia.hbang.ws/ 에서 otool 설치
- otools -arch all -V1 Instagram | grep -A5 LC_ENCRYP 명령 실행
- Hex값을 변환하여 암호화 영역을 탐지
- 실행 시킬때는 복호화되어 메모리에 탑제
- 그렇기때문에 메모리 위치를 찾아내야함
- Frida를 사용해서 메모리 위치를 탐색
- Fridump3.py를 사용해서 메모리 덤프
- "Frida -ps" 명령을 통해 PID값 추출
- fridump3.py -u -r PID값
- 생성된 덤프를 덮어씌우기(주소값을 계산해서 메모리 위치 + offset )
- cryptid 1 -> 0으로 변경
- 저장하면 복호화된 앱 형태로 확인 가능
-> 앱 복호화 방법(자동/크레커XI)
- 데비안 페키지 파일로 설치 가능 (.deb파일)
- "dpkg -i 파일명" 명령어 실행
- 앱 설치 확인 -> 실행 -> Full IPA 선택하면 경로가 나옴
- 경로로 접속해서 unzip 파일명
- payload 폴더 안에 바이너리 파일 꺼내서 확인
-> 특정앱의 디렉터리 탐색
- 앱 내 라이브러리 디텍터리, 번들 디렉터리 탐색
- FTP 프로그램, SSH shell을 통해 탐색 가능
- Bundle : /var/containers/Bundle/Application
- ls *
- 앱 디렉터리 명을 보고 찾을수 있음
- 라이브러리 디렉터리 위치 : /var/mobile/Containers/Data/Application
- "grep highaltitudehacks */.com.apple.mobile_container_manager.metadata.plist"
-> 특정 함수를 동적 분석하는 방법
- 후커를 사용해서 분석 수행
- 앱 실행 -> 추적할 함수를 탐색
- 후커에서 바이너리파일을 실행
- 실행되는 문자열에 있는 레퍼런스를 확인
- 레퍼런스를 통해 해당 함수를 찾아감
- 사용하는 시스템 함수를 이용하는 방법
- 함수이름을 추측하는 방법
->IDA를 통한 함수 동적 분석 방법
- IDA를 통해 IDA 실행 -> 바이너리 삽입
- view-> string 메뉴에서 문자열을 검색 -> 레퍼런스 검색 -> 문자열을 사용하고 있는 함수 확인
-> ghidra를 통한 함수 추적 방법
- 프로젝트 생성 후 -> 바이너리 등록 -> 기드라가 파일을 분석 함
- string 검색 -> 문자열 주소에서 레퍼런스 주소 -> 디검파일 하면 확인가능
'보안 공부 > 모바일 보안' 카테고리의 다른 글
[iOS 취약점 진단] iOS 자체 보안 (0) | 2022.04.30 |
---|---|
intend-filter 속성 (0) | 2022.04.14 |
안드로이드 모바일 앱 메모리 덤프 뜨기-Frida 사용(2) (1) | 2022.04.12 |
안드로이드 모바일 앱 메모리 덤프 뜨기-Frida 사용(1) (0) | 2022.04.11 |
iOS 취약점 점검/진단 세팅 및 방법 (0) | 2021.10.18 |