Post on 01-Dec-2015
Vulnerabilidades Maquina Elastix BusyTone
by Jennifer Murillo Areiza a.k.a r3ss1d3nt
Para Resolver el Reto iré organizando la información obtenida en las siguiente Fases.
1. Recopilación de Información .
2. Enumeración
3. Explotación
1. Recopilación de Información
Para identificar la maquina que tiene el Asterisk configurado utilizare la herramienta NMAP. El
rango de direcciones de mi red es 172.16.50.0/24. Pasare nmap por la red para identificar la
máquina de Elastix. En esta fase es importante correr diferentes herramientas para
asegurarnos que encontramos la maquina que realmente se quiere auditar, entre ellas las
recomendadas son ZenMap, Cain & Abel, LanMap etc.
El resultado de NMAP es el siguiente.
Asumo que la maquina tiene la ip 172.16.50.247 porque es una máquina que no es conocida
en mi red. Lo siguiente será hacerle un análisis mas exhaustivo a la ip para ver que mas
podemos encontrar. Para esto le diremos a NMAP que escanee un rango de puertos
incluyendo los no conocidos para obtener mejores resultados.
Mirando el resultado que arroja NMAP con el analisis mas exhaustivo, comprobamos que
efectivamente es la maquina que corre Asterisk por que se muestra que se corren servicios
como HYLAFAX, un servicio desconocido en el puerto 5038 "Generalmente es el puerto del
AMI (Asterisk Manager Interface)" y haciendo pruebas a los puertos nos encontramos con la
administración grafica de la planta en el puerto 443 :D.
2. Enumeración
Teniendo Ya Información para iniciar la auditoria el objetivo del Reto será:
Enumerar Versiones De Asterisk y Gestión Grafica
Enumerar Extensiones en El sistema.
Para encontrar la versión del Asterisk y su software de gestión asociados utilizare una
herramienta llamada sipvicious. Es una herramienta bastante rápida para auditar Centrales
IP . Con esta herramienta podemos
Realiza búsquedas de Servidores PBX y Dispositivos SIP en la red
Ver Extensiones Activas
Realizar Ataques de Fuerza Bruta a los Password de las extensiones
Generar Informes a diferentes formatos.
Para el caso vamos a utilizar la las 3 primeras opciones y el manejo de la herramienta es muy
fácil así que no hay pierde.
Para Realizar búsquedas de servidores utilizamos el script llamado svmap.py con la siguiente
sintaxis. ./svmap.py Red -p "Rango de Puertos". Generalmente las plantas y dispositivos SIP
se encuentran en los puertos 5060 a 5070.
y el resultado que arroja son todos los dispositivos SIP que encuentra en ese rango de Puertos,
En el ejemplo Encuentra la planta que la ip 172.16.50.247 como lo había encontrado en la
primera fase, tambien encuentra que tienen una versión de FreePBX 2.8.1 y además
encuentra un Linksys PAP2 de prueba que tengo en la red. Para encontrar el Fingerprint
utilizamos la opción "--fp" al final del comando y obtenemos este resultado.
Enumeración de Extensiones
Para la enumeración de extensiones utilizaremos de nuevo la herramienta SIPVICIOUS. El script
que corresponde utilizar se llama svwar.py y la sintaxis del comando es ./svwar.py
IPSERVIDOR -eRango de extesiones -m INIVITE
Con esta herramienta Encontramos extensiones entre la 2000 a 2002. 1000 a 1002 y 3000 a
3002.
Otra herramienta muy útil para encontrar extensiones validas en el sistema se ENUMIAX. Es
también muy practica como SIPVICIOS por que tratara de encontrarnos la contraseña de la
extensión en el momento del escaneo con Extensiones IAX. La sintaxis de comando es
./enumiax -v "Para que muestre en pantalla que está haciendo" -m"tamaño mínimo de
caracteres del usuario" -M"Tamaño máximo de caracteres" IPDELSERVIDOR
En este caso no encontramos Extensiones IAX. :(
3. Explotación
Ingresar a la Gestión grafica de la Planta
Ingresar con un usuario valido en el sistema
Encontrar Vulnerabilidades en la Configuración de Planta.
Ingresar a la Gestión grafica de la Planta
Para ingresar a la administración hice la manera fácil y fue realizar un ataque de fuerza bruta
entre las posibles contraseñas que pueda tener la planta al usuario por defecto de elastix
"admin". Las contraseñas fueron: "busytone123" "01346798520" "asdqwe123" "BUSYTONE"
"BUSYtone" "BusyTone123" "123456789" "BusyTone" "busytone" etc, hasta que di con la
contraseña Correcta "busytone"
Con esto tenemos Acceso como administrador total de la planta y el siguiente paso fácil es
tomar la administración total de las extensiones. Para ello ir a PBX-->Extensions.
Y si revisamos cada una de las extensiones, vemos que el rango de extensiones de 2000 a 2002
tiene contraseñas débiles "el mismo número de extensión "y podrían ser descifradas con una
herramienta como SIPVICIOS sin necesidad de ingresar a la administración grafica del servidor.
Ingresar con un usuario valido en el sistema
Mirando de nuevo la fase de enumeración me encuentro con el puerto 22 "SSH" abierto, lo
que se me ocurre antes de utilizar la forma difícil es intentar las mismas contraseñas que
utilice para ingresar a la administración grafica y efectivamente funciono, encontrando la
contraseña del usuario Root "BusyTone".
Vulnerabilidades de Configuración
Contraseñas Débiles para algunas Extensiones
Está Realizando NAT.
No se Está Permitiendo registro desde un solo Rango De red. Lo ideal es que solo se
permitiera registrar las extensiones desde la red a la que pertenece. Este parametro
se configura en Device Options --> Permit. Acá se cambia 0.0.0.0/0.0.0.0 Por la red
interna en la que trabajaran las extensiones.
No se están filtrando las llamadas por canal o Extensión creada en el servidor.
Con la configuración de la planta como esta en el momento es posible realizar por
extensión registrada 2147483647 llamadas. Por esto es importante filtrar que se
puedan realizar máximo 2 llamadas simultaneas por extensión en el servidor.
El puerto de administración de la consola del Asterisk "SSH" esta por defecto y
además permite conectarse como usuario root directamente.
No se tiene configurado ningún tipo de software que bloque conexiones masivas al
servidor.
Cosas que Faltaron
Enumerar usuarios sin utilizar fuerza bruta
Utilizar exploits Para algún servicio asociado a la maquina
Y ya no se me ocurre nada mas :P