Homekit Attacks: Phantom Device Injection | AIMF Security

πŸ” Case Study: Homekit Attacks & Phantom Devices

Phantom Device Injection β€” rapportd DoS Vulnerability

Educational data flow diagrams for research discussion on how a phantom device was injected into an iCloud account, triggering an 8-day denial-of-service attack on macOS.

⚠️ UNPATCHED πŸ“„ Hana Omori πŸ” CCPA Pending

1. Normal iCloud Device Authentication Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                          β”‚      β”‚                          β”‚      β”‚                          β”‚
β”‚   USER'S DEVICE           β”‚      β”‚   APPLE ID AUTH SERVER   β”‚      β”‚   ICLOUD ACCOUNT         β”‚
β”‚                          β”‚      β”‚                          β”‚      β”‚                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚                                  β”‚                                  β”‚
             β”‚                                  β”‚                                  β”‚
             β”‚  1. Login with Apple ID + 2FA    β”‚                                  β”‚
             β”‚ ────────────────────────────────►│                                  β”‚
             β”‚                                  β”‚                                  β”‚
             β”‚                                  β”‚  2. Verify credentials           β”‚
             β”‚                                  β”‚ ────────────────────────────────►│
             β”‚                                  β”‚                                  β”‚
             β”‚                                  β”‚  3. Add device to trusted list  β”‚
             β”‚                                  β”‚ ◄────────────────────────────────│
             β”‚                                  β”‚                                  β”‚
             β”‚  4. Device now in Find My        β”‚                                  β”‚
             β”‚ ◄────────────────────────────────│                                  β”‚
             β”‚                                  β”‚                                  β”‚

How device authentication should work: User initiates, 2FA required, device added with user's naming convention

πŸ” Key Points

  • User initiates β€” Authentication starts from the user's device
  • 2FA required β€” New devices must pass two-factor authentication
  • Correct naming β€” Device added with user's naming convention (lowercase "hana's")

2. Suspected Attack Flow (Phantom Device Injection)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    β”‚   β”‚                    β”‚   β”‚                    β”‚   β”‚                    β”‚
β”‚   ATTACKER         β”‚   β”‚   VICTIM'S PHONE   β”‚   β”‚   APPLE ID AUTH    β”‚   β”‚   ICLOUD ACCOUNT   β”‚
β”‚                    β”‚   β”‚                    β”‚   β”‚                    β”‚   β”‚                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚                        β”‚                        β”‚                        β”‚
          β”‚                        β”‚                        β”‚                        β”‚
          β”‚  1. Intercept via Stingray/Bluetooth            β”‚                        β”‚
          β”‚ ─────────────────────► β”‚                        β”‚                        β”‚
          β”‚                        β”‚                        β”‚                        β”‚
          β”‚                        β”‚                        β”‚                        β”‚
          β”‚  2. Extract auth tokens/session                  β”‚                        β”‚
          β”‚ ◄───────────────────── β”‚                        β”‚                        β”‚
          β”‚                        β”‚                        β”‚                        β”‚
          β”‚                        β”‚                        β”‚                        β”‚
          β”‚  3. Replay auth with phantom device details                              β”‚
          β”‚ ─────────────────────────────────────────────────────────────────────────►│
          β”‚                        β”‚                        β”‚                        β”‚
          β”‚                        β”‚                        β”‚                        β”‚
          β”‚  4. Phantom device added: "Hana's" (not "hana's")                        β”‚
          β”‚                        β”‚                        β”‚ ◄──────────────────────│
          β”‚                        β”‚                        β”‚                        β”‚

Attacker intercepts via Stingray/Bluetooth, extracts tokens, replays auth with phantom device

πŸ”΄ Key Evidence

  • Wrong capitalization β€” Attacker used "Hana's" but victim uses "hana's"
  • Pixel correlation β€” Google Pixel 7 Pro briefly online Jan 25 β€” same day as estimated injection
  • No 2FA prompt β€” Victim never received a two-factor authentication request

