Keylogger Linux sans root ni sudo! Est-ce que c'est réel?

Quelqu'un sur Youtube prétend avoir un keylogger sur Ubuntu qui n'a été ni exécuté ni installé en tant que root. Le lien ci-dessous montre une démonstration de fonctionnement.

Malgré leurs prétentions au contraire, cette personne pourrait l'avoir installé en tant que root avant de démontrer pour la vidéo. Existe-t-il d'autres preuves semi-crédibles que cela est vraiment possible sans root pour l'installation ou l'exécution?

MISE À JOUR: Le logiciel référencé dans la réponse du 24 juin ne serait pas installé sans sudo / root. J'ai ajouté une générosité à celui qui donne un lien vers un logiciel de keylogger Linux qui peut être installé et exécuté avec des privilèges d'utilisateur réguliers.

8 Solutions collect form web for “Keylogger Linux sans root ni sudo! Est-ce que c'est réel?”

Oui, c'est réel. Si vous avez été exploité par un navigateur et qu'un attaquant peut exécuter un code avec vos privilèges d'utilisateur, il peut enregistrer un programme via les installations de démarrage automatique GNOME ou KDE qui exécutent des programmes lors de la connexion. Tout programme peut obtenir des codes de balayage des touches pressées dans X Window System. Il est facilement démontré avec la commande xinput. Voir la publication du blog sur l'isolation GUI pour plus de détails.

Oui c'est possible.
Vous pouvez l'essayer sur votre propre machine avec un logiciel similaire lkl .

Le concept dans cette vidéo est 100% réel et le code est très simple.

Identifiez votre identifiant de clavier avec: xinput --list

xinput --test $id avec: xinput --test $id

xmodmap -pke avec les touches avec: xmodmap -pke

Je n'ai pas regardé la vidéo, alors je réponds à l'impression que j'ai eu de ce qu'il prétend du fil SU plutôt que de la vidéo que vous citez.

Si un attaquant peut exécuter un code sur votre machine en tant qu'utilisateur, vous pouvez enregistrer vos pressions sur les touches.

Eh bien, duh. Toutes les applications que vous utilisez ont accès à vos pressions de touches. Si vous tapez des trucs dans votre navigateur Web, votre navigateur Web a accès à vos pressions clés.

Ah, vous dites, mais qu'en est-il de la saisie des touches presse dans une autre application? Tant que l'autre application est en cours d'exécution sur le même serveur X, elles peuvent encore être enregistrées. X11 n'essaie pas d'isoler les applications, ce n'est pas son travail. X11 permet aux programmes de définir des raccourcis globaux, ce qui est utile pour les méthodes d'entrée, pour définir des macros, etc.

Si l'attaquant peut exécuter le code en tant qu'utilisateur, il peut également lire et modifier vos fichiers et causer toutes sortes d'autres dommages.

Ce n'est pas une menace. Cela fait partie des attentes normales d'un système de travail. Si vous autorisez un attaquant à exécuter un code sur votre machine, votre machine n'est plus en sécurité. C'est comme si vous ouvrez votre porte d'entrée et vous permetz à un meurtrier de hache: si vous êtes ensuite cloué en deux, ce n'est pas parce que votre porte d'entrée est peu sûre.

L'enregistreur de touche ne peut enregistrer que les touches appuyées par l'utilisateur infecté. (Au moins aussi longtemps que l'utilisateur infecté ne tape pas le mot de passe sudo).

C'est 100% possible. Pour ttys / ptys (mode texte), le moyen le plus simple est d'ajouter une cale à / bin / {ba, da, a} sh (par exemple, un deuxième segment de code, RX) et changer le point d'entrée (autant qu'un ELF Le virus serait). Sauf accès à cela dans ce cas, on peut modifier ~ / .profile ou ~ / .bashrc (etc.), en tant que modèle hypothétique très simple:

Exec ~ / .malicious_programme

Qui peut charger un code d'objet partagé dynamique pour cacher le programme malveillant en question (exemple: autoriser .profile lire et modifier, mais cacher la ligne. Et / ou masquer le programme.)

On peut alors utiliser le système UNIX98 pty (7) ou même simplement le tuyau (2) pour enregistrer toutes les entrées dans un shell forgé, en supposant que le fd n'est pas marqué FD_CLOEXEC, et même changer l'entrée des utilisateurs dans le shell.

Dans X11, bien que kdm / gdm / xdm s'exécute comme root setuid (ou l'équivalent en capacités [voir setcap (8)] ou quel que soit le modèle de sécurité que vous utilisez si non par défaut), les choses deviennent plus compliquées, évidemment. Si l'on peut élever les privilèges? Iopl (2) ou ioperm (2) rend la vie assez facile avec un accès direct aux ports de clavier 0x60 / 0x64 sur x86. Comme nous supposons que vous ne le pouvez pas, nous devons rechercher un itinéraire alternatif. Je connais plusieurs, mais je ne suis pas tout à fait sûr de vouloir une dissertation sur la façon dont il est possible et les interfaces impliquées.

Il suffit de dire que l'anneau 3, les trojans non-super-utilisateurs sont tout à fait possibles sur * nix, en dépit de l'isolement des processus, en raison de divers problèmes (en particulier avec X) qui ont ajouté des fonctionnalités pour les démons de mode utilisateur à fournir, par exemple, un texte À la parole pour toutes les applications sans compromettre la sécurité du système. J'ai déjà décrit un qui fonctionne de manière analogue à ttnnooops (ce qui dépasse sa date d'expiration), et il ne nécessite pas de racine. J'ai un exemple de code pour ce cas (ce qui inclurait les terminaux intérieurs dans X), mais je ne l'ai pas encore publié. Si vous souhaitez plus d'informations, n'hésitez pas à me contacter.

Oui, il est possible d'installer un logiciel sans privilèges su ou sudo; Cependant, cela se fait généralement par un exploit d'escalade de privilèges. Cette vidéo fait un très bon travail sur les capacités de ce keylogger, mais elle laisse un peu de détails sur l'installation du keylogger. Il y a peut-être un peu de ruse ici, mais il est difficile de le dire uniquement de la vidéo.

À des fins de test, j'ai créé un keylogger TTY qui peut être attaché dynamiquement à un utilisateur et que le programme n'a pas besoin d'être installé par root et peut être utilisé par n'importe quel compte. Une fois attaché, il enregistre les entrées qui correspondent au motif donné en ligne de commande lorsque le programme démarre.

Est-il possible avec des systèmes tels que Crunchbang (distro basé sur Debian), juste ajouter des autorisations au fichier sudoers en utilisant nano visudo dans le terminal et ajouter keylogger à autostart comme des logkeys pour Linux par exemple logkeys –start –output /home/user/.secret /bûche

Bonne chance

  • Changer le menu de démarrage - GRUB
  • Pourquoi dois-je entrer un mot de passe pour le Keyring par défaut pour débloquer?
  • Comment puis-je créer Bash mon shell par défaut sur Ubuntu?
  • Quel système de fichiers est échangé sur Linux
  • Rapport SimSpark et RCSSServer "symbole indéfini: SDL_Init"
  • Ubuntu installe des bottes dans BusyBox
  • Contrôles parentaux dans Ubuntu - par utilisateur
  • Impossible de se connecter avec ldap
  • Sur Linux, puis-je garder un programme en cours d'exécution, même après que je me déconnecte?
  • Chkdsk / f / r alternative dans ubuntu linux
  • Comment puis-je installer Windows à côté de Ubuntu?
  • Soyons le génie de l'ordinateur et du réseau.