
Libreria Python e strumenti per esplorare tag e lettori RFID/NFC: leggere, scrivere, clonare e analizzare l'hardware seriale ACG supportato per ricerca e test di sicurezza.
/* RFIDIOt.py - Strumenti di I/O RFID per python *
Copyright (c) 2006-2026 Adam Laurie [email protected]
*** Questa è la versione Python 3 di RFIDIOt. ***
Esegui tutto con python3. Il codice originale per Python 2.7 è conservato sul branch 'python2.7' e taggato 'v1.0-python2.7' - non funzionerà con python3, e questa versione non funzionerà con python2.
Con un enorme ringraziamento a Pete Shipley (evilpete), che ha realizzato la maggior parte del port a Python 3 e ha contribuito moltissimo al branch python3 che è diventato questa release.
d: Cos'è RFIDIOt? r: Una raccolta di strumenti e librerie per esplorare la tecnologia RFID/NFC, scritta in python.
d: Perché RFIDIOt? r: Mi piacciono i giochi di parole stupidi. Inoltre, parto dal punto di vista di un idiota: non so nulla delle etichette RFID, e ancora meno di python. Per questo mi sentivo un completo idiota quando ho iniziato. :)
d: Come posso contribuire? r: Mandami patch, informazioni, nuovi strumenti, caffè, soldi, droghe e/o una canzone di Miles Davis :)
d: Quale hardware è supportato? r:
d: Come lo installo? r: pip install -r requirements.txt # pycryptodome, pyscard, Pillow, ... (passiveauth usa la CLI di openssl) sudo python3 ./setup.py install Pacchetti di sistema: installa libnfc per i lettori libnfc; per i lettori PC/SC installa il daemon e il driver CCID e assicurati che il daemon sia in esecuzione, ad es. su Debian/ Ubuntu: sudo apt install pcscd libccid pcsc-tools Alcuni strumenti hanno esigenze extra: mrpkey.py usa PIL/Pillow per visualizzare le foto dei passaporti e openssl per la gestione dei certificati; jcoptool.py richiede pyasn1.
d: C'è qualcosa di nuovo nella versione Python 3? r: Oltre al port stesso:
ChAP.py ("Chip And PIN") è un lettore EMV contactless/contact che funziona sia su PC/SC che su libnfc (seleziona il lettore con le opzioni standard - ad es. '-f 0' per libnfc, '-r 1' per uno slot contactless PC/SC). Esegue la scansione della carta (PPSE -> AID -> GPO -> record), decodifica il BER-TLV EMV (AIP, AFL, lista CVM, CDOL/DDOL, Track 2 suddiviso in PAN / scadenza / codice di servizio, informazioni sul crittogramma, ecc.) e legge il registro delle transazioni della carta (importo / data / ora / valuta / ATC per ogni voce). Con '-c' esegue la piena autenticazione dei dati offline - recupera la catena di certificati CA -> Issuer -> ICC (una tabella inclusa di 26 chiavi CA degli schemi: Visa, Mastercard, Amex, CB, JCB, Discover, UnionPay, RuPay, ciascuna verificata contro il proprio checksum CAPK EMVCo) e poi verifica la firma della carta con qualunque metodo supporti la carta:
mrpkey.py legge gli ePassport e passiveauth.py esegue la Passive Authentication (integrità dei data-group + fiducia DS/CSCA) contro una master list CSCA pubblica, contrassegnando un passaporto come SAFE / TAMPERED / UNTRUSTED. rfidiot-cli.py legge anche EMV contactless.
q: Quindi cosa c'è esattamente qui? a: Vedi http://www.rfidiot.org/documentation.html