NFC Card Vulnerability Exploitation Leading to Free Top-Up i... #1412
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 Automated Content Update
This PR was automatically generated by the HackTricks News Bot based on a technical blog post.
📝 Source Information
🎯 Content Summary
Product / Scope
KioSoft “Stored Value” unattended payment solution that uses MiFare Classic NFC cards. Assessed cards in the field (as of Q1/2025) were affected; vendor states current firmware/hardware were impacted as of Q2/2025.
CVE
CVE-2025-8699 (Impact: high).
Root cause and system design
The system stores the account balance client-side on a MiFare Classic NFC card and relies on on-card integrity checks. MiFare Classic uses NXP’s proprietar...
🔧 Technical Details
MiFare Classic offline stored-value tampering via broken Crypto1 and differential dumps: When a payment system stores balances on MiFare Classic, use a Proxmark to dump the card (
hf mf autopwn
) and recover keys. Perform differential analysis of multiple dumps (before/after legitimate top-ups) to locate the balance and integrity fields. Recompute the observed XOR-based checksum (value ⊕ unknown field ⊕ constant) after changing the balance, then write the modified dump back to a tag.Cloning with UID-changeable (“Chinese magic”) tags to preserve recognition: Program the modified dump to a writable MiFare Classic clone (
hf mf cload -f ...
) and set its UID to the original (hf mf csetuid -u <uid>
). Many terminals trust the on-card state and the UID for card identity, so the manipulated balance is accepted across readers that do not verify against an online ledger.General defense-in-depth pattern: Avoid offline...
🤖 Agent Actions
I explored the repository and found existing, relevant pages under src/todo/radio-hacking that cover RFID/NFC and Proxmark usage:
Given the blog’s content is highly technical and directly related to MiFare Classic exploitation, I updated existing pages instead of creating new ones. I focused on adding the concrete exploitation workflow with Proxmark commands and the methodology (differential dumps, checksum recomputation), keeping vendor-specific constants/PoC redactions in mind and abstracting the technique.
Changes implemented:
File: src/todo/radio-hacking/pentesting-rfid.md
File: src/todo/radio-hacking/proxmark-3.md
Why these locations?
References added (both updated files include a references section at the end):
No new files were created. The updates adhere to HackTricks style, include code blocks, keep existing content intact, and add internal references where appropriate.
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.
🗑️ File Cleanup