[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rootkit Jessie?



[ Je lis la liste. Pas la peine de me répondre directement et de 
mettre la liste en CC. ]

Le jeudi 18 septembre 2014, 17:50:01 François Boisson a écrit :
>[…]
> En clair
> 
> ls /proc/123
> 
> donne que dalle
> mais
> 
> ls /proc/123/cmdline
> 
> donne un résultat.
> ps se base sur les processus apparaissant dans /proc. Donc un
> processus PID tel que /proc/$PID/cmdline existe mais non
> montré par ps -p $PID est caché. C'est le fonctionnement de
> Suckit. Le $(seq 1 65535) est donc indispensable.

  Ok. Je pensais que ps récupérait sa liste autrement qu’en 
lisant /proc.
  Comme quoi, il faut vraiment essayer de comprendre ce qu’une 
commande veut faire avant de la tripoter ;o)
(Mais bon, si elle était mieux expliquée quand elle est donnée, 
hein ;oP )

>[…]
> En regardant mieux, il existe unhide qui liste les processus
> cachés.

  Oui. Je n’ai pas regardé ton programme mais en regardant 
unhide.rb (la version Ruby de unhide), il y a plusieurs listes 
de processus vérifiées :
— ceux qui ont un répertoire dans /proc ;
— ceux qui sont listés comme parent d’un autre (dans
  /proc/*/status) ;
— les sous-threads (/proc/*/tasks/*) ;
— ceux listés par ps.

  Et ceux qui ont un répertoire dans /proc peuvent être testés 
différemment :
— existe dans le répertoire /proc (readdir /proc) ;
— essayer d’ouvrir le répertoire (opendir et chdir sur
  /proc/$i) ;
— essayer de lire dans le répertoire (readlink de
  /proc/$i/exe) ;
  (et il vérifie qu’on a la même chose quand on utilise bien le
   readlink de la libc (pour éviter un LD_PRELOAD…))

  Bref, il vérifie que tout un tas de chemins arrivent bien à 
Rome.

-- 
 Sylvain Sauvage


Reply to: