//////
Search
🍎

IOS 모의해킹 환경구성

각 IOS 버전과 기기마다 적절한 탈옥툴 / 탈옥앱을 확인하고 싶다면 이 사이트를 참고하자

Checkra1n을 이용한 탈옥 [ iOS 12 ~ ]

테스트 기기 : IPad mini 2 OS version : IOS 12.5 Checkra1n version : 0.10.2 ( 최신 버전 [0.12.0 ~ ] 에선 IPad mini 2로 탈옥 진행이 안됨 )

Checkra1n 설치 명령어

checkra1n 설치 후 GUI로 실행 시 반드시 sudo 등을 활용한 관리자 권한으로 실행해줘야하며, command 창을 충분히 넓혀주어야 한다.
# 공통과정 echo 'deb https://assets.checkra.in/debian /' | sudo tee /etc/apt/sources.list.d/checkra1n.list sudo apt-key adv --fetch-keys https://assets.checkra.in/debian/archive.key sudo apt-get update # 최신 버전 설치 시 sudo apt-get install checkra1n -y # 구 버전 설치 시(미리 다운받은 checkra1n 파일에 실행권한 설정 후 실행) chmod +x ./checkra1n sudo ./checkra1n # -c 를 붙여주면 CLI모드에서 실행할 수 있다. # 기기가 DFU모드에 멈췄을 때, 혹은 GUI가 필요 없다면 CLI모드에서 사용하면 된다. sudo ./checkra1n -c
Bash
복사

Checkra1n 사용법

탈옥 진행 전, 기기에서 아래 설정들을 반드시 확인한 후 진행해야 한다. 1. 암호를 반드시 꺼야한다. ⇒ [ 설정 ] → [ 암호 ] 탭 → [ 암호 끄기 ] → 기존 암호입력 2. Apple ID 계정을 로그아웃 해야 한다. ⇒ [ 설정 ] → 현재 로그인된 계정이 적인 탭 클릭 → 로그아웃
실행
실행하면 아래와 같은 화면이 출력되며, 이제 IOS 기기를 USB포트에 연결하면 된다.
IOS 기기 USB로 연결
필자는 Kali Linux 에서 진행하였는데, bootra1n 하고는 다르게 PC와 연결이 정상적으로 진행되지 않았다.
이때는 아래 명령어를 사용하여 IOS 기기 인식을 위한 패키지 설치를 진행해야 한다.
connect-ios.sh
0.3KB
# apt-get update sudo apt-get update # install package sudo apt purge libpython2* -y sudo apt-get install libpython2.7-stdlib -y sudo apt-get install ideviceinstaller python-imobiledevice libimobiledevice-utils python-plist ifuse usbmuxd libusbmuxd-tools -y
Bash
복사
DFU 모드에 접속
위 과정을 통해 IOS 기기의 연결이 정상적으로 가능하다면, [ START ] 버튼이 활성화 될 것이다.
연결된 상태로 [ START ] 버튼을 클릭한다.
그럼 "Device is now in recovery mode." 라는 메세지가 출력된 후, 시간이 조금 지나면 아래와 같이 DFU 모드에 접속하기 위해 휴대폰 화면이 보여질 것이다.
이때가 좀 헷갈리는데, 해당 기기의 DFU 모드 접속법을 찾아도 되지만 checkra1n GUI 모드에서는 핸드폰 모양과 함께 어느 버튼을 눌러야 하는지 보여준다.
대부분은 [ START ] 버튼 클릭 → 특정버튼 누르고 있기 정도인데, 눌러야할 버튼은 노란색 , 그렇지 않은 버튼은 흰색으로 보여준다.
따라서 어떤 버튼이 DFU 모드 접속에 필요한지 먼저 확인 후, 색깔이 바뀌는 버튼만 떼면 된다.
만약 성공하면 "Device entered DFU mode successfully." 라는 메세지를 띄워주며 탈옥을 진행한다.
필자의 테스트기기(IPad mini 2)는 아래와 같은 순서였다.
Top button 과 Home button을 같이 4초동안 누르기 -> Top button을 떼고, Home button만 누르고 있기
Plain Text
복사
탈옥 후 부팅
탈옥 과정이 모두 진행되면 아래와 같은 checkra1n 아이콘이 들어간 부팅 모드가 진행된다.
정상적으로 탈옥이 성공했다면 앱 목록에 checkra1n앱이 생성되며, 실행 시 Cydia앱을 설치할 수 있다.

