OSX v10.9 Hash

Technical details, regex signatures, and cracking commands for the OSX v10.9 algorithm.

Regex Identification Signature:
^\$ml\$[0-9]+\$[a-f0-9]{64}\$[a-f0-9]{128}$
Hashcat Command (Mode: 7100):
John the Ripper Command:
← Back to Hash Identifier

What is OSX v10.9?

The OS X v10.9 cryptographic hash format, colloquially known as "OSX v10.9" or "Mavericks" hashes, emerged as an evolution of Apple’s password storage scheme, designed to enhance security over its predecessor, the OS X v10.8 (Mountain Lion) format. Structurally, it employs a layered hashing mechanism combining **PBKDF2-HMAC-SHA1** with a **salted iteration count of 20,000**, followed by a secondary **SHA-1 hash of the result**, producing a 160-bit (44-character hexadecimal) output. This format was introduced to mitigate the growing threat of GPU-accelerated brute-force attacks by increasing computational overhead, though it retained the same core architecture as its predecessor. The primary use-case was securing user credentials in Apple’s local authentication system (e.g., login.keychain), where it balanced performance with defense-in-depth against offline attacks. Unlike modern schemes like bcrypt or Argon2, OS X v10.9 lacks adaptive work factors, relying instead on a fixed iteration count, which became a critical flaw over time.

The OS X v10.9 format is vulnerable to cracking primarily due to its **predictable iteration count (20,000)** and **lack of salt randomness in storage**, enabling attackers to precompute or optimize attacks. Modern GPU clusters (e.g., using CUDA or OpenCL) can evaluate 20,000 PBKDF2 iterations per password attempt at high throughput, reducing offline cracking times to minutes for weak passwords. Additionally, the **SHA-1 final hash** is susceptible to collision attacks, though this is less critical for password storage than for digital signatures. The absence of a **per-password salt in the stored hash** allows attackers to batch-process hashes with identical salts, further accelerating cracking via rainbow tables or rule-based attacks. Finally, the fixed iteration count renders it incompatible with modern security standards, as it cannot adapt to increasing computational power, making it vulnerable to **time-memory tradeoff attacks** (e.g., optimized rainbow tables) and **dictionary-based cracking** with GPU farms.

Identifying OSX v10.9 Hashes

Identifying a hash blindly is often difficult because multiple algorithms can output strings of the exact same length. For example, a standard 32-character hexadecimal string could be MD5, NTLM, MD4, or LM. To definitively identify OSX v10.9, security researchers analyze the hash against a strict regular expression (regex) signature (shown above) to find structural matches.

How to Crack OSX v10.9

If you need to recover the plaintext password for a OSX v10.9 hash during a penetration test or forensics investigation, you must supply the correct module ID to your cracking software. Use the exact commands provided at the top of this page to target the hash successfully.