Estadísticas de inseguridad en Elastix (México)

Christian Cabrera marzo 09, 2011 Sin categoría View Comments

 

Hoy decidí realizar un estudio sobre las vulnerabilidades que sería capaz de encontrar en un entorno como Elastix en México. Me puse mi sombrero blanco y decidí escanear todas las posibles redes del país y buscar cuantos equipos utilizan la distribución antes mencionada (al menos las visibles en el puerto TCP 443), y los resultados fueron alarmantes. Aquí algunas estadísticas:

25.4 millones de hosts escaneados
69 mil tienen el puerto 443 abierto
467 equipos eran Elastix

Aclaro que esto no quiere decir que estos sean todos los equipos Elastix en México. Esto quiere decir que en una noche cualquiera fui capaz de encontrar 467 equipos visibles abiertamente en internet, los demás están tras algún firewall y son invisibles al exterior (¡bien!).

Ahora, para los números del terror:

  • 287 tienen algún tipo de dato “secreto” que se puede obtener fácilmente (contraseña de FreePBX, contraseña de Elastix, contraseñas de extensiones)
  • los mismos 287 tienen el puerto SIP abierto
  • 261 tenían algún tipo de contraseña default para FreePBX
  • 26 aún tenían la contraseña de “palosanto” para Elastix
  • 31 usan la misma contraseña en FreePBX que en Elastix
  • 42 aún usan FreePBX 2.5.x que muestra la contraseña de administrador en texto plano

Y quizá la más sobresaliente:

  • 197 usan alguna distribución de Elastix suficientemente vieja que permite descargar el archivo de batch extensions, entregándote el archivo que nombra todas las extensiones del sistema con sus respectivas contraseñas, dando un total de ¡8,300 extensiones disponibles para hacer llamadas en Elastix ajenos!

Esto quiere decir que aún con una tasa de fallo del 50%, tengo 4,150 de posibles extensiones desde las cuales se pueden sacar llamadas sin pagar un solo centavo, ocasionando tráfico VoIP que en pocas horas se convierte en facturas millonarias de teléfono.

Y si creen que exagero, échenle cuentas:

  • Supongan que de los 197 servidores visibles, al menos 170 tienen algún tipo de interfaz FXO o E1
  • Supongan que en una sesión de ataque promedio, puedo cursar llamadas por el mismo equipo (por la noche) durante unas 4 horas
  • Supongamos que promediando la cantidad de canales de E1 y de puertos FXO, puedo cursar 3 llamadas simultáneas por servidor

Esto me da un total de 4 horas * 60 minutos * 3 llamadas simultáneas * 170 servidores = 122,400 minutos de tráfico. Si el destino costara $7/min, hablamos de un total facturado de $856,800, ¡en unas horas!

Y claro que este es el espectro conservador: conozco casos de 2a persona que han tenido facturaciones de $24,000 en una sola pasada. Hagan números, y fácilmente comprenderán por que esto del robo de VoIP está tan de moda y resulta tan redituable.

Obviamente si no quieren convertirse en amigos de lo ajeno, sigan las ya super conocidas medidas de seguridad para cualquier entorno Asterisk:

  1. Siempre cambien las contraseñas default
  2. Tampoco usen palabras de diccionario como contraseña
  3. No den acceso desde el exterior si no se necesita. Esto aplica a los puertos UDP 5060 y TCP 22, 443 (los más comunes)
  4. User el permit deny dentro de Asterisk para limitar que IPs se registran en cada extensión.
  5. No usen contraseñas y passwords iguales (user:100 pass:100)
  6. Actualicen sus distribuciones a la más reciente versión
  7. Limiten la cantidad de llamadas simultáneas por extensión (¿Por qué razón Juan Pérez haría 20 llamadas a la vez?)
  8. Rechazen malas autenticaciones sin dar más detalles (alwaysauthreject=yes) en sip.conf
  9. Firewall firewall firewall
  10. Usen fail2ban para defenderse de ataques de fuerza bruta
  11. Autentiquen al usuario, no solo al teléfono (usen contraseñas post-marcado)
  12. Nieguen llamadas anónimas provenientes del exterior
  13. Definan planes de marcación limitados (ojo con el dialplan injection)

Recuerden que Asterisk/Elastix como tal son bastante seguros. Es el administrador el que los hace inseguros al obviar cualquier de estos pasos sugeridos.

Suerte, y…  ¡aseguren sus equipos!

 

  1. #1 por erivera11 el 26 abril, 2011 - 11:09

    En base a lo trabajado el pasado 18/abril/2011 sobre el servidor Elastix de Keptos, les reporto que se efectuaron las siguientes tareas:

    1. Se aplicaron reglas de firewall que impidan el acceso administrativo desde el exterior, esto es:

    a. Cierre de puertos TCP 22 (SSH) y 443 (HTTPS)
    b. Solo el segmento 172.0.0.0/24 puede acceder a realizar labores administrativas

    2. Se aplicaron políticas de ACL en Asterisk para impedir el registro de extensiones desde el exterior

    a. Solo el segmento 172.0.0.0/24 puede registrarse para hacer llamadas
    b. Esto puede manipularse con los campos permit/deny del cuadro de extensiones en FreePBX

    3. Se dejó habilitada la futura posibilidad de brindar soporte remoto

    a. Segmentos habilitados para esto: 64.151.124.84/32 y 10.200.0.0/23

    4. Se instaló Fail2Ban y se configuró para proteger contra ataques de fuerza bruta en SIP y SSH

    a. Notificaciones se envían correctamente a noc@keptos.com

    5. Se implementó un sistema de alertas via correo electrónico que notifica llamadas salientes por Telmex hacia destinos que cumplan con los siguientes prefijos:

    a. 045 – Celulares LDN
    b. 00 – Llamadas internacionales
    c. 01900 – Llamadas a números de cobro 01900
    d. Las alertas se envían a noc@keptos.com

    También como parte del plan de seguridad, se sugieren fuertemente las siguientes acciones:

    1. Actualización de versión de Elastix a la 1.6.2
    2. Cambio de contraseñas de todos los dispositivos SIP que existan en el sistema, dado que pueden estar comprometidas.
    3. Cambio de los prefijos de marcación para salida de llamadas. Se recomienda ampliamente sustituir los prefijos de salida por contraseñas únicas por usuario, de manera que las salidas sean como en un conmutador convencional (9 + destino), pero dependiendo de la extensión que origine las llamadas se pidan contraseñas para salir a cada destino.

    Como detalle adicional (y que no estaba contemplado dentro del plan de trabajo original), se configuraron los canceladores de eco con lo que mejoró la calidad de las llamadas.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: