Skip to content

Sangoma Session Border Controller

sbc-critical-component

 

Un Session border controller  o “SBC” , es un concepto de seguridad que desde hace unos años se ha venido escuchando con mas fuerza, sobre todo por lo duro y aveces casi inviable, el poder trabajar con Firewalls perimetrales y a la vez brindar seguridad completa a una plataforma de VoIP.

 

Por tanto la posibilidad, de tener un elemento o entidad única de seguridad especializada en VoIP y que de cara a internet, para garantizar en gran medida, protección de ataques externos, es muy importante de considerar.

 

Luego que los amigos de Sangoma presentarán en la sociedad Elastix , su desarrollo de SBC , me dio mucha curiosidad probarlo y validarlo.

 

Después de obtener una licencia para realizar las pruebas (Gracias Ernesto Casas @ecasas :D ) procedí a instalarlo y me di con la sorpresa con un producto bastante amplio con muchas posibilidades.

 

sbc

 

 Luego, realicé una implementación la cual es explicada en los manuales como “Sip Trunking” (http://wiki.sangoma.com/NSC-SIP-Trunking-Setup) La cual no es mas que poner el SBC delante de un PBX Elastix en este caso , que tiene una troncal SIP contra un proveedor de VoIP, como se muestra a continuación:

 

elastix-sbc

 

Luego de lograr la integración (llamadas entrantes y salientes) me puse a “probar” la seguridad que brinda el mismo, realicé algunos ataques convencionales y conocidos para ver como reaccionaba el SBC y efectivamente bloquea los ataques, como se muestra a continuación.

 

Selection_573

 

Sin lugar a dudas un SBC es un elemento que va ayudar mucho a salva guardar una infraestructura de VoIP/Telefonía IP , en este caso Sangoma con su SBC ha hecho un gran trabajo en este producto, muestra innumerables opciones y posibilidades de aseguramiento.

 

Sin embargo como cualquier elemento de seguridad ya existente, mucho dependerá, como se configure y se afine, para poder realizar su trabajo eficientemente y evitar fraudes y hackeos a la plataforma.

 

Si desean más información

 

Modelos y características : http://www.sangoma.com/session-border-controllers/

Wiki : http://wiki.sangoma.com/NetBorder-Session-Controller

 

Espero les sirva
Juan Oliva

Publicado mi Paper : Seguridad en Implementaciones de Voz Sobre IP

Un paper con una vista general acerca de la seguridad VoIP actualmente y prácticas recomendadas.

sivoipi

La semana anterior Elastix lanzó un paper general sobre seguridad relacionado con Implementaciones en VoIP.

Este trabajo se realizó en conjunto con Juan Oliva como autor principal del documento y Paul Estrella como Editor asociado. En el lanzamiento se incluyó una versión al Inglés que fue traducida por Elvita Crespo, actual Channel Manager de Elastix.

El objetivo del documento es el de generar información de primera mano que permita a integradores apoyar trabajos relacionados con la estimación de un proyecto de telefonía IP bajo la óptica de incluir componentes de seguridad en el mismo.

El trabajo permite además hacer una introducción básica y sencilla sobre potenciales amenazas a personas con poco conocimiento sobre el tema.

De esta forma, Elastix, Juan Oliva y compañía, buscan iniciar una serie de aportes que permitan a usuarios de tecnología, integradores y desarrolladores, promover políticas de seguridad en implementaciones VoIP y otras relacionadas.

El documento puede ser descargado en los siguientes enlaces:

Español – Seguridad en Implementaciones de Voz Sobre IP

Ingles – Security in Voice Over IP (VoIP) Implementations

Usted puede revisar más material sobre VoIP, Telefonía IP y Elastix en Manuales y Libros Elastix

 

Versión original : http://opendireito.com/2014/04/14/seguridad-en-implementaciones-de-voz-sobre-ip/

 

 

 

Probamos lo que en teoría…. protegemos ???

seguridad-linux

Muchas veces veo configuraciones que en teoría, deberían proteger una plataforma o servicios, sin embargo el común denominador es que no prueban si realmente, la herramienta o el servicio que configuraron, para proteger esta haciendo su trabajo.

A continuación les dejo un par de “demos” que mostré el año pasado en el “Encuentro Internacional de Software Libre” desarrollado en Quito-Ecuador

minga

Donde mostraba en  mi charla “Implementando seguridad en plataformas de software Libre Elastix” algunos mecanismos para probar si realmente las configuraciones de seguridad funcionan, y que realmente una plataforma puede ser muy robusta , y es que la realidad de la cosas es que “todo depende del profesional que las implemente”

Protegiendo el servicio SSH ante ataques de password craking con Fail2ban ssh

Protegiendo Asterisk ante ataques SIP con Fail2ban

Espero les sirva la info
Saludos
Juan Oliva

Explotando Vulnerabilidad en Zimbra

zimbra

Después del alboroto de las fiestas de fin de año, volvemos al ruedo, el pasado diciembre 2013 , fue reportada una vulnerabilidad y publicado su respectivo exploit  , en Zimbra para las versiones 8.0.2 y 7.2.2, el exploit ataca un vector LFI .

Exploit : http://www.exploit-db.com/exploits/30085/

Vector LFI : https://mail.dominio.com/res/I18nMsg,AjxMsg,ZMsg,ZmMsg,AjxKeys,ZmKeys,ZdMsg,Ajx%20TemplateMsg.js.zgz?v=091214175450&skin=../../../../../../../../../opt/zimbra/conf/localconfig.xml

A través de este vector, es posible creación de un usuario administrativo en la plataforma, es decir es posible tomar el control del servidor de correo Zimbra, para leer buzones, crear nuevas cuentas,  y si ya se …  Spamm free !!

Es posible explotar la vulnerabilidad remotamente , si la interfase administrativa de Zimbra (puerto 7071) esta abierta.

A continuación veremos como probar si nuestro Zimbra es vulnerable.

1.- Descargar y configurar el exploit
Para esto utilizaremos kali Linux como sistema operativo base ya que el exploit esta escrito en ruby y en este caso Kali , tiene todas las librerías de Rubi instaladas.

zimbra

2.- Ejecutar el exploit
Si el exploit se ejecuta correctamente, tendremos un resultado como el siguiente:

zimbra

Al parecer nuestro exploit se ejecuta correctamente, ahora ingresaremos con las credenciales creadas

3.- Ingresando como administrador en Zimbra

Ingresamos con el usuario que creamos con en el exploit

zimbra

Y como vemos podemos ingresar como Administradores en Zimbra

zimbra

Ojo versiones de Zimbra con este aspecto también son vulnerables:

zimbra

4.- Parchando

Afortunadamente los desarrolladores de Zimbra han publicado los parches para esta vulnerabilidad

http://www.zimbra.com/forums/announcements/67236-security-guidance-reported-0day-exploit.html

Así que a parchar se ha dicho señores , Feliz 2014 !!

Descargo de responsabilidad: El presente post es una prueba de concepto, hecho con objetivos netamente de defensa y protección, es responsabilidad del lector el uso de este conocimiento.

Los números del 2013 en mi blog

Los duendes de las estadísticas de WordPress.com prepararon un informe sobre el año 2013 de este blog.

Aquí hay un extracto:

El Museo del Louvre tiene 8.5 millones de visitantes por año. Este blog fue visto cerca de 110.000 veces en 2013. Si fuese una exposición en el Museo del Louvre, se precisarían alrededor de 5 días para que toda esa gente la visitase.

Haz click para ver el reporte completo.

Instalación de Snort sobre ELASTIX 2.04

SNORT 2.9.2.2 CON ELASTIX 2.4 32BITS

Selección_118

PREREQUISITOS
perl-DBD-Pg mysql-devel

INSTALACION DE LIBRERIAS

cd mkdir /snort_install
cd /snort_install
wget http://www.tcpdump.org/release/libpcap-1.2.1.tar.gz
tar xvfz libpcap-1.2.1.tar.gz
cd libpcap-1.2.1
./configure
make && make install

cd /snort_install
wget http://sourceforge.net/projects/pcre/files/pcre/8.30/pcre-8.30.tar.gz/download
tar xvfz pcre-8.30.tar.gz
cd pcre-8.30
./configure
make
make install

cd /snort_install
wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
tar -zxvf libdnet-1.12.tgz
cd libdnet-1.12
./configure
make && make install

ACTUALIZAR LIBRERIAS
cd /usr/lib/
rm -f libpcap.so.0  libpcap.so.0.9
ln -s /usr/local/lib/libpcap.so.1.2.1 /usr/lib/libpcap.so.1.2.1
ln -s /usr/lib/libpcap.so.1.2.1 /usr/lib/libpcap.so.1
ln -s  /usr/lib/libpcap.so.1  /usr/lib/libpcap.so

cd /snort_install
wget http://www.snort.org/downloads/2103
mv daq* daq-2.0.0.tar.gz
tar -zxvf daq-2.0.0.tar.gz
cd daq-2.0.0
./configure
make && make install

INSTALACION DE SNORT
cd /snort_install
tar -zxvf snort-2.9.2.2.tar.gz
cd snort-2.9.2.2
./configure –with-mysql –enable-dynamicplugin
make && make install

CONFIGURACION DE USUARIOS Y PERMISOS PARA FUNCIONAMIENTO DE SNORT
groupadd snort
useradd -g snort snort -s /sbin/nologin
mkdir /etc/snort
mkdir /etc/snort/rules
mkdir /etc/snort/so_rules
mkdir /etc/snort/preproc_rules
mkdir /var/log/snort
chown snort:snort /var/log/snort
mkdir /usr/local/lib/snort_dynamicrules
cd /snort_install/snort-2.9.2.2/etc/
cp * /etc/snort/

CONFIGURACION DE REGLAS
cd /snort_install
tar xvzf snortrules-snapshot-2921.tar.gz
cd rules/
cp * /etc/snort/rules
cp ../so_rules/precompiled/Centos-5-4/i386/2.9.2.1/* /etc/snort/so_rules
cp ../preproc_rules/* /etc/snort/preproc_rules/

CONFIGURACION DE IPS DE ESCUCHA
vim /etc/snort/snort.conf

ipvar HOME_NET [192.168.10.142]
ipvar EXTERNAL_NET !$HOME_NET

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules

2. comment on the whole “Reputation preprocessor” section, because we haven’t whitelist file
3. find “Configure output plugins” section and add the line “output unified2: filename snort.log, limit 128″

INICIAR SNORT EN MODO IDS
/usr/local/bin/snort -D -u snort -g snort -c /etc/snort/snort.conf -i eth0

CONFIGURACION DE SOPORTE DE BASE DE DATOS

mysql -p
create database snort;

cd /snort_install/snort-2.9.2.2
mysql -u root -p -D snort < schemas/create_mysql

vi /etc/snort/snort.conf
output database: alert, mysql, user=root password=yourpassword dbname=snort host=localhost
output database: log, mysql, user=root password=yourpassword dbname=snort host=localhost

mysql -p
use snort;
select * from event;

INSTALACION DE INTERFASE GRAFICA BASE

yum -y install php-pear
pear install Image_Canvas-alpha
pear install Image_Color
pear install Numbers_Roman
pear install Image_Graph-0.8.0
cd /snort_install/
wget http://sourceforge.net/projects/adodb/files/adodb-php5-only/adodb-511-for-php5/adodb511.tgz/download
wget http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.5/base-1.4.5.tar.gz/download
cd /var/www
tar -xvzf  /snort_install/adodb511.tgz
mv adodb5/ adodb/
cd html/
tar xvzf /snort_install/base-1.4.5.tar.gz
mv base-1.4.5/ base/
cd base/
cp base_conf.php.dist base_conf.php

vim base_conf.php

$BASE_urlpath = ‘/base’;
$DBlib_path = ‘/var/www/adodb’;
$DBtype = ‘mysql’;
$alert_dbname   = ‘snort’;
$alert_host     = ‘localhost’;
$alert_port     = ”;
$alert_user     = ‘snort’;
$alert_password = ‘yourpassword’;

Create BASE AV
# service httpd restart
Igresar a , https://yourip/base, hacer click sobre “Setup Page”  y luego click sobre  “Create BASE AV”

Instalación de TUMITOOL en Kali Linux

tumitool

Hace un tiempo que no posteo cosas de Hacking, quizás por que no encontraba algo realmente nuevo,  bueno esta vez me anime a escribir sobre TUMITOOL , para los que no saben es una herramienta para Pentest (o lo que se les apetesca :D )  creada por OpenSec , lo realmente interesante, es que es la primera tool de seguridad creada por Peruanos,  en un mercado local, donde nadie se arriesga a hacer algo diferente, algunos locos :D como Walter Cuestas  @wcu35745 , Mauricio Urizar @MauricioUrizar y Camilo Galdos  @SeguridadBlanca , tuvieron esta idea realmente estupenda.

Basado en la experiencia en campo realizando un proceso de Pentest o Ethical Hacking , TUMI es un conjunto de scripts para poder realizar muchas partes del pentest desde una sola plataforma y de forma mas sencilla , rápida y ordenada.

TUMI está escrito en python y actualmente cuenta con 10 Módulos de FingerPrint, 10 Módulos de Vulnerability Assesment, 6 Módulos de Attack , un poco de detalle de lo que es Tumi.

“La herramienta tiene diferentes módulos para poder cumplir diferentes funciones de búsqueda y explotación de vulnerabilidades. Cuenta con diferentes módulos de Fingerprint mediante los cuales se puede hacer busquedas de información de IPs y Dominios, también cuenta con un sistema de reportes mediante el cual se ponen en ejecución varios de los módulos de fingerprint. Por el lado de Vulnerability Assesment, se cuenta con búsquedas y validación de diferentes tipos de vulnerabilidades web, así como vulnerabilidades a nivel de servidores. En cuanto a Attack, se pueden ver módulos de algunas vulnerabilidades web, validación de vulnerabilidades a nivel browser y un módulo que se añadió casi al final pero es bastante útil, ejecución de comandos via MSSql inseguro…”

Extraído de : http://www.seguridadblanca.in/2013/08/tumi-pentest-tool-peruana.html

Como se indica el programa es totalmente OPEN SOURCE así que cualquiera que se anime a desarrollar módulos puede hacerlo,  de hecho que este servidor va iniciar con un modulo de VoIP a partir de ahora, tio Camilo me vas a tener que aguantar con las preguntas ..jejeje.

Entonces, si realmente quieres aprender Hacking y Pentest , desarrollar herramientas de este tipo, pone a prueba tu conocimiento y destreza, así que esta, es una estupenda oportunidad para poder iniciar y dejar de usar herramientas para empezar a usar las tuyas en TUMI, A continuación veremos como realizar la instalacion de sobre Kali Linux.

Instalación de TUMI TOOL en Kali Linux

Realmente la instalación no es complicada , quizás lo mas complicado es compilar un paquete desde código fuente y luego editar un archivo de configurar de apache, como lo verán a continuación :

1.- Dependencias
#apt-get install python-dns python-dnspython python-ipcalc
#wget http://xael.org/norman/python/python-nmap/python-nmap-0.3.2.tar.gz
#tar xvfz python-nmap-0.3.2.tar.gz
#cd python-nmap-0.3.2/
#python setup.py install

2.- Configuración de CGI-BIN de Apache2

Entrar al archivo de configuracion de apache
#vi /etc/apache2/sites-available/default

Tal como lo dice el manual en la linea 16 encontrara algo como esto:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin/”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

Cambiarlo por :

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory “/var/www/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AddHandler cgi-script .py
AddHandler default-handler .html .htm
</Directory>

Para no hacerse líos,  yo recomiendo comentarla, quedaría de esta forma:

tumitool

Luego reiniciar el servicio de apache2
#service apache2 restart

3.- Descarga e instalación

#cd /root/
#wget https://github.com/Open-Sec/TumiTool/archive/master.zip
#unzip master.zip
#cd TumiTool-master/var/www/
#mv tumi cgi-bin /var/www/
#cd /var/www/
#chmod -R a+wrx cgi-bin/ tumi/

4.- Ingresar al programa
TUMI es totalmente web, así que solo bastaria Ingresar al navegador directamente de desde Kali  (loopback) y si todo salio bien tendríamos lo siguiente :

http://1270.0.0.1/tumi

tumitool

De primera vista TUMI , esta dividido en

- Fingerprint
- Vuln Assesment
- Attack
- TumiPrint

Claramente representa o resume las principales etapas de un proceso de Ethical Hacking, dentro de cada una de ellas podemos encontrar algunas herramientas o técnicas implementadas a la fecha.


5.- Probando algunas cosas básicas

Como indique TUMI tiene mucho tipos de ataques y técnicas , vamos a ver algunos de ellos

5.1.- Escaneo de puertos Web

Ruta  :  Vuln Assesment / Nmap Web Ports

tumitool

Vamos a ver lo que nos arroja contra un servidor Elastix , para variar :D

tumitool

Luego de unos momentos , tenemos el resultado, lo interesante es que tenemos la opcion a descargar el archivo GNMAP y XML para poder usarlo con Nessus por ejemplo.

5.2.- Análisis de carpetas en Servidores Web

Ruta  :  Vuln Assesment / Run Nikto

tumitool

Vamos a tirar con el mismo servidor a ver que nos responde:

tumitool

Nos muestra que encontró la versión de Apache y  la carpeta como  /icons , entre otras cosas, si tuviera mas de hecho que lo encontraría.

Como ven es una herramienta totalmente funcional y aplicable, asi que se las recomiendo, y si eres Peruano mucho mas !!

Bueno eso es el comienzo, la segunda parte que espero que sea pronto, va ser como iniciar el desarrollo de un modulo para TUMI.

Saludos
Juan Oliva

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 94 seguidores