Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
iCloudKitExtractor — iCloud 인증, CloudKit/MMCS 백업 다운로드, Octagon/PCS 복구(ADP, Recovery Key, Lockdown Mode)를 위한 실험적 .NET/WPF 포렌식 툴킷입니다. Forensis-Lab의 연구용 소프트웨어로, 매우 실험적이며 Apple 비공개 API는 하룻밤 사이에 변경될 수 있습니다. | Kitploit
도구/GitHubGitHub/giordanosconti/icloudkitextractor
Encryption/Decryption ToolsiOS SecurityForensicsInformation GatheringMobile ForensicsData RecoveryDigital ForensicsCloud SecurityAuthentication

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubgiordanosconti/icloudkitextractor

iCloudKitExtractor

iCloud 인증, CloudKit/MMCS 백업 다운로드, Octagon/PCS 복구(ADP, Recovery Key, Lockdown Mode)를 위한 실험적 .NET/WPF 포렌식 툴킷입니다. Forensis-Lab의 연구용 소프트웨어로, 매우 실험적이며 Apple 비공개 API는 하룻밤 사이에 변경될 수 있습니다.

저장소 보기
23714시간 48분 전아직 검토되지 않음

iCloudKit Extractor

공개 실험 단계 — iCloud 로그인, 기기 백업 목록 조회, CloudKit/MMCS를 통한 다운로드를 위한 WPF(.NET 10) 앱입니다.

iCloudKit Extractor 애플리케이션

연구 / 실험실 소프트웨어입니다. 완성된 제품이 아닙니다: 문서화되지 않은 Apple API, 계정 정지 위험, 보증 없음. 본인 소유의 Apple ID로만, 본인 책임 하에 사용하십시오.

소개

제 이름은 Giordano Sconti입니다. 저는 포렌식 연구소 Forensis-Lab과 협업하고 있으며, 소프트웨어 연구원이자 기술 컨설턴트(Consulente Tecnico)로 일하고 있습니다.

이 소프트웨어는 MIT 라이선스로 배포되지만, Forensis-Lab 포렌식 연구소에 속합니다.

이 프로젝트는 Apple의 내부 API가 하룻밤 사이에 바뀔 수 있기 때문에 매우 실험적인 것으로 간주해야 합니다.

제가 이 프로젝트를 공개하는 이유는, 극단적인 경우 기기 자체를 통하지 않고서는 접근할 수 없는 백업과 CloudKit 데이터를 복구해야 할 때 포렌식 작업에 가치가 있기 때문입니다.

제가 사용해 본 상용 도구들과 달리, 저는 ADP가 활성화된 경우와 비활성화된 경우 모두에서 제 개인 백업을 안정적이고 완전하게 다운로드하는 데 성공했습니다(물론 활성화된 경우 기기의 Octagon PIN 또는 Recovery Key를 알고 있어야 합니다).

또한 Lockdown Mode와 같은 보호 기능이 활성화되어 있고 iCloud.com이 꺼져 있는 경우에도 작동합니다.

이 프로젝트에는 약 7개월의 연구가 소요되었습니다. Cursor 코딩 에이전트 모델이 없었다면 훨씬 더 오래 걸렸을 것입니다. 제가 쓸 수 있는 시간은 가능할 때의 업무 시간이나 늦은 밤뿐이었습니다. 저는 모듈식 코드 구성을 유지하려고 노력했으며, 잘 되었기를 바랍니다.

커피 한 잔 사주고 싶으시다면, 대신 Forensis-Lab에 감사를 표하시거나 다른 형태의 인정을 해주시면 좋겠습니다.

기여 및 연락처

이 소프트웨어를 사용해 보고 싶거나, 개선 사항을 제안하거나, 남은 기능을 완성하는 데 도움을 주고 싶은 분은 환영합니다.

유료 코딩 에이전트 모델을 사용하셔도 됩니다(무료 모델은 코드 정확성 면에서 종종 신뢰할 수 없으니 피해 주십시오). 중요한 것은 생성된 코드를 항상 검토하고, 동의 없이 제3자 코드를 무단으로 도용하지 않는 것입니다. 풀 리퀘스트는 매우 신중하게 검토될 것입니다.

연락처: [email protected]

