mercredi 14 janvier 2015

Le cas de la backdoor incluse dans Lotus Notes

TL/DR : Si vous avez Lotus Notes 8.5 ou 9 sur vos postes de travail, désactivez le service "IBM Notes Diagnostics" (process : nsd.exe) dès que possible. Il permet à un utilisateur lambda d'élever trivialement ses privilèges jusqu'à SYSTEM.


J'ai déjà eu l'occasion d'émettre de sérieuse réserves sur les logiciels IBM. Mais je ne pensais pas qu'il iraient jusqu'à inclure une backdoor donnant les droits SYSTEM dans un logiciel de messagerie !

Depuis la version 8.5, l'installation du client Lotus Notes provoque l'installation d'un service "Diagnostics IBM Notes" ("IBM Notes Diagnostics" en VO). Sa description est "Effectue des diagnostics pour le compte de IBM Notes". Vous l'avez peut-être déjà rencontré si vos utilisateurs vous remontaient ce bug.

Lors de nos audits de sécurité "Poste de travail" de ce début d'année, nos auditeurs (Cogiceo, merci les gars) se sont intéressés à ce service. Quelle ne fut pas notre surprise de constater que ce "débuggeur" gracieusement fourni par IBM aurait pu s'intituler "Rootkit Deluxe" sans problème. Il inclut en effet un mode interpréteur CLI (nsd.exe -monitor) qui permet de dialoguer avec ce service SYSTEM.

L'une des commandes disponible dans ce mode est LOAD <prog> <args>. Qui permet tout simplement de lancer (en interactif !) un programme avec les droits du service NSD, donc SYSTEM par défaut.

De là l'exploitation est triviale (LOAD mmc, LOAD cmd...). Il suffit de cliquer sur la petite icône demandant de passer sur "le bureau sécurisé" ou le programme demandé "requiert notre attention"...







Trivial non ?

Bien que cela soit déjà amplement suffisant, les autres commandes CLI fournies par NSD.EXE semblent tout aussi prometteuses : attachement à d'autres process, kill et autres dump de mémoire ("sauf lsass.exe qui est exclu par défaut car il présente un comportement anormal quand on lui demande ses handle système" précise sans rire la documentation)

Bien qu'IBM recommande chaudement (peut-être sous la houlette de la NSA ?) de laisser ce service NSD démarré en permanence, si vous voulez éviter que n'importe quel utilisateur se retrouve avec les droits SYSTEM sur leur machine, je pense qu'il vaut mieux le désactiver (ou désinstaller Lotus Notes partout...)