3. rapportd DoS Loop (The Bug)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                        VICTIM'S MAC                                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                                 β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚   β”‚                    β”‚       β”‚                    β”‚       β”‚                            β”‚     β”‚
β”‚   β”‚   ICLOUD SYNC       │──────►│   RAPPORTD DAEMON   │──────►│   PHANTOM: "Hana's MBP"   β”‚     β”‚
β”‚   β”‚                    β”‚       β”‚                    β”‚       β”‚                            β”‚     β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚                                          β”‚                                 β”‚                   β”‚
β”‚                                          β”‚                                 β”‚                   β”‚
β”‚                                          β”‚  Try to connect                β”‚                   β”‚
β”‚                                          β”‚ ───────────────────────────────►│                   β”‚
β”‚                                          β”‚                                 β”‚                   β”‚
β”‚                                          β”‚  ❌ UNREACHABLE                 β”‚                   β”‚
β”‚                                          β”‚ ◄───────────────────────────────│                   β”‚
β”‚                                          β”‚                                 β”‚                   β”‚
β”‚                                          β”‚  ⚠️ NO BACKOFF - Retry NOW      β”‚                   β”‚
β”‚                                          β”‚ ───────────────────────────────►│                   β”‚
β”‚                                          β”‚                                 β”‚                   β”‚
β”‚                                          β”‚  ❌ UNREACHABLE                 β”‚                   β”‚
β”‚                                          β”‚ ◄───────────────────────────────│                   β”‚
β”‚                                          β”‚                                 β”‚                   β”‚
β”‚                                          β”‚  ♾️ INFINITE LOOP               β”‚                   β”‚
β”‚                                          β”‚  (8 days, 141,575 errors)       β”‚                   β”‚
β”‚                                          β”‚                                 β”‚                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The bug: rapportd has no exponential backoff or timeout β€” it retries forever

⚠️ The Vulnerability

  • No backoff β€” Immediate retry with no delay between attempts
  • No maximum β€” No limit on retry attempts
  • No timeout β€” Loops indefinitely until device is removed

Result: 8 days of DoS, 141,575 errors, 70x amplification

4. Evidence Destruction Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                              β”‚                              β”‚                              β”‚
β”‚   VICTIM REMOVES PHANTOM      β”‚                              β”‚   ATTACKER MONITORING?        β”‚
β”‚                              β”‚                              β”‚                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚                                                             β”‚
               β”‚                                                             β”‚
               β”‚  23:37:00 - Remove phantom device from iCloud            β”‚
               β”‚ ───────────────────────────────────────────────────────────►│
               β”‚                                                             β”‚
               β”‚  23:37:46 - Network disruption begins (46 sec later)       β”‚
               β”‚ ◄───────────────────────────────────────────────────────────│
               β”‚                                                             β”‚
               β”‚  23:38:09 - Socket flows failed                           β”‚
               β”‚                                                             β”‚
               β”‚  23:38:22 - iCloud connection lost                        β”‚
               β”‚                                                             β”‚
               β”‚  23:38:48 - VPN tunnel stopped                            β”‚
               β”‚                                                             β”‚
               β”‚  ~23:40 - SYSTEM CRASH                                    β”‚
               β”‚  ════════════════════════════════════════════               β”‚
               β”‚  ❌ Logs from 23:37-23:40 DESTROYED                       β”‚
               β”‚  ❌ 30-day retention gap at this window                   β”‚
               β”‚  ❌ No forensic evidence of auth method                   β”‚
               β”‚                                                             β”‚

Suspicious timing: Network disruption began 46 seconds after phantom removal

⏱️ Timeline of Destruction

TimeEvent
23:37:00Victim removes phantom device
23:37:46Network disruption begins
23:38:09Socket flows failed
23:38:22iCloud connection lost
23:38:48VPN tunnel stopped
~23:40System crash β€” logs destroyed

Result: 30-day log retention shows gap exactly at resolution window.

5. OpenID Connect (OIDC) Attack Surface

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                   OIDC AUTHENTICATION FLOW                                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚                        β”‚      β”‚                        β”‚      β”‚                        β”‚
     β”‚   USER AGENT           β”‚      β”‚   RELYING PARTY         β”‚      β”‚   IDENTITY PROVIDER    β”‚
     β”‚   (Browser)            β”‚      β”‚   (App)                 β”‚      β”‚   (Apple / Google)     β”‚
     β”‚                        β”‚      β”‚                        β”‚      β”‚                        β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚                               β”‚                               β”‚
                 β”‚  1. Login request             β”‚                               β”‚
                 β”‚ ─────────────────────────────►│                               β”‚
                 β”‚                               β”‚                               β”‚
                 β”‚  2. Redirect to IdP           β”‚                               β”‚
                 β”‚ ◄─────────────────────────────│                               β”‚
                 β”‚                               β”‚                               β”‚
                 β”‚  3. Authenticate with IdP                                     β”‚
                 β”‚ ─────────────────────────────────────────────────────────────►│
                 β”‚                               β”‚                               β”‚
                 β”‚  4. ID Token (JWT)                                            β”‚
                 β”‚ ◄─────────────────────────────────────────────────────────────│
                 β”‚                               β”‚                               β”‚
                 β”‚  5. Token to RP               β”‚                               β”‚
                 β”‚ ─────────────────────────────►│                               β”‚
                 β”‚                               β”‚                               β”‚
                 β”‚                               β”‚  6. Validate token           β”‚
                 β”‚                               β”‚ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ β–Ίβ”‚
                 β”‚                               β”‚                               β”‚

