1️⃣ Objectif Apache
Ce projet te permet de construire un générateur de signaux RFID 125 kHz capable de produire des signaux réels et fonctionnels pour les protocoles EM4100 et HID Prox, destinés à tester les lecteurs RFID dans un environnement de laboratoire contrôlé. Contrairement à une simple simulation, ce circuit utilise un quartz pour une fréquence ultra-stable, un microcontrôleur ATtiny85 pour moduler les données avec précision, et un amplificateur RF pour un signal clair. Avec une portée éthique de 2 à 5 cm, des protections avancées (diode, fusible PTC), et une calibration fine via potentiomètre, il est conçu pour des démonstrations de sécurité professionnelles et éthiques, sensibilisant aux vulnérabilités des systèmes RFID.
- Sécurité : Identifier et démontrer les vulnérabilités des lecteurs RFID de manière éthique.
- Hacking : Générer des signaux RFID précis avec modulation multi-protocoles.
- Fiabilité : Assurer une stabilité de fréquence et une protection des composants pour un usage intensif.
- Budget : Environ 25 € avec des composants récupérés ou achetés.
| Caractéristique | Valeur |
|---|---|
| Fréquence | 125 kHz (±1%) |
| Portée | 2-5 cm |
| Protocoles | EM4100, HID Prox |
| Alimentation | 5V stabilisé (pile 9V) |
2️⃣ Matériel Professionnel
Procure-toi ou récupère les composants suivants pour un circuit robuste et précis.
- MOSFET RF (BS170) : 0,50 € sur Aliexpress.
- Quartz (125 kHz) : 2,00 €.
- Bobine (1mH, 100 spires fil émaillé 0.2mm, blindage cuivre) : 2,50 €.
- Condensateurs (10nF céramique x1, 100pF céramique x1, 100µF électrolytique x1) : 0,80 €.
- Résistances (10kΩ x3, 1kΩ x2) : 0,50 €.
- Microcontrôleur (ATtiny85) : 2,00 €.
- Amplificateur RF (LM386) : 1,00 €.
- Régulateur 5V (LM7805) : 0,50 €.
- Diode (1N4148, protection) : 0,20 €.
- Fusible PTC (auto-réarmable, 500mA) : 0,50 €.
- Pile 9V + connecteur : 2,00 €.
- Boutons-poussoirs (x3, pour sélection protocoles) : 1,50 €.
- Interrupteur glissière (on/off pour bobine) : 1,00 €.
- Potentiomètre (10kΩ, calibration fréquence) : 1,00 €.
- LED RGB (témoin de fréquence) : 0,50 €.
- Connecteur jack 3.5mm (sortie oscilloscope DIY) : 0,50 €.
- Connecteur JTAG/SWD (programmation ATtiny85) : 1,00 €.
- PCB personnalisé (optionnel, conçu avec KiCad) : 5,00 €.
- Fils, plaque d’essai : 2,00 €.
Coût total : Environ 25 € avec des composants récupérés ou achetés.
3️⃣ Schéma Électronique Professionnel
Ce schéma ASCII détaille le circuit pour un montage précis et fonctionnel.
SCHÉMA RFID BADGE GENERATOR PRO
+-----------------------------+
| [Pile 9V]--[PTC]--[LM7805]--[100µF]--[5V]
| [Quartz 125kHz]--[BS170]--[L1:1mH]--[1N4148]
| [C1:10nF]--[C2:100pF]--[Pot:10kΩ]
| [ATtiny85]--[Btn1]--[Btn2]--[Btn3]
| [LM386]--[Jack 3.5mm]--[LED RGB]
| [R1-R3:10kΩ, R4-R5:1kΩ]--[GND]
+-----------------------------+
Le MOSFET BS170 et le quartz à 125 kHz génèrent un signal stable. L’ATtiny85 module les protocoles EM4100 et HID Prox. L’amplificateur LM386 renforce le signal, la LED RGB indique la fréquence, et le connecteur jack 3.5mm permet une analyse via oscilloscope. Le régulateur LM7805 fournit une alimentation stable, la diode 1N4148 et le fusible PTC protègent les composants.
4️⃣ Montage Pas à Pas
Construis ton générateur avec une précision chirurgicale pour garantir des performances optimales.
- Base du circuit : Place les composants sur une plaque d’essai ou un PCB personnalisé conçu avec KiCad. Connecte la pile 9V via un fusible PTC (500mA) à l’entrée du régulateur LM7805. Ajoute un condensateur électrolytique de 100µF entre la sortie 5V et la masse pour lisser l’alimentation.
ALIMENTATION +-------------+ | [Pile 9V] | | [PTC]--[LM7805]--[100µF] | [5V]--[GND] | +-------------+ - Oscillateur RF : Enroule 100 spires de fil émaillé (0.2mm, Ø 5cm) pour la bobine L1, avec un blindage en cuivre pour réduire les interférences. Connecte L1 à un condensateur de 10nF (C1), au quartz de 125 kHz, et au drain du MOSFET BS170. Le gate du BS170 est connecté à une résistance de 10kΩ (R1) et à un condensateur de 100pF (C2), la source à la masse. Place une diode 1N4148 en antiparallèle sur L1 pour protéger contre les tensions inverses.
OSCILLATEUR +-------------+ | [Quartz 125kHz] | | [BS170]--[L1]--[1N4148] | [C1:10nF]--[C2:100pF] +-------------+ - Modulation : Connecte la broche PB0 de l’ATtiny85 au gate du BS170 via une résistance de 10kΩ (R2). Branche trois boutons-poussoirs aux broches PB1, PB2, et PB3 de l’ATtiny85 pour sélectionner les protocoles (Btn1: EM4100, Btn2: HID Prox, Btn3: test aléatoire). Ajoute un connecteur JTAG/SWD à l’ATtiny85 pour programmer les firmwares.
MODULATION +-------------+ | [ATtiny85] | | [PB0]--[R2]--[BS170] | [PB1-PB3]--[Btn1-Btn3] | [JTAG/SWD] | +-------------+ - Amplification et sortie : Relie le drain du BS170 à l’entrée de l’amplificateur LM386. Connecte la sortie de l’LM386 à un connecteur jack 3.5mm pour une analyse via oscilloscope DIY (ex. PulseView). Branche une LED RGB via une résistance de 1kΩ (R4) pour indiquer la fréquence. Ajoute un potentiomètre de 10kΩ entre le gate du BS170 et la masse pour calibrer la fréquence.
SORTIE +-------------+ | [BS170]--[LM386]| | [Jack 3.5mm] | | [LED RGB]--[R4]| | [Pot:10kΩ]--[GND]| +-------------+ - Finalisation : Vérifie minutieusement toutes les connexions. Intègre le circuit dans un boîtier compact récupéré (ex. ancien badge RFID ou boîtier imprimé 3D). Ajoute un interrupteur glissière pour activer/désactiver la bobine, minimisant les émissions accidentelles.
CIRCUIT FINAL +-------------+ | [Boîtier] | | [L1 blindée]| | [LED RGB+Jack]| +-------------+
5️⃣ Connexions Solides
Assure des branchements précis pour garantir la stabilité et la fiabilité du circuit.
Bobine : La bobine L1 (1mH, blindée avec du cuivre) est connectée au condensateur C1 (10nF), au drain du BS170, et à la diode 1N4148 en antiparallèle. Le centre de la bobine reste libre, avec un diamètre de 5 cm pour une émission optimale.
MOSFET : Le BS170 génère l’oscillation. Le drain est relié à L1 et C1, le gate à l’ATtiny85 via R2 (10kΩ) et au potentiomètre de calibration, et la source à la masse.
Microcontrôleur : L’ATtiny85 module les protocoles. La broche PB0 contrôle le BS170, les broches PB1 à PB3 sont connectées aux trois boutons-poussoirs pour sélectionner EM4100, HID Prox, ou un mode test. Le connecteur JTAG/SWD permet de reprogrammer le firmware.
Amplificateur et sortie : L’LM386 amplifie le signal RF, avec sa sortie reliée au connecteur jack 3.5mm pour une analyse via oscilloscope DIY. La LED RGB, connectée via une résistance de 1kΩ (R4), indique la fréquence (vert pour 125 kHz ±1%).
Alimentation : Le régulateur LM7805 fournit une tension stable de 5V, protégé par un fusible PTC auto-réarmable (500mA). Un condensateur de 100µF lisse les fluctuations. L’interrupteur glissière active ou désactive la bobine pour un contrôle précis.
Sécurité : Isole la bobine et les connecteurs pour éviter les courts-circuits. Teste uniquement dans un laboratoire contrôlé, sur des lecteurs RFID autorisés, dans un cadre éthique strict.
6️⃣ Tests Rigoureux
Valide chaque fonction pour garantir des performances professionnelles en laboratoire.
🔍 VÉRIFICATIONS
1. Alimentation : Mesure une tension stable de 5V à la sortie du LM7805 avec un multimètre.
2. Signal RFID : La LED RGB s’allume en vert, et un lecteur RFID réagit à 2-5 cm lorsque Btn1 (EM4100) ou Btn2 (HID Prox) est pressé.
3. Modulation : Les boutons 1 à 3 alternent entre les protocoles EM4100, HID Prox, et un mode test aléatoire. Vérifie la réponse du lecteur.
4. Fréquence : Confirme une fréquence de 125 kHz ±1% à l’aide d’un fréquencemètre DIY ou d’un oscilloscope connecté au jack 3.5mm.
5. Calibration : Ajuste le potentiomètre pour obtenir un signal optimal, vérifié via la sortie jack avec un logiciel comme PulseView.
6. Sécurité : Aucun signal n’est émis sans appui sur un bouton, et le circuit reste inactif lorsque l’interrupteur de la bobine est désactivé.
Fréquencemètre DIY avec Arduino (facultatif) : Utilise ce code simple pour mesurer la fréquence du signal RFID via la sortie jack :
void setup() {
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(2), countPulse, RISING);
}
volatile unsigned long pulses = 0;
void countPulse() { pulses++; }
void loop() {
delay(1000);
float freq = pulses / 1000.0; // Convertir en kHz
Serial.print("Fréquence : ");
Serial.print(freq);
Serial.println(" kHz");
pulses = 0;
}
7️⃣ Déploiement Apache (Lab Only)
Utilise ton générateur comme un professionnel dans un environnement de laboratoire contrôlé.
Placement : Positionne la bobine face au lecteur RFID cible, à une distance de 2 à 5 cm, pour une détection optimale sans dépasser les limites éthiques.
Utilisation : Active l’interrupteur glissière pour alimenter la bobine. Presse Btn1 pour générer un signal EM4100, Btn2 pour HID Prox, ou Btn3 pour un mode test aléatoire. Ajuste le potentiomètre pour calibrer la fréquence si nécessaire. La LED RGB affiche vert lorsque la fréquence est correcte (125 kHz ±1%). Connecte un oscilloscope DIY au jack 3.5mm pour analyser le signal en temps réel.
Éthique : Effectue les tests uniquement sur des lecteurs RFID autorisés dans un cadre de démonstration éducative. Informe tous les participants des objectifs et des limites des tests.
8️⃣ Dépannage Professionnel
En cas de problème, diagnostique et résous avec une approche méthodique.
| Problème | Cause Possible | Solution |
|---|---|---|
| Aucun signal RFID | Bobine L1 ou BS170 défectueux | Teste la continuité de la bobine et remplace le BS170 si nécessaire. |
| LED RGB rouge | Fréquence hors plage | Ajuste le potentiomètre ou vérifie les connexions du quartz. |
| Lecteur ne répond pas | Firmware ATtiny85 corrompu | Reprogramme l’ATtiny85 via le connecteur JTAG/SWD. |
| Pile faible | Tension inférieure à 8V | Remplace la pile 9V et vérifie la sortie du LM7805. |
| Signal instable | Interférences ou blindage défaillant | Renforce le blindage cuivre de L1 et éloigne les sources RF. |
Calibration : Utilise le potentiomètre pour ajuster la fréquence à 125 kHz. Connecte un fréquencemètre DIY ou un oscilloscope au jack 3.5mm pour confirmer la précision.
9️⃣ FAQ Apache
Des réponses claires pour maîtriser ce hack comme un pro.
Question : Ce générateur fonctionne-t-il avec tous les lecteurs 125 kHz ?
Réponse : Oui, il est compatible avec les lecteurs prenant en charge les protocoles EM4100 et HID Prox. Les protocoles moins courants nécessitent une reprogrammation de l’ATtiny85.
Question : Peut-on ajouter d’autres protocoles RFID ?
Réponse : Absolument, reprogramme l’ATtiny85 via le connecteur JTAG/SWD pour inclure d’autres formats de données RFID, en respectant les contraintes éthiques.
Question : Est-il possible d’augmenter la portée au-delà de 5 cm ?
Réponse : Non, la portée est limitée à 5 cm pour des raisons éthiques et pour éviter les interférences non contrôlées. Une portée plus grande nécessiterait des modifications non recommandées.
Question : Est-ce légal d’utiliser ce circuit ?
Réponse : Oui, à condition que l’usage soit strictement éducatif, en laboratoire, et sur des lecteurs autorisés. Vérifie les lois locales concernant les dispositifs RFID.
10️⃣ Optimisations Professionnelles
Repousse les limites de ton générateur pour un impact maximal.
Support multi-fréquences : Ajoute un diviseur de fréquence pour générer des signaux à 134.2 kHz, compatibles avec les systèmes RFID pour animaux, en reprogrammant l’ATtiny85.
Boîtier stealth : Intègre le circuit dans un boîtier de badge RFID usagé ou un design imprimé 3D pour un look discret et professionnel.
Sortie avancée : Connecte un écran OLED (optionnel, via I2C sur l’ATtiny85) pour afficher la fréquence ou le protocole actif, facilitant le debug en temps réel.
Exemple de code ATtiny85 pour EM4100 : Ce code génère un signal EM4100 basique, adaptable via JTAG/SWD :
#define OUT_PIN PB0
void setup() {
pinMode(OUT_PIN, OUTPUT);
}
void loop() {
uint64_t id = 0x1234567890; // ID EM4100
for (byte i = 0; i < 64; i++) {
digitalWrite(OUT_PIN, (id >> (63 - i)) & 0x01);
delayMicroseconds(32); // Timing pour 125 kHz
}
delay(1000); // Pause entre émissions
}