최근 괜찮은 탈옥 툴이 나와서 게시글을 작성한다.

 

Dopamine 이라는 툴인데 해당 툴의 경우 Checkra1n나 palera1n 처럼 컴퓨터가 필요 없다.

 

장점은 언제나 폰이 꺼지면 dopamine을 켜서 탈옥 누르면 바로 탈옥이 완료된다는 것이다. 추가적으로 탈옥 우회 기능도 탑제하고 있어서 활성화 시 탈옥 탐지 우회를 높은 확률로 성공한다.

 

해당 툴 사용 가능한 버전과 기기는 아래와 같다

iOS and ipadOS:

15.0
15.0.1
15.0.2
15.1
15.1.1

15.2
15.2.1
15.3
15.3.1
15.4

15.4.1

A12:
iPhone Xs
iPhone Xs Max
iPhone XR
iPad mini (5th)
iPad Air (3rd)

iPad 8th
A12X:
iPad Pro 11 (1st)
iPad Pro 12.9 (3rd)
A12Z:
iPad Pro 11 (2nd)
iPad Pro 12.9 (4th)
A13:
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (2nd)

iPad 9th
A14:
iPhone 12 mini
iPhone 12
iPhone 12 Pro
iPhone 12 Pro Max

iPad Air (4th)
A15:
iPhone:
iPhone 13 mini
iPhone 13
iPhone 13 Pro
iPhone 13 Pro Max
iPad:
iPad mini (6th)
M1:
iPad Pro 11 (3rd)
iPad Pro 12.9 (5th)
   

https://ellekit.space/dopamine/

 

Dopamine

arm64e Jailbreak for iOS 15.0-15.4.1

ellekit.space

 

 

우선 설치를 위해서는 트롤스토어 설치가 우선 시 된다.

https://github.com/opa334/TrollStore/releases/tag/1.5.1

 

Release 1.5.1 · opa334/TrollStore

Fix crash on uninstallation

github.com

아이폰 Safari로 트롤스토어를 다운받는다.

설치하면 GTACarTracker가 생성 되는데 해당 앱으로 접속한다.

 

접속 시 Install TrollStore 버튼이 있어서 설치 시 TrollStore가 설치된다. 매우 쉽다.

 

그 후 아래 경로로 최신 dopamine을 다운 받는다.

https://github.com/opa334/Dopamine/releases/tag/1.1.10

 

Release 1.1.10 · opa334/Dopamine

Fix an issue where on some devices launchd would get killed by jetsam during the initial userspace reboot, resulting in a kernel panic (1.1.3 regression) Fix an issue where under some super rare ci...

github.com

 

필자의 경우 타 개발자가 기존 dopamine에서 Roothide 기능을 추가한 Roothide dopamine을 설치했다.

https://github.com/RootHide/Dopamine-roothide/releases/tag/1.0.6

 

Release 1.0.6 · RootHide/Dopamine-roothide

1: Merge the latest code of dopamine 2: Improve performance and stability through improved jit activation timing this version contains many bug fixes and stability and performance improvements, eve...

github.com

 

 

다운로드 후 내보내기를 통해 TrollStore로 해당 설치파일을 열어 Install

 

설치된 도파민 앱 접속 시 탈옥 버튼이 있는데 이것만 누르면 탈옥이 완료된다.

 

탈옥 중인 Dopamine 완료 시 아래와 같이 "탈옥이 되었습니다"라는 문구가 나오게 된다.

 

그러면 Sileo와 RootHide가 설치되는데 이제 관련 트윅을 다운로드 받아 설치하면  커스텀하여 아이폰 사용이 가능하다.

 

RootHide 트윅의 경우 RootHide dopamine에서만 나타나고 탈옥 탐지 우회를 더 강하게 해준다는데 우선 한번 더 확인이 필요하다.

 

한가지 조심해야할 점은 frida를 직접 앱에 붙이기 위해서는 Pid로 붙어야지 패키지명으로 하면 자체 탈옥 탐지 우회 기능떄문에 앱 연결이 끊겨 frida가 작동하질 않는다.

'APP 모의해킹 > iOS' 카테고리의 다른 글

palera1n ios 15~16 탈옥방법 with 맥북  (0) 2023.06.18
Tweak setting  (0) 2023.04.23
iOS Setting  (0) 2023.04.03
iOS 탈옥 탐지 우회 예시 코드 [추가 업로드예정]  (0) 2023.03.30
iOS 정적 분석  (0) 2023.03.30