탈옥 과정 중 일부 기기에서 진행이 멈추는 오류

필자가 테스트기기로 탈옥을 진행할 때, checkra1n 버전이 맞지않아 다운그레이드 후 진행하였지만 해결하지 못한 오류가 있었다.
바로 탈옥 진행 중 "Right before trigger (this is the real bug setup)" 이라는 에러 메세지 출력과 함께 진행이 멈춘다는 점이다.
해결 방법
자료를 찾다가 동일한 오류에 대한 해결방법을 보여주는 영상이었다.
그런데 해결 방법이 좀 황당한데, 아래와 같다.
1.
아래 사진과 같이 "Right before trigger (this is the real bug setup)" 문구가 나오자 마자 5-10초를 기다린다. 동영상에서는 정확히 12초를 기다렸다.
2.
정확히 위 문구가 출력된지 5-10초가 지났을 때 IOS 기기와 연결된 케이블을 물리적으로 분리한 후, 5~7초(영상은 8초) 뒤에 바로 다시 연결한다.
3.
그럼 화면에 "DFUSyncUpload FAILED: -1~~~" 오류가 출력되지만, 이후 정상적으로 진행된다.

checkra1n 사용 시, "invalid host ID" 에러 발상

필자가 checkra1n을 사용한 탈옥 시 "ERROR: could not connect to lockdownd: invalid host ID" 에러가 발생한 적이 있다. 이는 연결된 컴퓨터와 iOS기기와의 신뢰 설정이 되지 않아 발생하는 문제이다.
Mac PC에서는 Finder에서 연결한 iOS기기를 선택 후, 중앙의 [신뢰]버튼을 눌러 신뢰설정을 해주면 해결된다.

DFU 모드 해제하기

checkra1n 을 너무 높은 버전을 사용하거나, 여러가지 이유 등으로 탈옥 도중 에러가 발생하는 경우 iOS기기가 DFU모드가 해제되지 않은 상태가 될 수 있다.
이때 기종에 따라 아래와 같은 방법으로 DFU모드를 해제할 수 있다.
이 내용은 아래 블로그의 내용 중 DFU 해제 관련 내용만 그대로 정리한 것이다. 만약 기종에 따른 DFU 모드 진입방법까지 알고 싶은 분들은 아래 블로그에서 확인할 수 있다.
A11 이상 기기
기기 목록
DFU 모드 해제법
1.
음량 증가와 음량 감소 버튼을 각각 차례대로 한 번씩 누른다.
2.
그 다음 측면 버튼을 Apple 로고가 나올 때까지 길게 누르고 있으면 된다.
A10 기기
기기 목록
DFU 모드 해제법
1.
켜져있는 기기를 PC와 연결한다.
2.
음량 감소 버튼과 전원 버튼을 눌러준다.
3.
8초 뒤 전원 버튼에서 손을 떼고 음량 감소 버튼만 눌러준다.
4.
아무런 화면도 뜨지 않고 PC에서 인식되는 소리가 들리거나 iPhone 복구 모드 메세지가 나오면 정상적으로 DFU 모드로 진입한 것이다.
A9 이하 기기
기기 목록
DFU 모드 해제법
1.
켜져있는 기기를 PC와 연결한다.
2.
홈 버튼과 전원 버튼을 눌러준다.
3.
8초 뒤 전원 버튼에서 손을 떼고 홈 버튼만 눌러준다.
4.
아무런 화면도 뜨지 않고 PC에서 인식되는 소리가 들리거나 iPhone 복구 모드 메세지가 나오면 정상적으로 DFU 모드로 진입한 것이다.

