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: