Réseaux-Télécom.net

Comment cacher un virus sous XP


Edition du 25/08/2005 - par Marc Olanié

En butinant au fil des messages de la liste FD, l'on peut lire une piquante contribution signée Igor Franchuk. Lequel fait remarquer qu'en affectant, dans la base de registre, un nom de clef supérieur à 260 caractères, ladite clef disparaît aux yeux de l'administrateur. Il est ensuite possible d'éditer autant de clefs secondaires situées sous cette entrée invisible, qui ne seront pas plus visibles que la clef susmentionnée, et demeureront parfaitement interprétées, et donc exécutables.

Ce à quoi quelques contributeurs émettent à leur tour des idées connexes, notamment ce truc et astuce intitulé « comment cacher une clef de registre » et pondu par l'équipe de Russinovich (mais exploitant une subtilité liée à une interprétation unicode et non à un buffer overflow).

Ce détail, de prime abord, peut sembler un peu byzantin, voir totalement inutile. Pourtant, masquer un ordre en base de registre peut servir à bien des choses... Notamment lancer un virus, un spyware, un rootkit de manière discrète. La clef invisible, c'est un peu comme le spoof d'URL d'un site Web : une bizarrerie comportementale, un hack bénin. Mais un hack bénin qui peut masquer des codes autrement plus nocifs, surtout si ceux-ci sont situés du côté de la clef Run. For %%p IN (*.reg) DO del %%p ? * Une telle extrémité serait exagérée. Mais l'attitude inverse le serait tout autant. La qualification de « bug non critique » estimé par Sécunia semble terriblement légère et irréfléchie.

*Note de la correctrice : Tout çà aurait été meilleur avec un zeste de IF EXIST, une pincées d'Errorlevel, et un nappage de commande AT.