Linux – KeyLogger
Thursday, May 19th, 2011Suite à mon petit utilitaire Yubikey, j’ai continué à approfondir l’interface proposée par Linux sur les périphériques entrée/sortie.
J’ai donc repris mon code pour capturer les événements d’un périphérique de type clavier. Comme on récupère ceux-ci directement du kernel, toute la phase de traduction côté userland n’est pas faite : les événements font référence à un clavier Américain. Le programme gère le support des touches spéciales ( Control, Alt, Shift, …) pour essayer de savoir si on a fait C ou Ctrl-C. Le code est disponible à l’adresse http://www.murlock.org/code/keylogger-0.1.tar.bz2
Bien sûr, je décline toute responsabilité pour toute utilisation frauduleuse de cet outil.
Pour lancer l’utilitaire (en tant que root), les logs sont disponible dans le fichier trace.log.
# keylogger path_to_dev_entry
Comment détecter l’outil ?
# lsof /dev/input/event1 Output information may be incomplete. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME acpid 1615 root 4r CHR 13,65 0t0 3043 /dev/input/event1 hald-addo 2290 root 4r CHR 13,65 0t0 3043 /dev/input/event1 Xorg 2378 root 28u CHR 13,65 0t0 3043 /dev/input/event1 keylogger 8338 root 3r CHR 13,65 0t0 3043 /dev/input/event1
Exemple: avec changement d’onglet dans un Terminal et exemple de texte capturé
# ./keylogger /dev/input/event1 & BusType : 17 Vendor : 1 Product : 1 Version : 43841 Name : AT Translated Set 2 keyboard Physical Location : isa0060/serio0/input0 # tail -f trace.log Detected default keyboard layout : XKBLAYOUT="fr"
<RIGHTCTRL=1><PAGEDOWN><RIGHTCTRL=0>ceci est un exe;ple de keylogger <UP><HOME><DELETE><RIGHTSHIFT=1>c<RIGHTSHIFT=0>
Autre outil disponible : http://code.google.com/p/logkeys/