⚠️ VULNERABILITY POINTS:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  β€’ Token confusion: Relying party accepts token from wrong issuer                            β”‚
β”‚  β€’ Mutable ID: Using email instead of stable `sub` claim                                     β”‚
β”‚  β€’ Discovery attack: Trusting attacker-controlled metadata                                   β”‚
β”‚  β€’ Session hijack: Stolen tokens replayed for device authentication                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Both Apple and Google use OIDC β€” vulnerabilities in implementation can create cross-platform attack surfaces

πŸ”— Common OIDC Vulnerabilities

  • Token confusion β€” Relying party accepts token from wrong issuer
  • Mutable ID β€” Using email instead of stable sub claim
  • Discovery attack β€” Trusting attacker-controlled metadata
  • Session hijack β€” Stolen tokens replayed for device auth

6. Attack Timeline Visualization

Jan 25                                                                                    Feb 2
  β”‚                                                                                         β”‚
  β–Ό                                                                                         β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚                                    8-DAY DoS WINDOW                                      β”‚
  β”‚                                                                                         β”‚
  β”‚   Pixel         Phantom           rapportd loop              Find My       Remove     β”‚
  β”‚   online        injected          ════════════════════      enabled       device     β”‚
  β”‚     β”‚             β”‚                      β”‚                       β”‚            β”‚       β”‚
  β”‚     β–Ό             β–Ό                      β–Ό                       β–Ό            β–Ό       β”‚
  β”‚   11:49        ~12:00             141,575 errors              23:23        23:37     β”‚
  β”‚    AM                               70x baseline                                       β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                              β”‚
                                              β–Ό
                                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                    β”‚  LOOP STOPPED        β”‚
                                    β”‚  IMMEDIATELY         β”‚
                                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                              β”‚
                                              β–Ό
                                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                    β”‚  46 sec later:       β”‚
                                    β”‚  Network attack      β”‚
                                    β”‚  + System crash      β”‚
                                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

8-day DoS window: Jan 25 (injection) β†’ Feb 2 (removal) β†’ Loop stopped instantly

πŸ“… Key Moments

Date/TimeEvent
Jan 25, 11:49 AMPixel 7 Pro briefly online
~Jan 25, 12:00Phantom device injected
Jan 25 - Feb 2141,575 rapportd errors (70x baseline)
Feb 2, 23:23Find My Mac enabled β€” phantom discovered
Feb 2, 23:37Phantom removed β€” loop stopped instantly

7. What We Need From Apple (CCPA Request)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                      CCPA DATA REQUEST                                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                                 β”‚
β”‚   REQUESTED DATA:                                                                              β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚   β”‚  β€’ Device addition logs for "Hana's MacBook Pro"                                         β”‚  β”‚
β”‚   β”‚  β€’ IP address used to add the device                                                     β”‚  β”‚
β”‚   β”‚  β€’ Authentication method (was 2FA bypassed?)                                             β”‚  β”‚
β”‚   β”‚  β€’ Session details (device/browser/API used)                                             β”‚  β”‚
β”‚   β”‚  β€’ Account access logs Jan 1 - Feb 6, 2026                                               β”‚  β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                                                 β”‚
β”‚   DEADLINE: March 23, 2026 (45 days)                                                           β”‚
β”‚                                                                                                 β”‚
β”‚   IF DATA SHOWS:                                                                               β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚   β”‚  IP β‰  victim's known IPs      β†’   PROVES unauthorized access                            β”‚  β”‚
β”‚   β”‚  No 2FA in logs               β†’   PROVES bypass/compromise                              β”‚  β”‚
β”‚   β”‚  Device/browser mismatch      β†’   PROVES attacker fingerprint                           β”‚  β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Apple's server logs can prove unauthorized access β€” awaiting CCPA response by March 23, 2026

πŸ“‹ Requested Data

  • Device addition logs for "Hana's MacBook Pro"
  • IP address used to add the device
  • Authentication method (was 2FA bypassed?)
  • Session details (device/browser/API used)
  • Account access logs Jan 1 - Feb 6, 2026

What This Could Prove

  • IP β‰  victim's known IPs β†’ Proves unauthorized access
  • No 2FA in logs β†’ Proves bypass/compromise
  • Device/browser mismatch β†’ Proves attacker fingerprint

Summary

DiagramKey Insight
1. Normal Auth FlowUser initiates, 2FA required, correct naming
2. Attack FlowAttacker intercepts, bypasses 2FA, wrong capitalization
3. rapportd LoopNo backoff = infinite DoS from phantom device
4. Evidence DestructionCrash 46 sec after removal destroyed logs
5. OIDC SurfaceShared auth layer creates cross-platform risks
6. Timeline8 days of DoS, stopped instantly on removal
7. CCPA RequestApple's logs can prove unauthorized access

Sign Up for Our Newsletter

Enter your email for more cybersecurity defense strategies.

You have Successfully Subscribed!