0Pricing
Cyber Security Academy · Leçon

Capturer et rejouer des signaux

Intercepter et rejouer des transmissions RF.

Capturer et rejouer des signaux est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.

Le concept de l’attaque par rejeu

Une attaque par rejeu est la vulnérabilité RF la plus simple et la plus courante : capturer une transmission légitime, puis la retransmettre plus tard pour reproduire son effet. Aucun déchiffrement n’est nécessaire si le récepteur accepte deux fois le même signal.

Cette méthode fonctionne contre tout appareil dont la commande est une transmission fixe et statique :

  • Les télécommandes de portes de garage bon marché.
  • Les clés-télécommandes automobiles de base sans codes tournants.
  • Les sonnettes sans fil, les capteurs d’alarme et les prises commandées à distance.
  • Certaines télécommandes industrielles pour grues et barrières.

Si un signal capturé fonctionne encore plusieurs minutes ou plusieurs jours plus tard, le système est vulnérable par conception.

Recherche de la fréquence cible

Avant de capturer un signal, identifiez la fréquence sur laquelle l’appareil émet. La plupart des télécommandes grand public utilisent des bandes ISM : 315 MHz (Amérique du Nord), 433,92 MHz (Europe et grande partie du monde), 868 MHz et 915 MHz.

Balayez ces bandes avec un RTL-SDR, appuyez sur la télécommande et observez l’affichage en cascade pour repérer une bouffée d’énergie. L’FCC ID imprimé sur un appareil révèle souvent sa fréquence de fonctionnement exacte grâce aux dossiers réglementaires publics.

# Browse the 433 MHz band live and watch the waterfall
gqrx

# Or auto-identify known devices on the air
rtl_433 -f 433.92M -A

Capture d’une transmission

Une fois la fréquence connue, enregistrez les échantillons bruts I/Q pendant que l’appareil émet. Capturez une salve propre et isolée afin que le signal soit facile à analyser et à rejouer.

Un RTL-SDR en réception uniquement suffit pour la capture ; une émission ultérieure nécessite un HackRF ou un appareil similaire. Notez toujours la fréquence centrale exacte et la fréquence d’échantillonnage utilisées, car vous devrez rejouer le signal avec des paramètres correspondants.

# Capture raw I/Q at 433.92 MHz, 2 Msps
rtl_sdr -f 433.92M -s 2048000 -n 4096000 remote.iq

# Capture with HackRF for later transmit on the same hardware
hackrf_transfer -r remote.iq -f 433920000 -s 2000000

Rejeu avec un émetteur

Pour effectuer le rejeu, réémettez le fichier I/Q capturé sur la même fréquence et avec la même fréquence d’échantillonnage, à l’aide d’un matériel capable d’émettre tel qu’un HackRF.

Comme le récepteur compare la forme d’onde brute, une retransmission exacte reproduit la commande d’origine. Effectuez toujours le rejeu dans une enceinte blindée, sauf si vous disposez d’une autorisation explicite et d’une autorisation légale d’émettre.

# Replay the captured file with HackRF
hackrf_transfer -t remote.iq -f 433920000 -s 2000000 -x 40

# -x sets TX gain; keep it minimal and use proper antennas

Décodage plutôt que rejeu aveugle

Le rejeu aveugle fonctionne, mais le décodage du signal vous apprend davantage et permet des attaques plus ciblées. Des outils comme Universal Radio Hacker (URH) vous permettent de démoduler la salve, de reconstituer le flux de bits et d’en identifier la structure.

  • Repérez le préambule et le mot de synchronisation.
  • Déterminez le débit de symboles et le codage (souvent Manchester ou PWM).
  • Localisez la charge utile statique de la commande.

Une fois le signal décodé, vous pouvez créer de nouvelles transmissions, soumettre les champs à des valeurs variées ou vérifier si une partie du message change entre deux pressions.

Codes tournants et raisons de l’échec du rejeu

Les télécommandes modernes empêchent le rejeu rudimentaire grâce aux codes tournants (codes à changement de code). Chaque pression utilise un nouveau code calculé à partir d’un secret partagé et d’un compteur incrémenté.

  • L’émetteur et le récepteur restent synchronisés grâce au compteur.
  • Un code capturé devient invalide dès que le récepteur avance au-delà de ce code.
  • Le rejeu d’un ancien code est simplement refusé.

Des systèmes comme KeeLoq ont popularisé cette méthode. Les codes tournants élèvent nettement le niveau de sécurité, mais, comme le montre la scène suivante, des défauts d’implémentation peuvent encore créer des failles.

Contourner les codes tournants : RollJam

Les codes tournants peuvent néanmoins être contournés par une technique de capture et brouillage, célèbre sous le nom de RollJam :

  • L’attaquant brouille le récepteur tout en capturant la première pression sur la télécommande de la victime, sur une bande étroite que le brouilleur ne couvre pas.
  • La télécommande n’a pas fonctionné, si bien que l’utilisateur appuie de nouveau. L’attaquant capture le deuxième code et rejoue le premier.
  • L’attaquant possède alors un code futur inutilisé et encore valide.

