iOS: Keychain Extraction & Layered Secret Recovery
Scenario
You have a jailbroken test device. An app stashes a session secret in the iOS keychain with weak kSecAttrAccessible protection, readable while the device is unlocked.
Attack path
- Use
keychain_dumper(or an objectionios keychain dump) to list items. - Locate the
SecretBlobentry belonging to the target bundle id. - Developers layered three cheap transforms hoping to slow analysts down.
Recover the flag
Peel the layers in order: reverse the string → From Base64 → ROT13 (Caesar 13). CyberChef stacks these cleanly. The result is your per-user flag.
Sign in to unlock escalating hints for this expert lab.
sJMwLwWxMQqzAwNjMy8kZQZgp2Acp25ypz9zYJguMKWvoTyunv1hnJSbL3yynl1mo2y7L2t=
Apply each step IN REVERSE ORDER: 1. Caesar cipher — shift 13. Letters wrap; non-letters preserved. 2. Decode the base64 blob to recover the flag. 3. The flag has been reversed character-by-character. Reverse it back.
// this payload is unique to your account — decode it, then submit the recovered hc{...} flag below