가끔 TCP 통신하는 앱의 경우 해당 패킷을 잡기 위해 Burp 에서 제공하는 NoPE Proxy를 사용해야한다.

 

가장 먼저 Burp 인증서가 단말기 내에 존재해야하니 명심할 것.

 

Burp > Extensions > BAPP Store > 검색창에 NoPE Proxy 검색 후 설치

아래 그림과 같이 세팅 우측 상단 Interface는 IP 설정을 위한 번호이다. 하단 12) wlan1 :192.168.0.17 즉 아이피에 번호를 매겨 쉽게 DNS IP를 설정하는 곳이다.

interface 는 12로 세팅 그리고 add 80 & 443 to Burp 를 눌러 80,443 포트로 리스너로 설정해준다.

 Proxy listeners 세팅

다음은 아래와같이 단말기 세팅이 필요하다.

적어 놓은 대로 세팅해 놓으면 된다.

필자의 경우 프록시도 같이 아래와 같이 세팅하니 패킷이 잡혔으니 이점도 유의하자.

그러면 이제 TCP 패킷이 잡힐 것이다.

얘 때문에 하루를 여기다가 다 써서 진이 빠진다.

'APP 모의해킹 > Android' 카테고리의 다른 글

Hooking 함수명 모를때  (0) 2023.05.11
루팅 탐지 우회 모듈  (0) 2023.04.11
Scrcpy 안드로이드 앱 화면 공유  (0) 2023.04.11
Frida Hooking  (0) 2023.03.29
Burp 인증서 설치  (0) 2023.03.28

https://www.telerik.com/download/fiddler

 

Download Fiddler Web Debugging Tool for Free by Telerik

Download and install Fiddler Classic web debugging tool. Watch a quick tutorial to get started.

www.telerik.com

모바일 진단할 때 Burp를 이용하여 패킷을 확인하는데 특정 앱의 경우 통신 시간이 너무 오래 걸리는 경우가 있다.

인증서 문제인지는 모르겠지만 해당 문제는 Burp와 모바일 사이에 Fiddler를 연동시켜주면 해결이 된다.

 

우선 피들러를 다운받고 설치해준다. 그 후 Options 접속

 

 

HTTPS 옵션에서 Decrypt HTTPS traffic, Ignore server certificate errors, check for certificate revocation 을 체크 해준다.

하는 도중에 경고 뜨는게 좀 있을 텐데 다 YES로 진행  ←해당과정은 HTTPS 통신하는 패킷을 잡기 위해서 필수

 

 

그리고 Actions에서 Trust Root Certificate도 YES 해서 인증서를 해당 PC에 설치해 준다.

 

 

Connections 부분도 아래와 같이 세팅 여기까지 진행 후 설정 적용을 위해 껐다가 다시 피들러 실행할 것

 

 

이제 단말기에서 Fiddler 인증서를 설치해야한다. Proxy 설정을 아래와 같이 진행

다만 서버 IP의 경우 진행중인 PC의 아이피로 진행해야하고 같은 네트워크 상에 있어야 한다.

 

 

그 다음에 단말기에서 해당 https://192.168.0.17:8888 로 접속 후 certificate를 설치해 준다.

ios 에서는 사파리로 들어가야 해당 인증서가 깔리니 크롬으로 들어가지 말 것

 

 

 

피들러는 8080 포트를 프록시로 설정해 Burp에서 패킷을 잡을 수 있게한다.

 

 

Burp는 피들러와의 연동을 위해 8080 포트를 All interface로 진행한다. 127.0.0.1로 진행해도 상관 없을 거 같긴하다.

 

 

이러면 패킷이 정상적으로 잡힐 것이다.

 

만약 안된다면 피들러를 한번 껐다가 다시 켜볼것

 

+ 필터가 필요하다면 아래와 같이 세팅

안드로이드의 경우 안드로이드 8버전 이상부터 인증서를 직접 수정해서 넣어줘야 신뢰할 수 있는 인증서 획득이 가능하다.

왼쪽 하단 QuickExec에 about:config 입력 후 엔터시 설정이 나오는데 아래와 같은 설정이 없다면

아래 명령어를 순차적으로  QuickExec에 넣어서 작동시켜줘야한다.

PREFS SET fiddler.certmaker.validdays 360
PREFS SET fiddler.certmaker.gracedays 1

