Craig
Heffner, investigador de seguridad especializado en hardware y firmware, ha encontrado
una puerta trasera en los routers D-Link
que permitiría evadir la autenticación y acceder al portal web deadministración del dispositivo sin necesidad de conocer las credenciales de
acceso.
Craig descargó el firmware
versión 1.13 para el dispositivo DIR-100 y efectuó un análisis de ingeniería
inversa para extraer los archivos correspondientes al servidor web que el
router publica para su administración.
Desensamblando el binario
correspondiente al servidor web (/bin/webs) encontró que la función 'alpha_auth_check', devuelve un valor AUTH_OK para
ciertos valores de las cabeceras de las peticiones HTTP. Este valor significa
que la autenticación ha sido exitosa y se procede con la petición.
Viendo el código reconstruido por
Craig podemos observar varias curiosidades:
Cuando se accede a las carpetas
“graphics/” y “public/” devuelve AUTH_OK. Esto es lógico ya que se trata de
carpetas que contienen recursos públicos, necesarios para construir el interfaz
de preautenticación. Pero si observamos existe una comparación de cadenas vía 'strcmp' donde se está comparando la cadena actual del User-agent y cierto
valor literal. Es decir, si nuestro 'User-agent' es “xmlset_roodkcableoj28840ybtide”
entonces el sistema nos dará por autenticados abriéndonos paso a cualquier
lugar del interfaz.
Graig se molestó en averiguar a
través de SHODAN cuantos routers D-Link podrían estar afectados. Esto es
posible dado que SHODAN indexa la información publica de los sistemas que están
expuestos en Internet. Los routers afectados por este problema podrían ser los
siguientes:
![]() |
D-Link DIR-100 |
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
(algunos comentarios en su blog
apuntan a que el modelo DIR-615 podría estar afectado)
También estarían afectados los
routers que usen dicho firmware como los Planex:
BRL-04UR
BRL-04CW
Finalmente, alguien identificado
como Travis Goodspeed profundizó en el trabajo de Craig Heffner y encontró que
la cadena asociada a la puerta trasera es usada por una utilidad incluida en el
sistema "/bin/xmlsetc".
Todo apunta a que este mecanismo de evasión podría ser usado para tareas
administrativas automatizadas y no un diseño impuesto en el dispositivo de
manera maliciosa.
De momento, hasta que el
fabricante tome cartas en el asunto, los dispositivos que empleen dicho
firmware serían vulnerables a esta puerta trasera. Basta con cambiar el 'User-agent' del navegador (puede hacerse
con un plugin o a través de un proxy http) a la cadena “xmlset_roodkcableoj28840ybtide”
para obtener acceso privilegiado.
Más información:
Reverse Engineering a D-Link Backdoor
Client for the DLink Backdoor, /bin/xmlsetc
David García
Twitter: @dgn1729
No hay comentarios:
Publicar un comentario