2016-05-10 4 views
0

J'ai un processus de rogue tournant sur mon système. J'utilise une machine Linux. J'ai essayé de localiser le pid de ce processus en utilisant lsof -i:9050 and lsof -i|grep 'tor'Terminer le processus "tor" rogue

Je n'ai pas pu trouver quoi que ce soit dessus. Ci-dessous est l'erreur jeté:

May 09 22:57:15.981 [notice] Tor v0.2.3.25 (git-17c24b3118224d65) running on Linux. 
May 09 22:57:15.981 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning 
May 09 22:57:15.981 [notice] Read configuration file "/etc/tor/torrc". 
May 09 22:57:15.986 [warn] ControlPort is open, but no authentication method has been configured. This means that any program on your computer can reconfigure your Tor. That's bad! You should upgrade your Tor controller as soon as possible. 
May 09 22:57:15.986 [notice] Initialized libevent version 1.4.13-stable using method epoll. Good. 
May 09 22:57:15.986 [notice] Opening Socks listener on 127.0.0.1:9050 
May 09 22:57:15.986 [notice] Opening Control listener on 127.0.0.1:9051 
May 09 22:57:15.000 [warn] It looks like another Tor process is running with the same data directory. Waiting 5 seconds to see if it goes away. 
May 09 22:57:20.000 [err] No, it's still there. Exiting. 

Toute aide est très appréciée.

Répondre

2

Comment un processus malveillant est-il arrivé à votre système? L'avez-vous installé là et avez-vous oublié où, ou avez-vous été piraté? Si plus tard, sautez le paragraphe suivant.

Vous pouvez rechercher les ports TCP sur lesquels vous écoutez et obtenir l'ID de processus à partir de là. Exécutez netstat -anp et recherchez quelqu'un qui écoute sur le port concerné. Si vous n'êtes pas sûr de ce que le port est, je suggère d'utiliser un sniffer de réseau (tel que tcpdump ou wireshark). La commande ci-dessus, si elle est exécutée en tant que root, vous donnera le pid du processus d'écoute.

Si vous ne pouvez pas trouver le port là, ou s'il existe, mais que le processus n'apparaît toujours pas sur ps et kill, il est probable que vous ayez été piraté. Les rootkits modernes peuvent cacher leurs processus et fichiers, de sorte que vous ne pouvez pas y accéder même si vous savez où ils se trouvent. Si oui, ne vous embêtez pas à tuer le processus. Vous avez de plus gros problèmes.

Il n'existe aucun moyen générique efficace pour supprimer un rootkit d'un système compromis. Votre seulement bonne action dans ces circonstances est de réinstaller le système. Aussi, essayez de trouver quelle porte vous a été utilisée pour vous pirater (généralement un service obsolète) et fermez-la.

Édité pour ajouter netstat -anp fonctionnera même si vous n'êtes pas root. Vous ne verrez que les PID de vos propres utilisateurs, mais cela est probablement suffisant pour ce que vous essayez de faire ici.

En outre, si tor fonctionne comme un sous-produit de quelque chose que vous faites, alors strace pourrait être votre ami: strace -e execve -f -o /tmp/trace sortie à volonté/tmp/trace des appels execve effectuées par votre processus et l'un de ses enfants. Vous pouvez juste vous y rendre et voir ce qu'est le PID, et à partir de là, trouver comment le trouver dans le cas générique.

+0

J'essaye d'exécuter un programme qui emploie le service de tor. L'hôte est un système public dans ma bibliothèque. Je vais vérifier avec l'administrateur pour voir s'il peut mettre fin au processus escroc. –

0

Vous devez probablement être root pour exécuter les commandes lsof que vous avez essayées car Tor doit être exécuté en tant qu'utilisateur différent si rien ne revient.

Si Tor ne vous dit pas par erreur qu'un autre processus est déjà en cours d'exécution avec le même répertoire de données, vous pouvez effectuer quelques opérations.

  • Il suffit d'utiliser le processus Tor existant au lieu de gérer votre propre (regarder /etc/tor/torrc pour les détails de configuration)
  • Changer vos DataDirectory (et les ports si nécessaire) à autre chose afin que vous puissiez les exécuter côte à côte

Il est indiqué dans les journaux que le ControlPort est ouvert sans authentification. Vous pouvez essayer ceci pour obtenir le PID du processus existant:

> telnet localhost 9051 
> AUTHENTICATE 
< 250 OK 
> GETINFO process/pid 
< 250-process/pid=2297 
< 250 OK 
+0

J'ai utilisé sudo pour 'lsof'. J'ai compris quel était mon problème. Il y avait un utilisateur de Nologin qui court. Je le redémarre en utilisant '/ etc/init.d/tor' –