그 후 아래와 같이 인증서 초기화 및 새로 발급받는다.

추출된 파일은 바탕화면에 존재한다.

해당 인증서는 openssl로 안드로이드 단말기 내에서 사용할 수 있는 파일로 만들어 집어넣는다.

# 확장자 der로 변경
openssl x509 -inform DER -in FiddlerRoot.der -out FiddlerRoot.pem
openssl x509 -inform PEM -subject_hash_old -in FiddlerRoot.pem | head -1
# 위 결과값을 이름으로 변경하고 확장자를 <해쉬값>.0 으로 변경해준다.
mount -o rw,remount /system
chmod 644 269953fb.0
mv 269953fb.0 /system/etc/security/cacerts/
#만약 인식 안되면 재부팅

'APP 모의해킹 > Setting' 카테고리의 다른 글

TCP Proxy  (0) 2023.04.04
Objection + frida-trace  (0) 2023.04.04
IDA Setting  (0) 2023.04.03
Anaconda Setting for virtual environment + frida  (0) 2023.03.23
pip 인증서 문제  (0) 2023.03.22

사용자의 환경은 아이폰 x와 맥에서 진행을 하였다

기본적인 세팅은 Usb타입 케이블을 사용해야한다. c type으로 진행하였을 때 필자는 작동이 되지 않았고 Usb에 c-type 젠더를 끼워서 연결하니 정상적으로 탈옥이 되었다.

 

우선적으로 설치해야하는 것은 palera1n 이다.

아래 링크로 들어가서 palera1n-macos-universal을 다운 받는다.

https://github.com/palera1n/palera1n/releases

 

Releases · palera1n/palera1n

iOS 15.0-16.5 semi-tethered checkm8 jailbreak. Contribute to palera1n/palera1n development by creating an account on GitHub.

github.com

기본적으로 맥북과 핸드폰은 신뢰상태로 연결되어 있어야하고 탈옥 시 아이폰의 애플 계정 및 암호를 삭제해야한다.

 

순차적으로 명령어를 실행한다

#다운로드 한 경로로 이동( 필자는 다운로드 폴더에 저장되어서 다운로드 폴더로 이동함)
cd ~/Downloads

sudo mkdir -p /usr/local/bin

sudo mv ./palera1n-macos-universal /usr/local/bin/palera1n

sudo xattr -c /usr/local/bin/palera1n

sudo chmod +x /usr/local/bin/palera1n

cd /usr/local/bin/

#아이폰 연결 후 아래 명령어 실행
./palera1n -cf

#위 과정이 끝나면 아래 과정을 한번더 진행한다.
./palera1n -f

 

 <Error>: Timed out waiting for download mode (error code: -status_exploit_timeout_error) 탈옥 진행 중에 이 에러가 뜬다면 라이트닝 포트를 제거했다가 다시 연결하면 이후 과정이 순차적으로 진행되니 알고 있을 것!

 

여기서 특이한 점은 palera1n 을 두번 실행하는 것인데 첫번째 실행은 전체 시스템을 복사해서 페이크 시스템 만들고 탈옥을 하는 것이다

Where -c is a request to create FakeFS (a fake system created by cloning your entire system), f is a request to run rootfull.

한번 더 진행하는 정확한 이유는 모르지만 fakefs는 탈옥에만 이용되어 나중에 -c 명령어를 뺴면 fakeos를 삭제 진짜 os에 데이터를 올리는 것으로 예상된다. 그 이유로 첫번째 명령어 실행시 palera1n이 설치가 안되고 두번째 명령어를 실행할 때 palera1n이 깔린다. 

 

 

참고는 아래 링크를 통해 palera1n 을 참고 하여 작성되었다

https://www.youtube.com/watch?v=HDoG0urndkg&t=327s 

 

'APP 모의해킹 > iOS' 카테고리의 다른 글

RootHide Dopamine 설치 (Feat.탈옥 탐지 우회 RootHide)  (0) 2023.11.03
Tweak setting  (0) 2023.04.23
iOS Setting  (0) 2023.04.03
iOS 탈옥 탐지 우회 예시 코드 [추가 업로드예정]  (0) 2023.03.30
iOS 정적 분석  (0) 2023.03.30

이번에 트윅 개발을 위해 세팅을 진행할려고 한다.

본 환경은 맥북 m1 pro  환경에서 진행 되고 필자가 오늘 설치한 방법이니 참고하면 좋겠다.

