Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vphone-cli — Boot and manage virtual iPhones on Apple Silicon with firmware patching, jailbreak variants, and security research features for iOS testing and analysis. | Kitploit
도구/GitHubGitHub/lakr233/vphone-cli
iOS SecurityExploitationSecurity VirtualizationPenetration TestingMobile SecurityFirmware Analysis
GitHublakr233/vphone-cli

vphone-cli

Boot and manage virtual iPhones on Apple Silicon with firmware patching, jailbreak variants, and security research features for iOS testing and analysis.

저장소 보기
8.8k1.2k114시간 36분 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
🇰🇷한국어 | 🇯🇵日本語 | 🇨🇳中文 | 🇬🇧English

vphone-cli

PCC 리서치 VM 인프라를 사용하여 Apple의 Virtualization.framework로 가상 iPhone을 부팅합니다.

poc

사전 요구 사항

호스트:

  • Apple Silicon
  • macOS 15+ (Sequoia)
  • Xcode + iOS SDK (게스트 데몬 크로스 컴파일용)
  • 서명되지 않은 바이너리로 private PV=3 권한을 허용하기 위한 SIP/AMFI 완화

의존성:

root@kitploit:~
brew install [email protected] aria2 wget gnu-tar openssl@3 ldid-procursus sshpass keystone cmake libusb ipsw zstd

설치

root@kitploit:~
brew install zqxwce/tap/vphone-cli

빌드

root@kitploit:~
git clone --recurse-submodules https://github.com/Lakr233/vphone-cli.git

./scripts/setup_tools.sh      # 의존성 설치, 툴체인 서브모듈 빌드, Python venv 생성
./scripts/build.sh            # vphone-cli 빌드 및 서명, .app 번들 생성, vphoned 크로스 컴파일

cd .build/vphone-cli.app/Contents/MacOS/
vphone-cli --help

빠른 시작

하나의 명령으로 VM을 처음부터 끝까지 생성합니다 (다운로드 → 패치 → DFU 복원 → CFW 설치 → 첫 부팅):

root@kitploit:~
vphone-cli vm create myphone -V jb        # -V / --variant

vphone-cli vm launch myphone

명령어

vphone-cli vm create는 전체 파이프라인을 실행합니다; 아래 개별 단계들을 사용하면 수동으로 진행하거나 한 단계만 다시 실행할 수 있습니다.

관리

root@kitploit:~
vphone-cli vm list                         # VM 목록 표시 (스크립팅용 --json)
vphone-cli vm info myphone                  # VM 하나 표시
vphone-cli vm new myphone                   # 빈 번들 생성 (cpu/mem/disk 옵션)
vphone-cli vm config myphone --cpu 8 --memory 8192
vphone-cli vm clone myphone myphone-2       # 빠른 APFS 복제, 새로운 기기 식별자
vphone-cli vm export myphone --out myphone.tzst   # zstd fast by default (--max = xz -9); --out 이 디렉토리면 <vm>.tzst/.txz 자동 명명; restore 디렉토리 + 스테이징 파일 건너뜀
vphone-cli vm import myphone.tzst --name restored
vphone-cli vm rename myphone iphone16
vphone-cli vm delete iphone16

VM 수동 빌드 (vm create가 자동화하는 작업)

root@kitploit:~
vphone-cli vm new myphone                              # 1. 빈 번들
vphone-cli fw prepare myphone --iphone-version 26.1     # 2. IPSW 다운로드 + 병합
vphone-cli fw patch myphone --variant jb                # 3. 부트 체인 패치

vphone-cli vm launch myphone --dfu &                    # 4. DFU로 부팅 (백그라운드)
vphone-cli restore myphone --get-shsh                   #    SHSH 가져오기
vphone-cli restore myphone                              #    DFU 복원
vphone-cli vm stop myphone                              #    DFU 부팅 중지

vphone-cli cfw install myphone --variant jb             # 5. CFW 설치 (호스트 마운트; sudo 요청)
vphone-cli vm launch myphone                            # 6. 첫 부팅

최신 iOS로 업데이트하려면 fw prepare를 IPSW로 지정하세요: --iphone-source /path/to.ipsw --cloudos-source /path/to.ipsw.

펌웨어 변형

보안 우회 수준이 점점 강해지는 5가지 패치 변형이 있습니다 — 하나를 --variant에 전달하세요:

컴포넌트별 상세 분류는 research/0_binary_patch_comparison.md를 참조하세요.

실행 및 연결

  • SSH (탈옥): ssh -p 22222 mobile@<vm-ip> (비밀번호 alpine)
  • SSH (regular/dev): ssh -p 22222 root@<vm-ip>
  • VNC: vnc://<vm-ip>:5901

위치

vphone-cli가 생성하는 모든 것은 ~/.vphone/ 아래에 있습니다 — 서명된 번들이 이식 가능하도록 저장소와 .app 외부에 보관됩니다. $VPHONE_ROOT로 전체 트리를 리디렉션할 수 있습니다:

우선순위: 항목별 재정의($VPHONE_LIBRARY_ROOT, $VPHONE_VENV_DIR)가 $VPHONE_ROOT보다 우선하고, $VPHONE_ROOT는 ~/.vphone 기본값보다 우선합니다. ipsws/, tools/, debs/ 캐시는 항상 현재 활성 루트 바로 아래에 위치합니다.

SIP/AMFI 완화

방법 A — SIP를 완전히 비활성화한 후, boot-arg로 AMFI를 비활성화 (가장 관대).

