Upload
ricardo-rosend
View
58
Download
3
Embed Size (px)
Citation preview
Configuración de un laboratorio VoIPpara pruebas de penetración
Busy Tone GroupDaniel Rodríguez Rodríguez
Security ResearcherAgosto 2012
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Tabla de Contenido
Acerca de Esta GuíaRequisitos:
HardwareSoftware
Descripción del Entorno VoIPEntorno Asterisk
Configuración Máquina VirtualInstalación ElastixConfiguración ElastixConfiguración Cliente Windows
Entorno FreeSwitchConfiguración Máquina VirtualInstalación FusionPBXConfiguración Cliente Linux
Configuración Máquina AtacanteConclusiones
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Acerca de Esta GuíaComo parte del proceso de aprendizaje en temas de seguridad es indispensable contar con las herramientas necesarias para poder generar pruebas de seguridad en entornos específicos, para este caso particular, entornos de Voz sobre IP (VoIP). Durante esta guía veremos como configurar y colocar en marcha un entorno virtualizado de VoIP el cual permitirá realizar pruebas de seguridad para encontrar vulnerabilidades, mejorar la seguridad de los sistemas de PBX, y establecer mejores prácticas para este tipo de entornos.
Esta guía se desarrolla con fines educativos, los escenarios que se establecen en este documento son escenarios de prueba, la configuración realizada en esta guía no debe ser aplicada a entornos en producción ya que aquí no se establecen las mejores prácticas de configuración y seguridad, los entornos instalados contienen configuraciones y/o servicios por defecto.
Requisitos:A continuación se enumeran los requisitos para poder configurar de forma óptima el laboratorio de Pentest para VoIP. El laboratorio puede ser instalado sobre cualquier sistema operativo ya que todas las plataformas serán virtualizadas.
Hardware● Procesador: 2 GHz o superior● RAM: 4 GB● Disco Duro: 20 GB disponibles● Tarjeta de Red: 100 Mbps
Software● VirtualBox: https://www.virtualbox.org/wiki/Downloads● Elastix: http://www.elastix.org/index.php/es/descargas/distroprincipal.html● FusionPBX: http://www.fusionpbx.com/downloads● SFLPhone: http://sflphone.org/download/stablerelease● 3CX: http://www.3cx.es/voiptelefono/index.html
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Descripción del Entorno VoIPPara la configuración del entorno de Pentest VoIP vamos a trabajar con Virtualbox o VMware Player como herramientas de virtualización, FreeSwitch y Asterisk como plataformas de VoIP y Backtrack será la distribución para realizar las pruebas de seguridad sobre el entorno VoIP.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Entorno AsteriskLa primera plataforma a configurar en el laboratorio será un servidor asterisk, se ha seleccionado la plataforma Elastix debido a que es una de las distribuciones para VoIP y Comunicaciones Unificadas con Asterisk más populares en la actualidad, Elastix permite que desde un archivo .ISO podemos instalar sistema operativo (CentOS), servidor asterisk, interfaz de administración para el PBX, módulo de firewall, Call Center y otros servicios como FAX, Email, CRM, Bases de Datos y Mensajería instantánea.
Configuración Máquina Virtual
Descargar Elastix desde: http://www.elastix.org/index.php/es/descargas/distroprincipal.html
Crear una nueva máquina virtual, con tipo de Sistema Operativo Redhat
Establecer mínimo 256 Mb en memoria RAM (mínimo) 512 Mb (recomendado)
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Crear un nuevo disco duro virtual, recomendado 8 GB
Una vez creada la máquina se debe asignar la imagen .iso de Elastix a la Unidad de CD de lamáquina virtual.
La tarjeta de red se debe asignar en modo Adaptador puente o Bridge, asociando eldispositivo físico de nuestra máquina física.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Instalación ElastixPara iniciar la instalación de Elastix presionamos la tecla enter cuando aparezca la siguientepantalla.
Seleccionamos el idioma de instalación
Seleccionamos la distribución de teclado
Aparecerá el siguiente mensaje indicando que no se pudo leer la tabla de particiones, paracontinuar seleccionamos la opción Si, de esta forma se preparará el disco duro.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Para el tipo de particionamiento seleccionamos la opción 3, de esta forma se crea elparticionamiento predetermindado.
Para continuara seleccionamos la opción Aceptar
Habilitamos la tarjeta de red detectada por el sistema y el soporte para IPv4
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Podemos establecer una IP Fija para la tarjeta de red o dejarlo por DHCP, este casoseleccionamos la opción DHCP.
Seleccionamos el huso horario correspondiente a nuestra región.
Establecemos una contraseña para el usuario root y la confirmamos.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Tras configurar las opciones básicas de instalación comenzará la instalación de paquetes.
Establecemos la contraseña de My SQL para el usuario root.
Establecemos la contraseña para el usuario admin, esta contraseña se configura para acceder
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
a la administración de Elastix, FreePBX, VTiger, A2Billing y Flash Operator Panel.
De esta forma finalizará la instalación de Elastix, ingresamos con el usuario root y la contraseñacorrespondiente, verificamos la dirección IP (comando ifconfig) asignada por el servidorDHCP, ya que para configurar Elastix debemos ingresar a través de un navegador Web.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Configuración Elastix
Ingresamos al panel de administración de Elastix desde un navegador, a través de la url:https://ipserver
Al ingresar veremos el Dashboard principal, allí se puede observar un panel que indica elestado de los procesos., En el menú principal damos clic sobre la opción PBX.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
En el menú de la izquierda, dentro de la sección Basic seleccionamos la opción Extensions,seleccionamos en la lista Device la opción Generic Sip Device y damos clic en Submit.
En User Extension establecemos el número de la extensión para este laboratorio será la 1001y en Display Name colocamos un nombre que identificará a la extensión.
En la sección Device Options establecemos el parámetro secret, esta será la contraseña conla cual se registrará la extensión SIP.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Para finalizar la creación de la extensión damos clic en el botón submit, los demás campos son opcionales.
De este mismo modo crearemos unas cuantas extensiones.
Configuración Cliente WindowsEn esta sección vamos a configurar un softphone para Windows, trabajaremos con 3CX perocualquier otro cliente en cualquier sistema operativo funcionará similar.
Ejecutamos el instalador de 3CX y seguimos el asistente de instalación.
Al finalizar la instalación ejecutamos el 3CXPhone
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
La primera vez que iniciemos el Softphone, nos informará que no existe un perfil SIP,seleccionamos la opción Create Profile.
Creamos una cuena ingresando a la opción New
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
En account name, ingresamos un nombre que describa la cuenta, en Caller ID establecemos el Identificador de la cuenta. En la sección credentials colocamos el número de la extensión, el ID y la contraseña correspondiente y en la sección Specify the IP of your PBX, colocamos la ip de nuestro PBX.
Guardamos la cuenta presionando el botón OK
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
El softphone debe registrarse contra el PBX, mostrando un mensaje de disponible (Available)
Para verificar marcamos *65 de esta forma nos contestará el servidor indicandonos el número de la extensión.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Entorno FreeSwitchPara el entorno con FreeSwitch vamos a instalar la distribución FusionPBX.
Configuración Máquina Virtual
Descargamos la imagen .iso del instalador de FusionPBX desde la siguiente URL.http://www.fusionpbx.com/downloads/iso/centos/Fusionpbx1.0i386BalajiBHR.iso
Creamos una nueva máquina en VirtualBox con las siguientes características :
Nombre: FusionPBXSistema operativo: Linux Red HatMemoria RAM: 512Disco Duro: 8 GBTarjeta de Red: Bridge (Puente)
Asignamos la imagen .ISO a la unidad de cd de la máquina virtual.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Instalación FusionPBX
Al iniciar desde el CD de instalación aparece la opción para instalar FusionPBX con MySQL oPostgreSQL. En el mensaje boot, presionamos enter o la opción que deseemos, en este casoal presionar enter se instalará por defecto con MySQL.
El proceso de instalación tardará unos minutos, y solo debemos reiniciar para finalizar.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Luego del primer inicio de FusionPBX aparecerá un mensaje que nos informa las credencialesde acceso al sistema y a la base de datos. (Importante realizar el cambio de las contraseñaspor defecto.)
Configuración FusionPBX
Ingresamos con el usario root al sistema y procedemos a crear la base de datos de nuestroPBX.
Ingresamos a MySQLmysql -u root -p
Creamos la base de datos, en este caso la llamamos fusionpbx:create database fusionpbx;
Debemos recibir un mensaje como este:
Salimos de la consolo de mysql con el comando exit
Verificamos la dirección ip de nuestro servidor con el comando ifconfig
En caso de que no tengamos asignada una dirección IP podemos establecerla manualmente, ingresamos el comando setup, aparecerá un menú ingresamos a la sección Network
Configuration y establecemos los parámetros de red.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Una vez establecidos los parámetros de red, volvemos al menú con la tecla ESC yseleccionamos la opción Save&Quit
Por último reiniciamos el servicio de red con el comando service network restart
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Ingresamos desde un navegador web a la dirección de nuestro PBX: http://ipserver/install.php
Seleccionamos el tipo de base de datos, en este caso MySQL, el directorio de freeswitch/usr/local/freeswitch y en PHP Directory: /usr/bin
En esta parte configuramos los datos de conexión a la base de datos (host, puerto, nombre dela base de datos, usuario y contraseña)
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Si todo salió correctamente aparecerá un mensaje que nos indica que la instalación se ha completado y nos informa los usuarios y contraseñas para acceder al panel de administración de FusionPBX.
Ingresamos al panel de administración, primero vamos a crear un usuarios, vamos al menúAccounts y luego a User Manager
Para crear un nuevo usuario damos clic en el botón e ingresamos los datoscorrespondientes.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Para crear una extensión vamos a Accounts / Extensions y damos clic sobre el icono
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Inicialmente colocaremos el número de la extensión, en rango dejamos 1, seleccionamos el usuarios de la lista y damos clic en el botón Save.
En este caso, la contraseña de la extensión fue generada aleatoriamente, para validar o cambiar la contraseña editamos la extensión y nos ubicamos sobre el campo
Configuración Cliente LinuxEn esta parte vamos a configurar un cliente SIP para linux, aunque vamos a trabajar con linphone para comunicarnos con el FreeSwitch, se puede utilizar cualquier otro softphone, la configuración es similar.
para instalar linphone en debian o ubuntu se debe ejecutar: sudo apt-get install linphone
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Ejecutamos linphone y configuramos una cuenta SIP.
Vamos al menú Linphone/ Preferencias / y luego vamos a la pestaña Manage SIP Accounts
Para agregar una nueva cuenta damos clic en el botón añadir
Ingresamos los datos de la cuenta ej: SIP:[email protected] y en el proxy SIP:192.168.0.11
Al aceptar la configuración aparecerá un mensaje solicitando la contraseña de la extensión, ingresamos la contraseña y Aceptamos, con esto ya tendremos registrada la extensión.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Para verificar el registro podemos marcar *9197 o *9198, al llamar se deben escuchar unostonos de prueba.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Configuración Máquina AtacantePara realizar las pruebas de seguridad a las plataformas de VoIP utilizaremos la distribuciónBacktrack que se puede descargar desde la siguiente URL:http://www.backtracklinux.org/downloads/
Allí seleccionamos la versión a descargar, arquitectura, tipo de imagen y tipo de descarga, para este laboratorio descargamos la versión 5R3, 32 bits, ISO o Imagen de VMware, Descarga directa o Torrent.
Una vez descargado procedemos a configurar una nueva máquina virtual en VirtualBox,configuramos la red en modo puente (bridge), 512 MB de Memoria RAM, si descargamos laimagen de VMWare cargamos el disco duro (VMDK) a la configuración de disco de virtualbox,en el caso de la imagen .ISO lo asignamos a la unidad de CD.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Iniciamos la máquina virtual e iniciamos con el usuario root y contraseña toor, luego iniciamosel entorno de escritorio (gnome) con el comando startx
Backtrack cuenta con una serie de herramientas dedicadas a pruebas de pentest en VoIP que se encuentran dentro de la carpeta /pentest/voip estas herramientas serán explicadas en próximas guías.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012
Conclusiones● El desarrollo de un ambiente de prueba, nos permite crear un espacio controlado, donde
podemos revisar características de las soluciones instaladas y herramientas de ataque y defensa en un marco totalmente práctico.
● Durante esta guía se pudo evidenciar que con unos cuantos pasos se puede colocar en funcionamiento una plataforma de VoIP, en muchas oportunidades se realizan configuraciones simples sin pensar en aspectos de seguridad y desafortunadamente, muchas veces las instalaciones solamente se reducen a estos simples pasos.
● Al contar con un laboratorio para pruebas de seguridad de VoIP se pueden realizar pruebas de concepto sobre los nuevos ataques a este tipo de plataformas, de esta forma se puede analizar como funcionan y cómo se pueden contrarrestar los ataques.
● Los ambientes controlados permiten el desarrollo de nuevas necesidades, falencias y desarrollos en cuanto a aspectos de seguridad, comprendiendo un ambiente real, sin generar posibles afectaciones a plataformas no autorizadas.
Busy Tone Group | http://www.busytone.org | @BusyToneGroup | 2012