iOS OS변조 탐지 기능 적용 여부 - 도구 Clutch / 탈옥 탐지 우회 / 루팅 탐지 우회
iOS OS 변조 탐지 기능 적용 여부 - 도구 Clutch (windows)
(탈옥 탐지 우회 / 루팅 탐지 우회)
※ 해당 문서의 내용은 필자가 본인의 공부를 정리하기 위하여 작성을 하였으며,
폭 넓지 않은 좁은 지식으로만 작성되어 내용이 깊지 않고,
다른 다양한 방법이 있을 것이므로 참고만 하시길 바랍니다.
더 좋은 내용이 있다면 알려주세요!
본 자료는 연구용으로만 이용하시고 악용하시는 경우는 없었으면 좋겠으며,
그에따른 책임은 본인에게 있습니다.
================================================================
Clutch (앱 복호화 도구) - Windows 환경
App Store 에 올라가는 앱들은 서명과 암호화 처리된다.
앱 진단을 위해 복호화가 필요하므로, Clutch 를 이용한다.
개발자링크 : https://github.com/KJCracks/Clutch
다운로드 : https://github.com/KJCracks/Clutch/releases
01. Clutch 바이너리 파일을 다운받는다.
02. FTP, iFunbox, iTools, putty 등의 도구를 이용하여 해당 파일을 /usr/bin/ 하위경로에 넣는다.
host : 127.0.0.1
port : 22
user : root
password : alpine
(해당 통신을 하기 위해서는 장치에서 SSH(22) 포트를 열어줘야 한다.)
필자는 처음에 탈옥폰이 ifunbox에서 탈옥 인식이 안되어 putty 로 직접 명령어를 입력하여 번거롭게 옮겼는데, 한참 나중에 알고봤더니 FTP 도구를 이용하여 정말 간단하게 옮길 수 있단걸 알게됐다........
putty 로 넣기 위해서는 직접 명령어를 입력해야한다. putty 설치시에 기본 설치되는 pscp.exe 도구를 이용하여 장치에 파일을 복사할 수 있다. 다운받은 Clutch 파일을 putty가 설치된 폴더에 복사한다. 기본설치 경로 C:\Program Files (x86)\PuTTY cmd 를 실행, putty 설치 경로로 이동한다. > cd C:\Program Files (x86)\PuTTY pscp 를 이용하여 파일을 /usr/bin 에 복사 > pscp.exe .\Clutch-2.0.4 root@127.0.0.1:/usr/bin |
03. putty 로 장치에 연결하여 Clutch 의 권한을 설정한다.
> cd /usr/bin // Clutch 를 복사한 경로 > chmod 777 Clutch-2.0.4 // 777 의 권한 부여 |
/usr/bin 의 하위 경로에 설치하였으므로, 어떤 경로에서든 Clutch 를 사용할 수 있다.
04. Clutch 사용법
-b --binary-dump Only dump binary files from specified bundleID -d --dump Dump specified bundleID into .ipa file -i --print-installed Print installed application --clean Clean /var/tmp/clutch directory --version Display version and exit -? --help Display this help and exit
- Clutch 의 명령어 사용 순서는 아래와 같다.
> Clutch -i // 복호화 가능한 앱을 출력한다. > Clutch -b # // binary 파일로 앱을 복호화 한다. (# : 출력된 앱의 목차 번호) 또는 > Clutch -d # // .ipa 파일로 앱을 복호화 한다. (# : 출력된 앱의 목차 번호) |
앱의 복호화가 성공하면
binary 파일은 /tmp/clutch/### 에 위치,
ipa 파일은 /private/var/mobile/Documents/Dumped/###.ipa 에 위치하게 된다.
복호화된 파일을 컴퓨터로 가져와서 IDA 또는 Ghidra 등 으로 분석하면 된다.
복호화가 되지 않는 앱도 있는것 같다..(?)
(*사진은 추후 추가..예정?)
================================================================
1) Clutch
2) Class-dump / Class-dump-z
3) Frida
4) Cycript
5) GDB
6) IDA
7) Ghidra