복구 모드에서 (전원 버튼 길게 누르기 → 터미널):

root@kitploit:~
csrutil disable
csrutil allow-research-guests enable

그런 다음 macOS로 재부팅하고 AMFI boot-arg를 설정합니다 (적용되려면 SIP가 완전히 꺼져 있어야 합니다):

root@kitploit:~
sudo nvram boot-args="amfi_get_out_of_my_way=1 -v"   # 이후 재부팅

방법 B — SIP 유지 (디버그만 완화), 그런 다음 amfidont로 바이너리를 허용 목록에 추가 (AMFI는 시스템 전체에서 활성 상태 유지).

복구 모드에서:

root@kitploit:~
csrutil enable --without debug
csrutil allow-research-guests enable

그런 다음 macOS로 재부팅하고:

root@kitploit:~
vphone-amfidont         # 로컬 빌드의 경우 .build/vphone-cli.app/Contents/Resources/vphone-amfidont

테스트 환경

FAQ

zsh: killed ./vphone-cli — AMFI/디버그 제한이 우회되지 않았습니다; 사전 요구 사항을 참조하세요 (amfi_get_out_of_my_way=1 또는 amfidont).

Virtualization is not available on this hardware — Mac 자체가 VM입니다; PV=3 게스트 부팅은 중첩할 수 없습니다. 중첩되지 않은 macOS 15+ 호스트를 사용하세요.

"Press home to continue"에서 멈춤 — VNC로 접속하여 우클릭(두 손가락 클릭)으로 홈 버튼을 시뮬레이션하세요.

시스템 앱이 설치되지 않음 — iOS 초기 설정 시 지역으로 일본이나 EU를 선택하지 마세요 (VM이 충족할 수 없는 추가 규제 검사가 있습니다); 예를 들어 United States를 선택하세요.

앱이 실행 시 EXC_GUARD / GUARD_TYPE_MACH_PORT로 충돌 — vphone-cli fw patch <name> --variant <v> --force-exc-guard로 다시 패치한 다음, 다시 복원/설치하세요 (#291). iOS 18 베이스에서는 항상 켜져 있습니다.

.ipa/.tipa 설치 — 실행 중인 VM의 Install 메뉴를 사용하세요 (드래그 앤 드롭 또는 파일 선택기).

자동화

vphone-cli는 프로그래밍 방식 제어를 위한 호스트 제어 소켓(<bundle>/vphone.sock)을 노출합니다 — 스크린샷, 터치, 스와이프, 하드웨어 키, 클립보드 — 각 동작은 AI 주도 E2E 테스트를 위해 인라인 스크린샷을 반환합니다. 이를 감싸는 MCP 서버는 vphone-mcp를 참조하세요.

감사의 말

  • wh1te4ever/super-tart-vphone-writeup
도구 다운로드
변형부트 체인CFW참고
less4 patches2 phasesPatchless — iOS 완화 기능을 활성 상태로 유지
regular42 patches10 phasesAMFI/SSV/Img4/TXM 우회
dev53 patches12 phases+ TXM 권한/디버그 우회
jb113 patches14 phases+ 전체 탈옥 (Sileo, TrollStore가 첫 부팅 시 자동 설치)
exp141 patches18 phasesJB 상위 집합 + VM 탐지 방지 연구 패치
경로내용
~/.vphone/사용자별 데이터 루트 — $VPHONE_ROOT로 전체 위치를 재정의합니다.
~/.vphone/VMs/VM 번들 — VM마다 하나의 디렉터리. 라이브러리이며, $VPHONE_LIBRARY_ROOT로 재정의할 수 있습니다.
~/.vphone/ipsws/다운로드된 iPhone + cloudOS IPSW, 캐시되어 여러 VM에서 재사용됩니다.
~/.vphone/tools/fw prepare 중에 가져온 APFS seal-volume 아티팩트(apfs_sealvolume_<version>) 캐시.
~/.vphone/debs/jb/exp CFW 설치가 게스트에 넣는 .deb 패키지 캐시 (Sileo, apt 등).
~/.vphone/venv/자동으로 프로비저닝되는 Python 환경 (Python 런타임 참조; $VPHONE_VENV_DIR로 재정의).
호스트iPhoneCloudOS
Mac16,11 27.0b217,3_18.6.2_22G10026.1-23B85
Mac16,8 26.5.117,3_26.0_23A34126.1-23B85
Mac16,8 26.5.117,3_26.0.1_23A35526.1-23B85
Mac16,12 26.317,3_26.1_23B8526.1-23B85
Mac16,12 26.317,3_26.3_23D12726.1-23B85
Mac16,12 26.317,3_26.3_23D12726.3-23D128
Mac16,12 26.317,3_26.3.1_23D813326.3-23D128
Mac16,11 26.217,3_26.4_23E24626.4-23E5207q
Mac16,11 26.217,3_26.5_23F7726.4-23E5207q
Mac16,11 27.0b217,3_26.5.2_23F8426.4-23E5207q
Mac16,6 26.4.117,3_26.6_23G7126.4-23E5207q
Mac16,11 27.0b217,3_26.6.1_23G8326.4-23E5207q
Mac16,11 27.0b217,3_27.0_24A5380h26.4-23E5207q
Mac16,6 26.4.117,3_27.0_24A5390f26.4-23E5207q
Mac16,6 26.6.117,3_27.0_24A5408d26.4-23E5207q
Mac16,11 27.0b217,3_27.0_24A5418b26.4-23E5207q
Mac16,11 27.0b217,3_27.0_24A5424a26.4-23E5207q