Comme le récepteur n’a jamais vu le premier code, celui-ci reste valide. Cette méthode exploite la fenêtre de tolérance du protocole au lieu de casser la cryptographie.

Exploitation de la resynchronisation du compteur des codes tournants

Certains récepteurs à codes tournants acceptent les codes situés dans une fenêtre de resynchronisation afin de tolérer les pressions accidentelles sur un bouton hors de portée. Si cette fenêtre est trop grande ou mal délimitée, un attaquant qui capture plusieurs codes consécutifs peut prédire ou provoquer une resynchronisation.

Les anciennes implémentations de KeeLoq souffraient également d’une récupération de la clé du fabricant : extraire la clé maître d’une seule télécommande permettait de cloner des gammes entières de produits. Il s’agit de défauts d’implémentation, et non de failles du principe des codes tournants lui-même.

Brouillage et déni de service

Le brouillage sature une fréquence de bruit, de sorte que les récepteurs légitimes ne peuvent plus entendre les transmissions valides. Il constitue un élément de base de RollJam et une menace de déni de service à part entière.

  • Les capteurs d’alarme sans fil peuvent être brouillés afin qu’un événement d’ouverture de porte n’atteigne jamais la centrale.
  • Les systèmes d’accès sans clé et les télécommandes peuvent être neutralisés.

Le brouillage est illégal dans presque toutes les juridictions, même pour les essais. Ne le mettez en évidence que dans un laboratoire blindé et avec une autorisation explicite. Son intérêt ici est de comprendre comment les attaquants combinent le brouillage et la capture, et pourquoi les systèmes doivent détecter la perte de signal.

Récapitulatif des outils

Une démarche pratique de capture et de rejeu utilise un ensemble d’outils compact :

  • RTL-SDR — balayage et capture (réception uniquement).
  • HackRF One — capture et émission pour les essais de rejeu.
  • URH — démodulation, décodage et création de signaux.
  • rtl_433 — identification rapide des appareils connus.
  • Flipper Zero — capture et rejeu pratiques sur le terrain de signaux simples inférieurs au GHz.

Le Flipper est apprécié pour montrer le rejeu contre des télécommandes à code statique, mais il est mis en échec par des codes tournants correctement implémentés, ce qui est précisément le point que vous voulez faire comprendre à vos clients.

Se défendre contre le rejeu

Les recommandations issues d’une évaluation du rejeu comprennent :

  • Remplacer les codes statiques par des codes tournants authentifiés ou un mécanisme de défi-réponse.
  • Utiliser des fenêtres de resynchronisation étroites et délimitées, ainsi que des clés cryptographiques uniques par appareil, jamais une clé maître partagée.
  • Ajouter des horodatages ou des nombres à usage unique, afin que chaque commande ne soit valide qu’une seule fois et pendant très peu de temps.
  • Mettre en œuvre une détection du brouillage : les centrales d’alarme devraient traiter toute perte soudaine du signal d’un capteur comme un événement de sabotage.
  • Privilégier les protocoles bidirectionnels, dans lesquels le récepteur confirme chaque commande.

Le principe fondamental est le suivant : une commande qui peut être enregistrée puis rejouée à l’identique est compromise. Chaque action autorisée doit être rendue unique par la cryptographie.

Vérification rapide

Vérifiez votre compréhension des attaques par rejeu contre les codes tournants.

Récapitulatif

Vous pouvez désormais capturer, analyser et rejouer des signaux RF, ainsi que raisonner sur leurs défenses :

  • Une attaque par rejeu retransmet une commande statique capturée et fonctionne contre les télécommandes à code fixe.
  • Flux de travail : trouver la fréquence dans les bandes ISM, capturer les signaux I/Q avec RTL-SDR, les rejouer avec HackRF et les décoder avec URH.
  • Les codes tournants contrecarrent le rejeu naïf, mais RollJam (capture et brouillage), les fenêtres de resynchronisation trop larges ou les clés maîtresses partagées peuvent rouvrir la brèche.
  • Le brouillage est illégal en dehors de laboratoires protégés et autorisés, et constitue le fondement des attaques par déni de service et de type RollJam.
  • La défense exige des commandes authentifiées à usage unique, une resynchronisation limitée, des clés propres à chaque appareil et la détection du brouillage.

Vous achevez ainsi le cours de piratage RF et sans fil : des fondamentaux de la SDR au Bluetooth, aux communications sans contact et au rejeu de signaux.

Questions Fréquemment Posées

La leçon « Capturer et rejouer des signaux » est-elle gratuite ?

Oui — le texte complet de « Capturer et rejouer des signaux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Capturer et rejouer des signaux » ?

Intercepter et rejouer des transmissions RF. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?

Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Capturer et rejouer des signaux » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?

Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Fondamentaux de RF et de SDR
  2. Attaques contre Bluetooth et BLE
  3. Sécurité de RFID et NFC
  4. Capturer et rejouer des signaux
← Retour à Cyber Security Academy