기본적으로 트윅은 theos라는 툴을 이용하여 제작한다. 여러 라이브러리 및 기본 세팅을 도와주는 좋은 툴이다.

 

기본 세팅에 대한 정보는 hackcattml 님에게 얻었습니다.

https://hackcatml.tistory.com/107

 

THEOS 설치

frida로 후킹 시 알수 없는 이유로 크래시나는 경우가 있습니다. 그럴 경우, Theos 후킹 트윅 개발을 고려해볼수 있습니다. 저 같은 경우 탈옥탐지우회를 위해 fopen함수를 frida로 후킹하였는데, 알

hackcatml.tistory.com

맥에는 Homebrew가 세팅되어야 나중에 설정이 안꼬입니다.

 

# git과 ldid 설치
brew install git
brew install ldid

# user명 아래 파일에 theos 폴더와 안에 staging명으로 폴더 생성
mkdir ~/theos
mkdir ~/theos/staging

# theos와 staging을 환경 변수로 설정
echo "export THEOS=~/theos" >> ~/.zshrc
echo "export THEOS_STAGING_DIR=~/theos/staging" >> ~/.zshrc

# theos device 라이브러리를 다운로드
git clone --recursive https://github.com/theos/theos.git $THEOS

# ios sdk 중 원하는 버전을 다운로드 필자는 우선 다 다운로드함
# tmp이라는 거는 임시 폴더를 생성해야 불필요한 파일 생성을 줄이기 위해 임시 폴더 이용
curl -LO https://github.com/theos/sdks/archive/master.zip
TMP=$(mktemp -d)
unzip master.zip -d $TMP
mv $TMP/sdks-master/*.sdk $THEOS/sdks
rm -r master.zip $TMP

# 환경 변수에 추가
export workzone="$HOME/theos/bin"

# 환경 변수 적용을 위해서는 아래 명령어를 실행해야함
source ~/.zshrc

# 환경 변수 문제가 없다면 빨간 표시 없이 아무것도 뜨지 않을것이다.

위 세팅이 끝나면

theos/bin 내부에 있는 nic.pl을 실행시키면 된다

다만 ~경로가 아닌 theos 내부에서 프로젝트 생성이 아래 에러가 날것이다. 그렇기 때문에 ~경로에서 nic.pl을 실행하여

~디렉토리 바로 아래에 프로젝트를 생성한다.

[error] Cowardly refusing to make a project inside $THEOS

 

Project Name 은 소문자로 작성

특정 패키지 명으로 설정하고 싶으면 아래와 같이 설정 ex) com.hack.test

Package Name [com.yourcompany.tio]: com.hack.test
  • "이름 <메일>" 형식으로 작성
Author/Maintainer Name [Tyrell]:  <root@tyrell.kr>

SpringBoard에서 작동 시키고 싶다면 그냥 스킵을 위해 엔터

만약 특정 bundle id에 만 트윅이 작동하기 위해서는 세팅에 아래와 같이 설정

[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: com.aaa.bbb
  • 설치 후 적용을 위해 지정한 앱 강제 종료
  • 강제 종료 원하지 않으면 "-"
  • 무시 "enter"로 스킵
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]: (enter)

이제 code ./Tweak.x 명령어로 트윅 코딩을 시작하면 된다.

# vscode로 tweak.x를 여는 명령어
code ./Tweak.x

# 아래 둘다 가능하고 작성 코드를 기반으로 deb 아이폰 설치 파일을 만들어 주는 명령어
make package
# 빌드 번호 없이 파일명으로 생성
make package FINALPACKAGE=1

만약 빌드가 다 완료되었을 경우 

scp를 이용하여 deb 파일을 기기 내로 이동시킨다.

# 파일 보내기
# 폴더 전송시 -r 옵션을 주면 됨
scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는 위치]
scp testfile root@[IP]:/tmp/data/local/  
# 파일 가져오기
cp [옵션] [원격지_id]@[원격지_ip]:[원본 위치] [받는 위치]
scp root@[IP]:/tmp/data/local/testfile /tmp

만든 트윅 파일 설치

dpkg -i [deb패키지파일]

설치 시

/Library/MobileSubstrate/DynamicLibraries 에 해당 트윅이 설치된 것을 확인가능

해당 트윅이 정상 작동 안할 시 SpringBoard 리스프링 할 것

killall SpringBoard

+ Recent posts