selection_051

Ahora que ya termine de hacer varios informes de pentesting y con un respiro a cuestas por fiestas de fin de año, decidí darme un vuelta al mundo de la VOIP y ver lo que andaba pasando, después de lo que ocurrido con la venta de Elastix , era motivo de darle una mirada al «nuevo producto» por dentro y ver que tenía.

Ahora como no tengo ni una remota idea de como empezar, hacemos una búsqueda recursiva de la siguiente forma :  find / -name «3cxpbx»

Y nos arroja esto :

/etc/cron.d/3cxpbx
/etc/nginx/sites-enabled/3cxpbx
/etc/sudoers.d/3cxpbx
/usr/lib/3cxpbx
/usr/share/3cxpbx
/var/lib/3cxpbx

Bueno, ya tenemos un punto de partida, empecemos:

1.- Sistema Operativo

Esto debe ser lo mejor que tiene , el sistema está basado en un Debian 8

selection_048

2.- Servidor Web
Primero  no usa Apache si no NGINX lo cual en algún sentido es bueno por las ventajas que tiene, sin embargo ahora las preguntas de rigor

Donde está el directorio de publicación ? correrá PHP ??

En la búsqueda anterior salio la ruta «/etc/nginx/sites-enabled/3cxpbx»

veamos ( captura del fichero)

location /
index index.html;^M
root /var/lib/3cxpbx/Data/Http/wwwroot;
try_files $uri $uri/ @proxy;
}

location /MyPhone {^M
alias /var/lib/3cxpbx/Instance1/Data/Http/Interface/MyPhone;
try_files $uri $uri/ @proxy;
}

identificamos dos directorios la raiz seteada a «/var/lib/3cxpbx/Data/Http/wwwroot» y otra llamada /MyPhone seteada a «/var/lib/3cxpbx/Instance1/Data/Http/Interface/MyPhone»

Vamos al wwwroot y corremos :

touch prueba.html ; echo «ESTO ES UNA PRUEBA» > prueba.html

ingresamos a http://192.168.1.36:5000/prueba.html y nos permite visualizar el archivo.

Ahora vamos con el típico phpinfo.php y oh sorpresa no funciona 😦   es decir no tiene soporte para PHP

selection_041

3.- Base de datos
Luego de indagar sobre el servidor web, ahora ver que BD corre, donde lo saco? ,
revisando por la ruta donde al parecer reside, ubico en la ruta «/var/lib/3cxpbx/Bin» algunos archivos .ini al mismo estilo de Windows 😦

me llamo la atención este en particular : 3CXPhoneSystem.ini en donde ohh sorpresa!! encontré cadenas de conexión a base de datos Postgresql

confNIC = 127.0.0.1
DBPort = 5432
DBName = phonesystem
dbUser = phonesystem
ConfPort = 5485
dbPassword = EF11C93F-3E70-4D6E-A2C9-AC87944EC028

Evidentemente el servidor de BD solo permite conexiones locales, pero ya sabemos que tiene como BD.

4.- Motor de telefonía
Ahora lo mas importante,  tendrá ASTERISK como motor ?

Corremos el comando «asterisk -rx» y nada  entonces que tiene ?

Bueno haciendo unas capturas con Wireshark , la cosa esta se presenta como «3CXPhoneSytem»

selection_043

Y Elastix 5 😦

ahora veamos que servicio lo ejecuta en Linux , ya que quiero saber si tiene alguna interfase de comandos o un CLI al menos.

selection_044

Como vemos tenemos el programa «3CXPbxServer» ahora hacemos una búsqueda y encontramos:

selection_049

Como vemos es un binario que corre como root y además o sorpresa hay una serie de programas adicionales con el mismo nombre que solo dios sabe lo que hacen.

Ahora veamos si el binario ofrece una interfase de comandos :

selection_046

Nos pide ciertos parámetros , los averiguamos dentro los archivos ini  y nuevamente probamos:

selection_050

Definitivamente no hay respuesta.

5.- Conclusiones

Luego de esta revisión bastante rápida, las conclusiones son obvias, sobre todo para los que venimos y somos del mundo Asterisk.

  • La solución no tiene Asterisk , si no su propio desarrollo implementar SIP
  • Al no tener Asterisk no es posible usar AMI, AGI, PJSIP, ARI con lo cual resta mucho, sobre todo a gente como yo que desarrolla y personalizar mucho.
  • No corre PHP , al menos por defecto, si bien es cierto metiéndole mano se podría incluir en NGINX pero no es el caso.
  • No provee una interfase de consola o un CLI , es algo de lo que siempre me quejo de otras soluciones y esta entra a la lista ahora, por ahí vi unos logs pero no basta.
  • Lo único que veo de bueno a nivel de arquitectura es que usa Debian , aunque por hay vi algunos path como «C:\Program Files\3CX Phone System Cloud Server\» que aun se han olvidado sacar.

En resumen :  Elastix 5 o mejor dicho 3CX LINUX no va ser, ni será para mi una opción, basándome solo en algunos detalles claves de su arquitectura, ello sin mencionar las limitaciones (trunk , extensiones) a nivel de la aplicación que tiene, será motivo para ir viendo otras alternativas.

Nota final : Esta es una posición totalmente personal del escritor de este blog, no representa la opinión de ninguna empresa conexa.

 

 

8 respuestas a “DESTRIPANDO 3CX PBX A.K.A. ELASTIX 5”

  1. Avatar de Jose Areche

    Muchas Gracias mi estimado.
    Me ahorraste mucho tiempo revisando esta distribución que han lanzado. Me sorprendió un correo que llego para ser Partners 3CX y Elastix 5. Lastima que no se parece a las versiones anteriores.
    Ni modo a utilizar otras alternativas.
    Saludos.

  2. Avatar de Alejandro
    Alejandro

    Muy interesante articulo como siempre, lo que no me queda claro es si, de aquí para delante deja de ser libre elastix o es solo esta versión?

  3. Avatar de Diego Perez
    Diego Perez

    Alejandro según leí deja de ser libre elastix quedará elastix 2.5 pero sin soporte y actualizaciones. En lo personal estoy meditando si instalar freepbx o hacer una instalación de asterisk en centos o debían.

    Muy buen Post.

  4. Avatar de Randall Rodriguez

    para los que quieran ver Elastix resurgir, aunque va a tomar tiempo, echenle un ojo a issabel.org

    registrense y apoyen el proyecto como cada quien pueda

  5. Avatar de Cristian Alvear (@cralvear_7)

    Buenas Noches tengo un problema con esto no se si me podrían ayudar les agradeciese mucho

    root@cristian-virtual-machine:~# apt install sylkserver-webrtc-gateway
    Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias
    Leyendo la información de estado… Hecho
    E: No se ha podido localizar el paquete sylkserver-webrtc-gateway

  6. […] de una vuelta por el mundo web, de leer a varios llegue a Juan Oliva con su “guía total” quien piensa similar a mí, y destaca que el nuevo Elastix 5, NO tiene […]

  7. residence permit online

    DESTRIPANDO 3CX PBX A.K.A. ELASTIX 5 | Juan Oliva

Deja un comentario

Juan Oliva

Consultor en Ciberseguridad y VoIP con mas de 16 años de experiencia en el campo, muy involucrado en proyectos de Ethical Hacking, análisis y explotación de vulnerabilidades en infraestructura, aplicaciones web, APIs y Móviles, pruebas de ingeniería social y revisión de código.