이 프로젝트의 모든 코드 한 줄은 제 직접적인 허가 하에 Forensis-Lab에 속합니다. 모든 사용 또는 수정은 Forensis-Lab에 귀속되어야 합니다.

Anisette Server 미리보기 접근

자체 anisette 스택을 실행하기 전에 소프트웨어를 사용해 보고 싶으시다면, 제 Anisette Server 접근을 요청하기 위해 비공개로 연락해 주십시오.

Github Page

https://giordanosconti.github.io/iCloudKitExtractor/

iCloudKit Extractor GitHub Pages

중요 사항: Recovery Key 및 Octagon

Recovery Key 잠금 해제는 암호화된 TLKShares의 전체 집합을 덤프할 수 있는 Octagon 엔드포인트를 사용합니다. 이 공유들로부터 Recovery Key 피어와 연관된 것들(Recovery Key에 서명하는 공개 키의 SHA-384)도 복구할 수 있습니다. 이를 통해 주어진 Recovery Key가 존재하는 것들 중 하나인지 검증할 수 있고, 존재한다면 CloudKit 존에 대한 Manatee/PCS KeySet을 복구할 수 있습니다—ADP로 보호된 백업과 Keychain을 포함하여.

포함된 항목

  • 메인 앱: src/iCloudKitExtractor
  • 사진 라이브러리 뷰어: src/PhotosViewer (IKE 빌드 시 viewer-payload로 복사됨)
  • OTP / ADI용 AnisetteServer (+ 선택적 브리지 프로젝트)
  • 에뮬레이션된 akd / 브리지용 설정 스크립트
  • docs/ 아래의 문서

의도적으로 제외된 항목

  • 실험실 빌드 산출물, 프로브, 캡처 코퍼스

요구 사항

  • Windows + .NET 10 SDK
  • 물리적 Anisette 서버 (에뮬레이션된 것은 더 이상 작동하지 않음)
  • 본인이 제어하는 테스트 Apple ID

빌드

dotnet build src/iCloudKitExtractor/iCloudKitExtractor.csproj -c Release
dotnet run --project src/iCloudKitExtractor/iCloudKitExtractor.csproj -c Release

GitHub Pages

프로젝트 사이트는 docs/ (index.html + site.css) 아래에 있습니다.

  1. main을 GitHub에 푸시합니다.
  2. 저장소 Settings → Pages로 이동합니다.
  3. Source: Deploy from a branch를 선택합니다.
  4. Branch: main / folder: /docs를 선택합니다.
  5. 저장합니다 — 사이트 URL은 https://giordanosconti.github.io/iCloudKitExtractor/와 유사합니다.

Frida를 사용한 Anisette (탈옥된 iPhone)

일관된 iPhone/akd 아이덴티티를 위한 선호 경로: OTP는 Frida → AuthKit/akd를 통해 기기에서 생성된 후 AnisetteServer에 의해 제공됩니다.

1. 사전 요구 사항 (기기 + PC)

  • frida-server가 실행 중인 탈옥된 iPhone (USB 또는 Wi‑Fi)
  • PC에 일치하는 frida-tools 버전 (pip install frida-tools)
  • python으로 사용 가능한 Python 3 (또는 FRIDA_ANISETTE_PYTHON 설정)
  • fetch_anisette.py (Frida 연결 스크립트). FRIDA_ANISETTE_FETCH_PY로 경로를 설정합니다.

탈옥 설치 단계: 아래 **탈옥된 iPhone 준비**를 참조하세요 (세부 사항 추후 공개).

2. 환경 변수

변수필수기본값의미
ANISETTE_SERVER_BACKEND예coreadifrida여야 함 (별칭: iphone-frida, jb-frida)
ANISETTE_SERVER_URL / ANISETTE_SERVER_URLS아니오http://127.0.0.1:6969AnisetteServer가 수신하는 URL
ANISETTE_SERVER_PORT아니오6969URL이 설정되지 않은 경우의 포트
ICLOUD_AUTH_MODE권장iphone (config를 통해)전체 AuthKit iPhone SRP를 위해 iphone 사용
FRIDA_ANISETTE_HOST아니오127.0.0.1:27042frida-server host:port (USB는 보통 iproxy 27042 27042를 통해)
FRIDA_ANISETTE_PROCESS아니오akd연결할 프로세스
FRIDA_ANISETTE_FETCH_PY예*추론된 경로fetch_anisette.py의 절대 경로
FRIDA_ANISETTE_PYTHON아니오pythonPython 실행 파일
FRIDA_ANISETTE_LITE아니오1 / true라이트 연결 모드
FRIDA_ANISETTE_TIMEOUT아니오60생성 중단까지의 시간(초)

