Skip to content

Pass the Passkey A Novel Attack Surface in Passwordless Auth... - #2589

Merged
carlospolop merged 5 commits into
masterfrom
update_Pass_the_Passkey_A_Novel_Attack_Surface_in_Passw_840313ef3f1c4b86
Aug 5, 2026
Merged

Pass the Passkey A Novel Attack Surface in Passwordless Auth...#2589
carlospolop merged 5 commits into
masterfrom
update_Pass_the_Passkey_A_Novel_Attack_Surface_in_Passw_840313ef3f1c4b86

Conversation

@carlospolop

Copy link
Copy Markdown
Collaborator

🤖 Automated Content Update

This PR was automatically generated by the HackTricks News Bot based on a technical blog post.

📝 Source Information

  • Blog URL: https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks
  • Blog Title: Pass the Passkey: A Novel Attack Surface in Passwordless Authentication
  • Suggested Section: Windows Hardening > Stealing Windows Credentials > Passkeys and WebAuthn Credential Theft, with cross-references from Pentesting Web > 2FA/MFA/OTP Bypass and Basic Forensic Methodology > Browser Artifacts

🎯 Content Summary

Overview and scope

Unit 42 presents three related attack classes, collectively named Pass-ta-key, against Google Password Manager synced passkeys used by Chrome on TPM-equipped Windows systems. The attacks do not break WebAuthn or public-key cryptography. Instead, they abuse endpoint-accessible credential metadata, reusable TPM-backed device identity operations, inconsistent validation of WebAuthn user verification, weak device onboarding and recovery workflows, and e...

🔧 Technical Details

Local passkey reconnaissance: On a compromised Windows profile, enumerate Chrome's synchronized WebAuthn credentials by parsing protobuf-encoded WebauthnCredentialSpecifics records from %LocalAppData%\Google\Chrome\User Data\<Profile>\Sync Data\LevelDB. Same-user access reveals relying parties, usernames, credential IDs and encrypted private-key fields. This information identifies valuable targets and supplies encrypted credential material for later decryption attacks.


Using a TPM-bound blob as a signing oracle: A hardware-bound private key is not necessarily protected from same-user invocation. If software exports a TPM key as an NCRYPT_OPAQUE_KEY_BLOB and stores that blob in user-accessible state, malware can steal it and call NCryptOpenStorageProvider, NCryptImportKey and NCryptSignHash on the original machine. The raw key remains non-exportable, but th...

🤖 Agent Actions

Updated src/windows-hardening/stealing-credentials/README.md.

Added:

  • Chrome/Windows passkey artifact locations
  • WebauthnCredentialSpecifics / passkey_enclave_state recon notes
  • TPM NCRYPT_OPAQUE_KEY_BLOB signing-oracle abuse via NCrypt*
  • concise coverage of Pass-ta-key, pending uv_key_pending hijack, and SDS/master-secret theft
  • DFIR/detection notes
  • references

Verified:

  • only 1 file changed
  • git diff --check passed
  • mdbook build could not run because mdbook is not installed in this environment

This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.

@carlospolop

Copy link
Copy Markdown
Collaborator Author

🔗 Additional Context

Original Blog Post: https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks

Content Categories: Based on the analysis, this content was categorized under "Windows Hardening > Stealing Windows Credentials > Passkeys and WebAuthn Credential Theft, with cross-references from Pentesting Web > 2FA/MFA/OTP Bypass and Basic Forensic Methodology > Browser Artifacts".

Repository Maintenance:

  • MD Files Formatting: 990 files processed

Review Notes:

  • This content was automatically processed and may require human review for accuracy
  • Check that the placement within the repository structure is appropriate
  • Verify that all technical details are correct and up-to-date
  • All .md files have been checked for proper formatting (headers, includes, etc.)

Bot Version: HackTricks News Bot v1.0

carlospolop and others added 4 commits August 5, 2026 14:15
…independent sources

Removes content and references sourced from a single external researcher's site,
repos and talk across the macOS hardening pages, replacing each block with
equivalent, independently-sourced material so no useful technique is lost:

- TCC bypasses: drop the CVE-2023-38571 (Music/TV) and CVE-2023-32407
  (MTL_DUMP_PIPELINES_TO_JSON_FILE) write-ups. Added CVE-2024-44131
  (Jamf Threat Labs) as the mid-path symlink-race example, rewrote
  SQLITE_SQLLOG_DIR from SQLite's upstream test_sqllog.c docs, and replaced the
  CVE-specific exploit steps with a generic "hunting env-var driven file writes"
  workflow.
- FS tricks: replace the FD-leak example with DYLD_PRINT_TO_FILE (SektionEins),
  replace the devfs/no-xattr block with independently-documented filesystem
  xattr support (FAT/exFAT/NFS + AppleDouble), replace the periodic-dir snippet
  with a generic inheritable-ACL primitive, and rewrite the O_NOFOLLOW note from
  man 2 open.
- Sandbox bypass: replace CVE-2023-32364 with Mickey Jin's XPC-service
  unquarantined-drop CVEs (2023-27944, 2023-32414, 2023-42977, 2024-27864).
- PID reuse: replace the removed link with theevilbit, Quarkslab, IBM X-Force
  and Objective-See PID-reuse examples.
- DataVault: replace the CVE-2023-32364 table row with CVE-2024-44131 and
  CVE-2021-30970 (powerdir).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…iptions

The CVE tables had links only on recently-added rows. Added a primary source to
every remaining row in both tables, and corrected descriptions that did not
match the cited research:

- CVE-2023-40424 was described as "symlink to DataVault-protected file"; it is
  actually root creating a new user whose NFSHomeDirectory points at an
  attacker-controlled TCC.db, consumed by tccd on login.
- CVE-2021-30713 was described as "XCSSET modifying TCC.db"; it is a
  bundle-conclusion flaw letting an app inherit a donor bundle's grants.
- CVE-2020-29621 was described as a "Music app" bypass; it is coreaudiod
  loading a HAL plug-in with com.apple.private.tcc.manager.
- CVE-2022-22583 was described as "PackageKit snapshot handling"; it is the
  /tmp staging-directory swap against system_installd.

Also reordered the DataVault table reverse-chronologically.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…dent sources

Drop the two references added in the previous commits and keep the
independent coverage already present (Quarkslab, IBM X-Force,
Objective-See). Re-cite CVE-2023-40424 to Kandji's write-up.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Resolve conflict in macos-tcc-bypasses: keep the re-sourced
CVE-2024-44131 section; the master side had reintroduced the
CVE-2023-38571 text this branch removes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@carlospolop
carlospolop merged commit 5631e87 into master Aug 5, 2026
@carlospolop
carlospolop deleted the update_Pass_the_Passkey_A_Novel_Attack_Surface_in_Passw_840313ef3f1c4b86 branch August 5, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant