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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ams-failopen — AppleMediaServices의 제로데이: Bag 가져오기 실패로 Mescal/Absinthe 서명이 비활성화됩니다. Apple 서비스에 대한 요청이 서명되지 않은 채 진행되어 다운그레이드, 재생(replay), 우회 위험에 노출됩니다. 분석, 로그 증거 및 PoC 공격 로직을 포함합니다. | Kitploit
도구/GitHubGitHub/jgoyd/ams-failopen
ReconnaissanceVulnerability AnalysisExploitationWeb SecurityPenetration TestingDNS Analysis
GitHubjgoyd/ams-failopen

ams-failopen

AppleMediaServices의 제로데이: Bag 가져오기 실패로 Mescal/Absinthe 서명이 비활성화됩니다. Apple 서비스에 대한 요청이 서명되지 않은 채 진행되어 다운그레이드, 재생(replay), 우회 위험에 노출됩니다. 분석, 로그 증거 및 PoC 공격 로직을 포함합니다.

저장소 보기
3311개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

AppleMediaServices의 Fail-Open 서명 (제로데이 공개)

요약

이 문제는 실제 제로데이 취약점으로, 특정 버전의 회귀 버그라기보다는 AppleMediaServices.framework의 구조적 설계 결함을 반영합니다.

Apple의 AppleMediaServices 프레임워크에 있는 심각한 fail-open 결함으로 인해 원격 구성 파일("Bag")을 로드하지 못하면 요청 서명이 자동으로 비활성화될 수 있습니다. 이는 iOS, macOS, tvOS 및 watchOS에 영향을 미칩니다.

DNS 조작, 시간 초과 또는 네트워크 간섭으로 인해 Bag을 가져올 수 없는 경우 AppleMediaServices 데몬은 Mescal/Absinthe 서명을 비활성화하고 서명되지 않은 요청을 Apple 서버로 전송합니다. 이러한 요청에는 무결성 보호 기능이 없어 사용자가 다운그레이드 및 재생 공격에 노출됩니다.

로그 증거:

https://ia600207.us.archive.org/11/items/fail-open-log-evidence-in-apple-media-services/Fail%20Open%20Log%20Evidence%20in%20AppleMediaServices.mov

발견

  • 날짜: 2025년 8월 20일
  • 유형: 활성 제로데이
  • 상태: 패치되지 않음

영향을 받는 시스템

AppleMediaServices.framework를 사용하는 모든 Apple 플랫폼이 영향을 받습니다.

영향을 받는 데몬은 다음과 같습니다:

  • appstored (App Store 서비스)
  • amsengagementd (미디어 및 미리보기 엔드포인트)
  • promotedcontentd (광고 및 개인화 로직)

취약점 개요

Apple 기기는 다음 엔드포인트에서 동적 구성 Bag을 가져옵니다:

https://bag.itunes.apple.com/bag.xml?deviceClass=...&format=json

이 구성에는 발신 요청에 서명해야 하는지 여부를 결정하는 useAMSMescal, mescalURL, absintheURL 같은 플래그가 포함됩니다.

Bag을 로드하지 못하면 AppleMediaServices는 실패를 기록하고 서명 로직을 비활성화한 뒤 서명되지 않은 요청을 전송합니다. 서명 검증, 무결성 검사 또는 강제 폴백 메커니즘이 없습니다. Bag은 인증되지 않고 서명되지 않았기 때문에 보안 상태가 네트워크 간섭에 취약합니다.

개념 증명

전제 조건:

  • 기기는 공격자가 제어하거나 조작한 네트워크(예: 악성 액세스 포인트 또는 손상된 DNS)에 연결되어 있어야 합니다.

악용 절차:

  1. DNS NXDOMAIN 응답, TCP 핸드셰이크 중단 또는 지연된 응답을 사용하여 Bag 엔드포인트에 대한 접근을 차단하거나 변조합니다.

  2. 시스템 로그에서 Bag 로드 실패와 Mescal/Absinthe 서명 건너뜀이 표시되는지 확인합니다.

  3. 시스템 구성 요소(예: App Store, Music 앱)가 요청을 전송하도록 트리거합니다. 네트워크 트래픽을 모니터링하고 다음 서명 헤더가 없는지 확인합니다:

    • X-Apple-Mescal-Signature
    • X-Apple-Mescal-Request-Digest
    • X-Apple-ID-Session
    • X-Apple-Absinthe-Signature

결과:

서명되지 않은 트래픽이 검증 없이 Apple 엔드포인트로 전송됩니다. 이로 인해 변조, 재생 및 기타 무결성 위험이 발생할 수 있습니다.

위협 모델

  • Bag 획득을 방해하는 악성 공공 Wi-Fi 액세스 포인트
  • bag.itunes.apple.com 접근을 차단하는 DNS 중독 또는 변조
  • 보안 플래그를 덮어쓰기 위한 AMSBagManager의 Frida 또는 탈옥 변조
  • Apple CDN으로 전송되는 서명되지 않은 콘텐츠 요청의 재생 또는 변조

권장 수정 조치

  1. 서명된 구성 CMS, JWT 또는 HMAC을 사용하여 Bag에 서명하고 클라이언트 측에서 서명을 검증합니다.

  2. 안전 실패 기본값 AppleMediaServices는 Bag을 가져오거나 검증할 수 없을 때 서명 종속 트래픽을 차단해야 합니다.

  3. 서버 측 강제 Apple의 백엔드 API는 Mescal 또는 Absinthe 보호가 필요한 서명되지 않은 요청을 거부해야 합니다.

  4. 검증된 캐싱 Bag 콘텐츠는 무결성 검사를 통과하고 정의된 만료 제약 조건 내에 있을 때만 캐시되어야 합니다.

심각도 근거

  • 사용자 상호 작용 없이 원격으로 악용 가능
  • 권한 불필요
  • 모든 주요 Apple 플랫폼의 기반 서비스에 영향
  • 인증 헤더 우회
  • 재생 및 다운그레이드 시나리오 가능

이것이 중요한 이유

Apple 기기는 App Store부터 미디어 재생까지 신뢰를 위해 서명된 요청에 의존합니다. 구성 파일을 로드할 수 없을 때마다 이러한 서명이 사라지면 Wi-Fi 네트워크의 공격자가 사용자가 모르는 사이에 무결성을 제거하고 트래픽을 주입하거나 재생할 수 있습니다. 단 한 번의 Bag 요청 실패로 Apple의 보안 보장이 fail-open 상태가 됩니다.

도구 다운로드