Vous êtes ici : Accueil Wireless Wireless security alerts Linksys WRT54G Authentication Bypass
Actions sur le document

Linksys WRT54G Authentication Bypass

Par bluetouff - Dernière modification 29/01/2006 21:25

3 manières de tromper l'authentification d'un Linksys WRT54G


1° Une vulnérabilité dans "upgrade.cgi" peut dans certaines conditions permettre des mofications sans être authentifié. Le firmware ne vérifie pas la méthode POST sur le handler upgrade.cgi. Ceci permet à un assaillant d'installer un nouveau firmware sans être authentifié (la vérification n'interdit pas l'action en cas d'échec de l'authentification mais renvoi une page d'erreur proposant de ré-uploader le firmware,  mais cette fois sans aucune vérification de l'authentification. Si l'assaillant n'est pas loggué, le routeur ne redémarre pas comme c'est loe cas normalement suite à une mise à jour, mais le firmware est lui bien loadé : il se chargera donc au prochain reboot). Cette faille permet une compromission totale du WRT54G (ex : installation d'un espion netcat etc ...), les outils et le code source du firmware étant disponibles sur le site du contructeur, il est relativement aisé pour l'assaillant de se constituer un firmware piégé.


 Un assaillant peut exploiter une vulnérabilité permettant de reseter le password et activer l'adminitration à distance pour retrouver sa cible depuis internet.
la vulnérabilité se trouve dans "restore.cgi'


3°Une vulnérabilité à distance permet l'exécution d'un exploit permettant de modifier la configuration du routeur sans être authentifié. La faiblesse se trouve dans  le handler "ezconfig.asp"

Code :

struct mime_handler mime_handlers[] = {
//{ "ezconfig.asp", "text/html", ezc_version, do_apply_ezconfig_post,
do_ezconfig_asp, do_auth },
/*Modified by Daniel(2004-09-06);*/
{ "ezconfig.asp", "text/html", ezc_version, do_apply_ezconfig_post,
do_ezconfig_asp, NULL },

La méthode auth() ne comporte aucune initialisation de la fonction authentification : (do_auth) n'est plus là donc aucun contrôle n'est exercé.

Code :

if (handler->auth) {
handler->auth(auth_userid, auth_passwd, auth_realm);
auth_fail = 0;
if (!auth_check(auth_realm, authorization))
auth_fail = 1;


Versions du firmware vulnérables :

 * Linksys WRT54G firmware version 3.03.6
 * Linksys WRT54G firmware version 3.01.03

Plus d'information sur iDEFENSE Labs Security Advisories.



Toonux is powered By FreeBSD, Zope & Plone and owned by Bluetouff ]-- Pilot Systems ring website

Toonux contents are copyleft under the WTFPL licence