탈옥앱을 사용한 탈옥 [ ~ iOS 14.2 ]

테스트 기기 : IPad mini 2 OS version : IOS 12.5.1

탈옥앱 설치를 위한 도구 설치

기본적으로 iOS는 앱스토어의 앱과 인증된 앱만 설치가 가능한 정책을 사용한다.
따라서 XCode를 사용하여 탈옥에 필요한 앱을 개발자 서명을 사용하여 iOS에 설치 되도록 만들것이다.
설치가 필요한 도구
XCode (APP Store에서 설치)

탈옥앱 설치 과정

앱 실행을 위한 설정 변경

앱을 실행하려고 하면 신뢰할 수 없는 기업용 APP 개발자 라는 에러 메세지를 확인할 수 있다.
이는 앱스토어가 아는 수동으로 설치된 앱에서 발생하는 문제점으로, 앱을 신뢰할 수 있는 상태로 만들어줘야 실행이 가능하다.
신뢰하는 앱으로 등록하는 과정에 인터넷 연결이 꼭 필요하니, 인터넷이 접속이 되어 있는지 꼭 확인하자.
1 . 설정일반프로파일 및 기기 관리 접속
2 . 가장 밑에 기업용 앱 탭에서 SUZHOW LINHUA MEDICAL DEVICES ... ~~ 라고 작성된 탭 클릭
3 . ~~를 신뢰함 라고 작성된 파란 글씨 클릭
4. 신뢰 버튼 클릭
이제 정상적으로 접속이 될것이다.

unc0ver앱 탈옥 과정

unc0ver 앱을 설치하고, 신뢰된 앱으로 등록하였다면 탈옥이 가능하다.
1.
앱을 실행한 후, 밑의 JailBreak 버튼을 클릭
2.
모든 과정이 정상적으로 이루어져야 하며, 중간에 검은 화면으로 광고가 발생한는데, 이는 X를 눌러 창을 닫아준다.
3.
만약 31 / 31 또는 30 / 30 이 되어 모든 과정이 정상적으로 진행되었다면 에러없이 탈옥에 성공했다는 메세지가 발생한다. 확인을 눌러주면 자동으로 앱이 종료된다.
4.
탈옥을 하게 되면 Cydia 라는 앱이 설치되는데, 정상적으로 접속이 된다면 탈옥에 성공한것이다.

설치 추천 트윅

출처 - 보안프로젝트해커를 위한 iOS 앱 모의 해킹 전문 과정 강의
Cydia에서 트윅 추가하기
기본적으로 초기에는 트윅을 설치하기 위한 소스들이 많이 추가되어 있지 않기 때문에 설치 할 수 있는 트윅들도 한정적이다.
따라서 원하는 트윅을 설치하기 위해서는 소스를 추가해야한다.
트윅 목록
Apple File Conduit "2" - 바로 설치 가능
AppSync Unified - [ https://cydia.akemi.ai ] 소스 추가 후 설치 가능
OpenSSH - 바로 설치 가능
ReProvision - [ http://repo.incendo.ws ] 소스 추가 후 설치 가능
검색 후 [ 변경 ] 버튼 클릭 → 설치
추가법
Cydia 실행[ 소스 ] 탭 → 우측 상단의 [ 편집 ] 버튼 → 왼쪽 상단의 [ 추가 ] 버튼Cydia/APT URL 입력
EX) 만약 AppSync Unified 트윅을 설치하고 싶다면 [ https://cydia.akemi.ai 입력 ]
원하는 트윅 설치
성공적으로 추가되었다면 기존에는 검색되지 않았던 원하는 트윅이 검색된다.
트윅 모음 링크

탈옥 삭제 스크립트

아래 스크립트는 iOS 11.0 - 11.1.2 버전에서 Electra를 사용했을때만 사용 가능

툴 설치

3uTools 설치

아이폰을 전반적으로 관리할 수 있는 도구
Tools 설치 후, 왼쪽 Command ToolsToolboxOpen SSH Tunnel 추가