*FRIDA_ANISETTE_FETCH_PY가 없으면 앱은 몇 가지 레거시 형제 경로만 검색하므로, 환경 변수를 명시적으로 설정하세요.

선택적 앱 구성 파일: %AppData%\iCloudKitExtractor\anisette.json (authMode, serverUrl). 환경 변수가 파일보다 우선합니다.

3. AnisetteServer 시작 (Frida 백엔드)

$env:ANISETTE_SERVER_BACKEND = "frida"
$env:ANISETTE_SERVER_PORT = "6971"
$env:FRIDA_ANISETTE_HOST = "127.0.0.1:27042"
$env:FRIDA_ANISETTE_PROCESS = "akd"
$env:FRIDA_ANISETTE_FETCH_PY = "C:\path\to\fetch_anisette.py"
$env:FRIDA_ANISETTE_PYTHON = "python"
$env:FRIDA_ANISETTE_LITE = "1"
$env:FRIDA_ANISETTE_TIMEOUT = "60"

dotnet run --project src/AnisetteServer/AnisetteServer.csproj -c Release -- --backend frida --port 6971

CLI --backend / --port는 환경 설정을 재정의합니다.

스모크 테스트:

curl http://127.0.0.1:6971/health
curl http://127.0.0.1:6971/

기계 데이터가 포함된 JSON을 예상합니다(X-Apple-I-MD-M, com.apple.akd를 포함하는 X-MMe-Client-Info).

4. IKE를 서버로 지정

$env:ANISETTE_SERVER_URL = "http://127.0.0.1:6971/"
$env:ICLOUD_AUTH_MODE = "iphone"
dotnet run --project src/iCloudKitExtractor/iCloudKitExtractor.csproj -c Release

탈옥된 iPhone 준비하기

먼저 기기에서 Sileo를 통해 Frida(frida-server)와 OpenSSH를 설치하세요.

루트리스 탈옥(/var/jb/...)을 가정합니다. root로 SSH를 통해:

ls -l /var/jb/usr/sbin/frida-server

LaunchDaemon plist를 다시 생성합니다(LF 줄바꿈, rootless). 편집기는 필요 없습니다:

cat > /var/jb/Library/LaunchDaemons/re.frida.server.plist <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>re.frida.server</string>
	<key>ProgramArguments</key>
	<array>
		<string>/var/jb/usr/sbin/frida-server</string>
		<string>-l</string>
		<string>0.0.0.0:27042</string>
	</array>
	<key>RunAtLoad</key>
	<true/>
	<key>KeepAlive</key>
	<true/>
	<key>ThrottleInterval</key>
	<integer>3</integer>
</dict>
</plist>
EOF

줄 바꿈을 정규화하고, plist를 바이너리로 변환한 다음, 데몬을 (다시) 로드합니다:

tr -d '\r' < /var/jb/Library/LaunchDaemons/re.frida.server.plist > /tmp/frida.plist
mv /tmp/frida.plist /var/jb/Library/LaunchDaemons/re.frida.server.plist
plutil -convert binary1 /var/jb/Library/LaunchDaemons/re.frida.server.plist
killall frida-server 2>/dev/null
launchctl bootout system /var/jb/Library/LaunchDaemons/re.frida.server.plist 2>/dev/null
launchctl bootstrap system /var/jb/Library/LaunchDaemons/re.frida.server.plist
launchctl enable system/re.frida.server
launchctl kickstart -k system/re.frida.server
ps aux | grep '[f]rida-server'

이것은 frida-server를 0.0.0.0:27042(모든 인터페이스)에 바인딩하고, 부팅 시 시작하며, 계속 살아 있도록 유지합니다. PC에서 USB 포트 포워딩(iproxy 27042 27042) 후 예를 들어 FRIDA_ANISETTE_HOST=127.0.0.1:27042를 설정하거나 기기의 LAN IP를 사용하세요.

기타 anisette 백엔드

도구 다운로드