הקדמה
עולם ה-RFID ו-NFC משמעותי, ישנם מספר טכנולוגיות שונות, חלקן בטוחות יותר - חלקן בטוחות פחות, התדרים שונים, הציוד הנדרש בכרטיס לקרוא\לכתוב שונה, הפיצ’רים שונים… מה שהופך את התחום למעט קשה לכניסה הראשונית בעקבות הבילבול בציוד. אין בכוונתי לפרט יותר מדי לגבי כל הטכנולוגיות הקיימות בספקטרום, שכן גם אינני מומחה בתחום, מעבר לטכנולוגיה הספציפית שבכותרת הפוסט. אמליץ למי שרוצה להבין בסקופ רחב יותר, לקרוא את המאמר של אפיק שהתפרסם בדיגיטל ויספר 2 - RFID Hacking.
הצ’יפ MIFARE פועל בתדר 13.56Mhz והוא מיישם את ההגדרות הקיימות ב-ISO-14443 Type A (חלק מהן), NXP ייצרה פרוטוקול משלה עבור אימות והצפנה בשם Crypto-1. הצפנה זו פגיעה למתקפות שונות, אבל כמו שנראה בדוגמה היום, בחלק מהמקרים יש פשוט שימוש במפתח הדיפולטיבי מה שמקל על ההעתקה עוד יותר.
טכנולוגיה זו משמשת לרוב כאמצעי זיהוי ומתן הרשאות גישה פיזית על בסיסן (כניסה למשרד, או לחדר ספציפי). כאשר “מקודדים” לכם כרטיס, למעשה שמים מידע מסויים על הכרטיס ומשייכים אותו לזהות שלכם בארגון, ובעזרת המידע הזה שמופיע על הכרטיס נקבע לאן בארגון אתם יכולים לגשת.
אזהרה
העתקת כרטיס שלא שייך לכם, והשגת גישה למקום שאתם לא אמורים להימצא בו - הינו עבירה על החוק.
ציוד נדרש
- לינוקס.
- תוודאו כי החבילה
nfc-libs
מותקנת. - שהחבילה
mfoc
מותקנת או בנויה מקומית ומוכנה להרצה (בהפצות כגון Kali ו-Parrot תוכלו למצוא את החבילה במנהל חבילות).
- תוודאו כי החבילה
- קורא\כותב כרטיסי RFID שתומך ב-Mifare Classic.
- אני משתמש ב-ACR122U.
- כרטיס ריק בטכנולוגית Mifare Classic או אחת שמבצעת חיקוי (emulate).
- כרטיס סיני כלשהו שמאפשר לשנות את ה-UID של הכרטיס.
פקודות
ראשית, תוודאו כי הקורא כרטיסים מזוהה nfc-scan-device
שימו את הכרטיס הריק על הקורא, ותקראו את התוכן שלו mfoc -P 500 -O blank.mfd
, זה יקח כמה שניות עד כמה דקות, תלוי במפתח
לאחר מכן תעבור אל הכרטיס שאתם רוצים להעתיק ותריצו את אותה פקודה, רק עם שם קובץ אחר mfoc -P 500 -O copyme.mfd
, שוב, התהליך יקח בין כמה שניות לכמה דקות
כעת, שיש לכם את שני הקבצים blank.mfd
ו-copyme.mfd
שימו שוב הכרטיס הריק ותעתיקו אליו את התוכן בעזרת הפקודה nfc-mfclassic W a blank.mfd copyme.mfd
תוודא כי התוכן זהה בעזרת הפקודה nfc-list
.