Vulnerabilidad en A2BILLING ELASTIX 2.5 2.4 thanku-outcall iridium_threed.php

Por experiencia algunas vulnerabilidades toman un tiempo en “madurar” o hacerse masivas, esto ha pasado con está específicamente. En estas ultimas semanas he recibido muchas noticias y comentarios de hackeos a plantas, PBX, Centrales basadas en Elastix 2.4 y 2.5 en donde se crean un contexto llamado thanku-outcall esto por lo general, nombre del contexto puede cambiar evidentemente,  el objetivo es que se crea un contexto que permite sacar llamadas o en algunos casos mas creativos permiten originar llamadas solo para abrir un canal hacia un 0800 por ejemplo.

Como ingresan ? Cual es el punto de acceso?
Pues para variar el punto de acceso es vía Web ( Puerto 80, 443)  se trata de un archivo vulnerable en A2billing específicamente el archivo “iridium_threed.php” el cual permite una inyeccion SQL el cual inserta un registro en el servidor de base de datos de esta forma:

Luego de ello se crea un contexto en el archivo extensions_custom.conf alguna variante puede hasta crear un archivo en el directorio de publicación de apache.

La vulnerabilidad es clasificada como crítica. El punto de acceso es una función desconocida del archivo a2billing/customer/iridium_threed.php del componente Billing es afectada por esta vulnerabilidad. Mediante la manipulación del parámetro transactionID de un input desconocido se causa una vulnerabilidad de tipo sql injection.

La vulnerabilidad fue publicada el 2015-03-07 en exploitdb  la cual pueden verificar en https://www.exploit-db.com/exploits/36305/. La vulnerabilidad es identificada como CVE-2015-1875. La explotación se considera fácil. El ataque se puede efectuar a través de la red. La explotación no necesita ninguna autenticación específica.

Como parcho , Como lo corrijo o mitigo?
Si necesitas A2billing , es migrar a la versión superior, ya que la que trae Elastix es una version bastante antigua,  sin embargo sabemos que en las PBX no necesitas este software, lo recomiendo personalmente  es eliminarlo sacar del directorio de publicación de apache la carpeta A2billing.

Y si no tengo publicado mi Elastix no me interesa ?
Pues si te debería interesar ya que los hackeos no necesariamente vienen desde afuera, ahora con las vulnerabilidades como wanacry no te puedes fiar de tu red interna.

Y si tengo Issabel PBX o FreePBX ?
Pues para tranquilidad Issabel o FreePbx no trae A2billing fue un gran acierto eliminar aplicaciones “extra”

Espero les sirva la info.
Juan Oliva
@jroliva

 

 

 

 

Anuncios

require_once(/var/www/html/common/lib/../../vendor/autoload.php) en A2BILLING

Es claro que este tema de tecnología cambia mucho y uno tiene que estar preparado para las actualizaciones y los colaterales que puede traer, es así que durante el curso de Vicidial que vengo impartiendo, se presentó un problema al instalar A2billing desde los repositorios es Github, es decir la última versión del software.

El problema es que después de realizar todo los procedimientos de instalación, no era posible ver la interfase de administración de a2billing, metiéndonos en el log de error de apache vemos el siguiente error.

a2billing

Luego investigar un poco, se indagó que se tenia que hacer dos cosas , por un lado actualizar la versión de PHP que viene en mi caso en Centos 6.6 que es la 2.3.0 y luego instalar un componente llamado Composer en PHP , entonces el procedimiento fue el siguiente :

1.- Actualizar la versión de PHP en Centos 6.6

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum –enablerepo=remi update php-\*

Una vez actualizado la versión de PHP es la 5.4.3 como se muestra a continuación:

a2billing

2.- Instalar Composer
Ingresamos primero donde hemos descargado las fuentes de a2billing.

cd /usr/local/src/a2billing
curl -sS https://getcomposer.org/installer | php
php composer.phar update
php composer.phar install

3.- Finalizar la instalación de a2billing
Si ya hemos copiado las carpetas, es necesario eliminarlas de apache.

ln -s /usr/local/src/a2billing/common /var/www/html/common
ln -s /usr/local/src/a2billing/admin /var/www/html/admin
ln -s /usr/local/src/a2billing/agent /var/www/html/agent
ln -s /usr/local/src/a2billing/customer /var/www/html/customer

chmod 755 /var/www/html/admin/templates_c
chmod 755 /var/www/html/customer/templates_c
chmod 755 /var/www/html/agent/templates_c
chown -Rf apache:apache /var/www/html/admin/templates_c
chown -Rf apache:apache /var/www/html/customer/templates_c
chown -Rf apache:apache /var/www/html/agent/templates_c
service httpd restart

Ahora ingresamos nuevamente : http://TUIP/admin y veremos la pagina con la ultima versión de a2billing:

a2billingEspero les sirva
Saludos
Juan Oliva