본문 바로가기

Apple

Checkra1n을 사용하여 T2칩 탈옥하기

아래 글은 blog.t8012.dev/t2-checkra1n-guide/ 글을 번역, 의역한 내용입니다.

 

-----

 

일단, 맥에서 '탈옥'이라는 것에 대해 궁금증을 가질 것입니다.

탈옥이라는 건, 비인가 코드를 실행하는 행위를 통틀어 말합니다.

T2 보안 칩을 해킹하게 된다면, Code-signing, SIP, SecureBoot, Gate Keeper 등 다양한 인증 요소들을 우회할 수 있습니다.

 

이러한 T2칩은 iOS의 변형인 bridgeOS가 탑재됩니다.

기반은 A10 칩으로, checkm8 취약점이 동일하게 적용이 됩니다.

 

따라서, 아래는 맥을 DFU 모드로 만들어서 Checkra1n을 이용하여 탈옥을 해 볼 것입니다.

 

 

목차는 다음과 같습니다.

 

  1. libimobiledevice 설치
  2. 탈옥할 맥을 DFU 모드로 진입
  3. Checkra1n 실행
  4. SSH 연결

일단 맥, 혹은 리눅스가 설치된 컴퓨터가 하나 더 있어야 합니다.

편의상 이를 B 컴퓨터라 부르겠습니다.

탈옥할 T2칩 탑재된 놈은 A 컴퓨터라 부르겠습니다.

 

그리고 USB-C to USB-C 또는 USB-C to USB-A 케이블을 준비해주세요.

탈옥할 컴퓨터 (A 컴퓨터) 에 USB-C가 반드시 꽂혀져야 합니다.

 

1. libimobiledevice 설치

다른 컴퓨터 (B 컴퓨터) 에는 libimobiledevice를 설치해야 합니다.

brew.sh/index_ko

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

홈브류를 설치한 뒤, 터미널에 아래를 입력합니다.

brew install libimobiledevice

 

2. 탈옥할 맥을 DFU 모드로 진입

support.apple.com/ko-kr/guide/apple-configurator-2/apdebea5be51/mac

 

Apple Configurator 2에서 Mac 펌웨어 되살리기 또는 복원하기

드물게 발생하는 일이지만 Apple T2 보안 칩이 있는 Apple 컴퓨터가 응답하지 않으면 해당 칩의 펌웨어를 되살리거나 복원해야 합니다.

support.apple.com

위 링크를 따라하여, A 컴퓨터를 DFU 모드로 진입합니다.

그리고 USB 케이블을 연결해주세요.

 

B 컴퓨터와 연결한 후 확인해봅시다.

 

터미널에 lsusb를 입력하면 다음과 같이 DFU Mode가 하나 잡힙니다.

 

 

3. Checkra1n 실행

맥에서 실행 시
sudo ./checkra1n.app/Contents/MacOS/checkra1n --cli

리눅스에서 실행 시
sudo ./checkra1n --cli

경로는 적절하게 수정해서 입력하시면 됩니다.

 

 

4. SSH 연결

iproxy 2202 44 &
ssh -p 2202 root@localhost

Checkra1n을 돌리고 나면 SSH 연결이 가능해집니다. T2칩에 usbmuxd를 통한 프록시로 SSH 연결을 할 수 있습니다.

포트는 44번입니다. 22번은 커널에서 특별하게 다루고 있다고 합니다.

 

그리고 이건 일시적 (Tethered) 연결입니다. USB 연결이 해제되면, Intel Host Controller에 포트를 릴리스합니다.

늘 그랬듯이, 패스워드는 alpine입니다.