Il faut reconnaître à Linux la puissance de ses lignes de commandes même si parfois cela donne des résultats surprenants voir désagréables ..
En effet une simple ligne de commande peut se transformer en keylogger ...
xinput fait partie de ces commandes rarement utilisées par le commun des mortels mais qui peut se révéler très indiscrète .
La preuve :
1) Dans un terminal , taper : xinput --list
Vous devriez avoir un résultat du genre de celui ci-dessous:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0 id=9 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0 id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0 id=8 [slave keyboard (3)]
↳ spca561 id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
2) Puis il faut chercher l'"id" correspondant au clavier avec la commande xinput --test id
Dans l'exemple ci-dessus, xinput --test 4 ne donne pas le résultat attendu , par contre xinput --test 12 donne un résultat correct en testant les touches du clavier :
key release 36
key press 46
lkey release 46
^C
On a trouvé l'id correspondant au clavier.
3) Il suffit d'ouvrir un terminal , de taper la commande xinput --test 12 pour pouvoir enregistrer toutes les frappes du clavier.
Amusez-vous à continuer le test en ouvrant un terminal sous root, et vous verrez que les saisies sous ce terminal seront elles aussi enregistrées .....
Info butinée ICI
Ah ouais, quand même !
RépondreSupprimerPar contre, quand on tente de rediriger la sortie dans un fichier, ça ne fonctionne pas :
xinput test 12 > /tmp/log
Par ailleurs, je n'ai pas trouvé le moyen d'obtenir en sortie les lettres plutôt que les codes des touches (c'est pas très dur à faire, mais vu qu'on ne peut pas écrire le résultat dans un fichier, ça complique les choses).
@®om
RépondreSupprimerJette donc un coup d'oeil sur le lien ci-dessous, cela te donnera peut-être une solution , =;)
http://sh.kirsle.net/keylog2
Bonjour,
RépondreSupprimerOk c'est faisable en perl notamment. Qqun sait-il pourquoi la redirection dans un fichier ne fonctionne pas ?
Alain
Suite du commentaire précédent
RépondreSupprimerSous Ubuntu 10.10, ceci a l'air de fonctionner
term1 :
$ xinput test -proximity 11 > /tmp/keyb.log &
$ jobs
[1]+ Running xinput test -proximity 11 > /tmp/keyb.log &
term2 :
$tail -f /tmp/keyb.log
NB : il faut taper un certain nombre de données avant de voir apparaître qqchose (buffer ?)
Alain
xinput --list
RépondreSupprimercommande introuvable
sur ma Debian Squeeze
Donc la routine n'est pas installée donc aucun risque
http://blog.rom1v.com/2011/11/keylogger-sous-gnulinux-enregistrer-les-touches-tapees-au-clavier/
RépondreSupprimer