211service.com
Les vieux bugs sont les meilleurs bugs
Au cours du week-end, David Maynor a publié une note dans son Blog qui prétendait que le soi-disant serveur Telnet dans le système d'exploitation Sun Solaris 10/11 ne nécessite aucune compétence, aucune connaissance d'exploit, et peut être scripté pour des attaques de masse.
Telnet est un programme des années 1970 qui permet aux gens de se connecter à distance à un ordinateur. Il est généralement désactivé car les noms d'utilisateur et les mots de passe sont envoyés sans utiliser de cryptage (ce qui était illégal d'exporter depuis les États-Unis à l'époque). Mais alors que le programme a été largement abandonné, Sun livre toujours ses systèmes d'exploitation Solaris 10 avec le serveur Telnet et les programmes clients.
Dans tous les cas, le serveur Telnet prend le nom d'utilisateur fourni par la personne qui essaie de se connecter et fournit cette information à ce que l'on appelle le programme de connexion. C'est le travail du programme de connexion de demander le nom d'utilisateur et le mot de passe de l'utilisateur. Normalement, il le fait, et si le mot de passe est correct, l'utilisateur est autorisé à se connecter.
Ce que Maynor a découvert, c'est qu'un attaquant peut essayer de se connecter avec un nom d'utilisateur comme -fbin. Le -fbin est transmis au programme de connexion, qui interprète à tort le -f comme une commande du système d'exploitation pour connecter l'utilisateur au compte spécifié sans demander de mot de passe. L'exploit ressemble donc à ceci :
% telnet -l -fbin 192.168.1.110
Essayer 192.168.1.110…
Connecté à 192.168.1.110.
Le caractère d'échappement est '^]'.
Dernière connexion : dim 11 février 02:02:23 à partir de 192.168.1.102
sun Microsystems Inc. SunOS 5.10 Générique Janvier 2005
$ identifiant
uid = 2 (bin) gid = 2 (bin)
(Vous pouvez lire tous les détails sanglants ici )
Ce qui est vraiment étonnant, c'est que cette vulnérabilité a d'abord été publiquement signalé par l'équipe d'intervention d'urgence informatique en 1996. Apparemment, le bogue a été réintroduit par un programmeur peu familier avec l'histoire. On me dit que cela a depuis été corrigé dans Solaris 11.
Alors, qu'est-ce qui ne va pas ici ? Plusieurs choses.
- Lorsque les ingénieurs de Sun ont corrigé ce problème dans Solaris 11, ils auraient également dû le corriger dans Solaris 10.
- À ce stade, Sun ne devrait même pas expédier de serveur Telnet.
- Et s'ils vont expédier un serveur, ils devraient vraiment le valider. Bien que je n'aie aucun moyen de savoir ce qui s'est passé chez Sun, je suppose qu'ils n'ont pas pris la peine de tester le serveur car il est désactivé par défaut.
En discutant avec un consultant en sécurité au RSA Security Trade Show la semaine dernière, on m'a dit que les bogues de sécurité corrigés dans les serveurs de production sur les systèmes bancaires sont fréquemment réintroduits lorsque de nouvelles versions sont expédiées. C'est une bonne nouvelle pour les consultants en sécurité, bien sûr. Mais cela explique aussi pourquoi le crime organisé a tellement de facilité à gagner de l'argent rapidement sur Internet.