En construcción

He comprado recientemente una cámara IP de videovigilancia. No quería gastar demasiado (es de uso doméstico) y veía que había opciones bastante económicas. Después de rastrear internet, me decidí por una de la marca Sunluxy, modelo BT470, conocida también por Wanscam JW0004. La verdad es que (a pesar de lo que voy a contar en el post) no está nada mal: 720p, H.264, motorizada, WIFI, IR, microSD, detección de movimiento, alertas por smtp, compatible con FTP, ONVIF, etc. Vaya, bastante completita sobre el papel. Para quien le interese, la compré en amazon por 47EUR: http://www.amazon.es/gp/product/B00M6QO7S2

sunluxy-bt470

Bien, una vez recibida la empiezo a probar. Como dice la gente, las instrucciones son bastante pobres pero bueno, en un plis la echas a andar. Me instalo la app de Android que recomiendan: Netcam360 (https://play.google.com/store/apps/details?id=hsl.p2pipcam). La app funciona bien, la traducción a español es desastrosa pero bueno, bastante funcional, aunque yo uso otra app (tinyCam PRO: https://play.google.com/store/apps/details?id=com.alexvas.dvr.pro). En fin, sigo probando la app Netcam360 y funciona correctamente. Y aquí empieza la diversión. Me da por quitar la wifi, y para mi sorpresa sigo pudiendo acceder a la cámara con la app, desde fuera de casa, con datos. Oh vaya! mola! … o no? Pues no, no mola. No mola que por arte de magia sin haber configurado absolutamente nada, ni de la cámara ni de mi router ni nada, pueda acceder a la cámara desde fuera de mi LAN. ¿Y cómo hace esto? ¿Magia? Claro! En fin, que ya había leído por ahí que la cámara es UPNP, y que te intenta abrir un puerto en el router, para que puedas acceder desde fuera. Pues es eso (pensé) seguro. Mi router tendrá habilitado el upnp, la cámara ha abierto un puerto por la p*** cara para facilitarme la vida, y todos tan contentos. Entro en el router y no veo ningún puerto abierto por upnp (bueno, unos cuantos de skype). Tengo que decir que en otras pruebas que hice con la cámara, en otro entorno, sí que me abrió un puerto por upnp (no recuerdo cuál), pero en esta ocasión no había rastro. ¿Cómo es esto posible entonces? También tengo que decir que mi router es una castaña y que no me extrañaría que hubiera puertos abiertos y no me los muestra en su interfaz web, pero me extrañaba. No me quedé conforme. En teoría no había ningún puerto abierto (ni manualmente ni por upnp) que me facilitara la conexión a la cámara desde fuera de casa. Qué mosqueo. Aún así, lo primero que quise hacer es desactivar el upnp del router. Mi router es de Adamo (una castaña), y solo te dan un usuario genérico, no admin; y no se puede desactivar el upnp. Tuve que llamar a atención al cliente y la verdad que en poco tiempo ellos hicieron la gestión. Discutí un poco con ellos sobre por qué no dan derecho de admin, pero bueno, es una batalla perdida. Me desactivaron el upnp en un ratillo. Sí, y la cámara sigue funcionando desde fuera: no es el upnp definitivamente.

Bueno, me pongo a intentar averiguar cómo narices consigo ver la cámara desde fuera. Lo primero que se me ocurre es intentar ver todo el tráfico entre mi móvil (con la app Netcam360) y mi cámara. Intenté instalar distintos sniffers para Android, pero no me funcionaban. Finalmente, haciendo pruebas desde mi trabajo consigo ver todo el tráfico saliente y entrante de mi teléfono (básicamente haciendo un port mirror del AP donde estaba conectado el móvil). Cierro la app Netcam360 (force close) y dejo el móvil en reposo, para que genere el menor tráfico de red posible. Lanzo un tcpdump, arranco la app de netcam para capturar el tráfico que va a generar, y empiezo ya a ver cosas tela de guapas:

tcpdump1

NOTA: la IP de mi teléfono es la 10.243.135.56

Bien, estoy bastante seguro que todo el tráfico (o la inmensa mayoría) capturado es generado por Netcam360 (he hecho bastantes pruebas). Ya el comienzo de la traza es bastante feo. ¿Conexiones UDP a 182.92.233.118? ¿perdón? ¿puerto 32100?

Aaahhh, qué bien, que la app se conecta a un server chino para sabe dios qué, aaahh. Y es lo primero que hace. He examinado el payload de todas las conexiones a ese server, pero no es legible. Son paquetes de entre 60 y 86 bytes. En total, he contado 1K aproximadamente de intercambio con esa ip, pero ni idea de lo que es.

Otra IP molona que aparece por ahí: 54.186.68.220, y al mismo puerto 32100 Veamos:

Anda mira, de Amazon. Seguramente sea una máquina virtual AWS. Qué es ese server y por qué esas conexiones, ni idea. De nuevo, 1K de intercambio UDP con esa IP. De hecho, el contenido de los paquetes se parecen a los otros. Sea lo que sea que esté destrás del puerto 32100, parace un software similar en ambos casos. Aparecen otras 2 ó 3 direcciones de Amazon, con contenido parecido. Parece que se conecta a varias máquinas AWS.

En la traza también aparece conexiones directas con mi router que van a parar a la cámara:

tcpdump2

Sí, la 91.126.73.51 es mi ip. El paquete #58 es el primero que hace referencia a mi ip, y como se ve, es una conexión directa UDP al puerto 10712. Ese puerto por supuesto no lo tengo abierto en el router, así que mi sospecha es que la cámara mantiene una conexión abierta al server chino o a alguno de amazon y éstos le dicen a mi móvil que use ese puerto, que ya está abierto por la supesta conexión abierta con anterioridad. Creo que así funciona teamviewer por ejemplo. Esto solo es una sospecha, porque (por ahora) no tengo manera de ver qué trafico genera la cámara. Esto me queda pendiente.

Una vez establecida la conexión directa entre mi móvil y la cámara, hay bastantes paquetes udp de intercambio entre uno y otro, hasta que empieza la fiesta:

tcpdump3

ahí se ve un paquete udp con una petición bastante clara. El script cgi check_user hará alguna comprobación de autenticación, porque se mandan las credenciales (user y pass), y en texto plano como no podría ser de otra forma. Esto lo hace varias veces, y también llamando a otros cgi. Seguimos:

tcpdump4

y ahí está mandando, en texto plano como no podría ser de otra forma, toda la config de la cámara (son varios paquetes, solo pongo uno): user y pass de administrador, ssid de la wifi, clave de la wifi (sí, la de mi casa), etc. Me sorprende que se manden datos tan sensibles de esta manera, y sin conocimiento del usuario. Después del baile de usuarios, passwords, redes, etc., empieza el de streaming de video (JFIF) directo al teléfono.

Hasta donde he podido averiguar, toda esta info no parece que se comparta con ninguno de los servidores que he mencionado anteriormente, sino solo entre el móvil y la cámara, para que la app (Netcam360) sepa (y en su caso modifique) toda la configuración de la cámara.

Después, antes y durante todo esto, me puse a investigar por internet, y sí, hay entradas bastante preocupantes sobre esta cámara:

http://forums.whirlpool.net.au/archive/2270750
http://drolez.com/blog/?category=Hardware&post=jw0004-webcam
https://www.pentestpartners.com/blog/hacking-the-ip-camera-part-1/
https://www.pentestpartners.com/blog/hacking-the-aldi-ip-cctv-camera-part-2/

Me queda una cosa importante que me gustaría conseguir, y es la de acceder por telnet (sí, telnet) a la cámara y ver por ejemplo el tráfico que entra y sale directamente, si se puede. En muchos sitios se dice que para entrar por telnet las credenciales son root/123456, y otras combinaciones varias, pero a mi no me sirve ninguna. En los dos últimos enlaces que he puesto, se explica entre otras cosas que esta cámara tiene una vulnerabilidad (bueno, unas cuantas) de «command injection», que básicamente consiste en poder ejecutar determinados comandos (a través de la interfaz web) y ver la salida. En resumen, en el formulario donde se configura el servidor ftp que usa la cámara, se mete el comando a ejecutar, y en el log del servidor ftp que hemos puesto (tenemos que tener acceso evidentemente) vemos el resultado de esa ejecución:

camera_ftp_config

…y en el log del demonio ftp nuestro server (192.168.1.200):

ahí está; el password de root, cifrado claro. Y en eso estoy ahora, intentando reventarlo con el amigo john the ripper. De verdad, si tenéis curiosidad leed los dos últimos links que he puesto. No tienen desperdicio.

¿Qué he hecho por ahora? Pues nada, lo que quería era dejar mi cámara completamente aislada del exterior. Si quiero verla desde fuera me conectaría a mi vpn y listo. Para evitar enredos de configuración de firewall y demás historias, lo que he hecho simplemente es quitarle el dhcp a la cámara, ponerle una ip fija y de gateway 0.0.0.0. Listo. Ahora ni me funciona Netcam360 desde fuera, como era de esperar; ni la cámara se puede conectar a ningún sitio fuera de mi LAN.

Conclusión: realmente creo (o quiero pensar) que los servidores a los que se conecta la cámara es simplemente para facilitar la conexión desde el exterior. No he visto que se intercambie información sensible con ellos. Sí que se intercambia con la app de Netcam360, y en texto plano; bastante feo. No hay manera de deshabilitar el upnp de la cámara. Eso es otro punto negativo. Es evidente que la programación del firmware deja muchísimo que desear, pero bueno, por menos de 50EUR tienes una cámara IP bastante funcional y con buenas características, pero con estos riesgos que ya uno si quiere y está dispuesto, puede asumir.

Tips & tricks

Poco a poco voy descubriendo cosillas nuevas sobre la cámara. Por ejemplo, los puertos y servicios de la cámara:

El 81 se usa para la interfaz web y streaming H264. El 10080 es el puerto ONVIF y el 10554 el RTSP. El 9600 todavía no sé qué es.

La URL para acceder al stream H264 es:

Sin embargo, el codec H264 usado es propietario. FFmpeg o mplayer son capaces de reproducirlos, pero a veces pasan cosas raras. Ambos programas imprimen muchos mensajes de warning y/o error, que no sé muy bien qué significan; sin embargo, normalmente reproducen el stream. Digo normalmente porque a veces el video se queda completamente gris, y aplicaciones como Tinycam Pro (la que uso en el móvil) sigue reproduciendo el stream correctamente. Sunpongo que es debido a que la app de android tiene bien implementado el codec propietario y ffmpeg o mplayer no lo entienden bien. En cualquier caso, un reboot de la cámara arregla el problema y se vuelve a ver el video correctamente. Por cierto, para reiniciar la cámara basta con un wget:

yo lo tengo en una tarea de cron para reiniciarla todos los días. Yep, vaya ñapa.

La URI para el stream RTSP es:

Con vlc por ejemplo se puede reproducir. Sí, a veces también se le va la pinza y no pilla el stream. Hay que reiniciar la cámara. No he encontrado otra solución.

Para el protocolo ONVIF, el programa Onfiv Device Manager me ha funcionado correctamente

Jugando con la cámara IP Sunluxy BT470 / Wanscam JW0004

23 pensamientos en “Jugando con la cámara IP Sunluxy BT470 / Wanscam JW0004

  • 08/12/2015 a las 20:41
    Enlace permanente

    Buenas

    Tengo la misma cámara y me gustaría aportar al juego 🙂

    No la tengo desde hace mucho tiempo pero ahora mismo y gracias a tu ayuda, ando crackeando la password de root a una velocidad de 14781 passwords/segundo.

    Lo que mas me fastidia de la cámara es que el Stream RTSP se corte cuando le venga en gana, estoy seguro que es un fallo de programación y me gustaría solventarlo

    Si quieres contactar conmigo no dudes en mandarme algún correo.

    Saludos.

     

    Responder
    • 15/01/2016 a las 19:31
      Enlace permanente

      BUenas a los dos, hace tambien poco tiempo que tengo una camara de estas y me pasa lo mismo,,,mis conocimientos de programacion e internet son minimos y buscando por los foros he dado con vosotros….me pregunto si has podido solucionar el tema que comentas. Si es que si te agradeceria que te puesieras en contacto conmigo y asin preguntarte la solucion, si la hay….jejje

      te dejo mi correo.

      xaica36@gmail.com

       

      Hasta pronto.

      Jose

      Responder
  • 15/03/2016 a las 17:53
    Enlace permanente

    Pues sigo procesando la clave a ver si sale, pero de momento no hay resultado.

    La tengo un poco abandonada y no he jugado mucho con ella, pero en breve intentaré retomarla.

    De momento ahí tengo mi instancia procesando la contraseña que nos abra las puertas 🙂

    Responder
    • 16/03/2016 a las 09:39
      Enlace permanente

      Yo también la tengo un poco abandonada. Bueno, la uso a diario, pero para lo que fue concebida 🙂 Me gustaría remotar el tema de la contraseña y eso, pero no tengo mucho tiempo. A ver si saco un rato. Un saludo

      Responder
  • 12/08/2016 a las 23:31
    Enlace permanente

    hola, yo tambien la tengo però soy incapaz de conectarme desde el PC, vosotros podeis?

    si es que si, cómo?

    Responder
      • 13/08/2016 a las 14:37
        Enlace permanente

        correcto, yo pongo en el internet explorer 192.168.0.53:81 enter y letrerito de servidor no respondre.

        Responder
        • 13/08/2016 a las 16:58
          Enlace permanente

          Supongo que la habrás reseteado varias veces no? Has hecho algún cambio? Nunca has podido entrar? Has probado con la app de Android netcam? Seguro que es esa la ip? Responde al ping?

          Responder
          • 15/08/2016 a las 21:23
            Enlace permanente

            si, la he reseteado alguna vez tanto en modo corto (que restablece la conex), como en modo largo dejandola de fabrica.
            nunca he podido entrar de otro modo que no sea utilizando la app SUNLUXY, disponible para android y aple.
            no, no he probado netcam.
            IP ok y si responde ping.
            En el mismo link de amazon que tienes en tu entrada, he visto que la gente se queja de lo mismo, dicen que han cambiado el modelo y que solo funciona en los telefonos, si eso es así, mal voy…

          • 15/08/2016 a las 21:41
            Enlace permanente

            Pues desconozco eso, pero si es así, vaya pedazo de pu****. Has visto qué puertos tiene abiertos la cámara? Por si puedes acceder al stream rtsp por ejemplo…

  • 13/08/2016 a las 19:21
    Enlace permanente

    yo el problema que tengo es que cuando esta conectada por cable al router funciona super bien, pero cuando la conecto por wifi es cuando empieza todo…..super lenta…tarda mucho en conectar…. y lo que me pasa hace tiempo es que con la app en sistema android, siempre tengo que cerrar la aplicacion forzando el cierre y las alertas nunca me llegan…

    Alguien me puede hechar una mano?

    Mil gracias

    Responder
    • 13/08/2016 a las 19:42
      Enlace permanente

      Hola,

      Yo he tenido algún que otro problema, y la tengo que reiniciar de vez en cuando.
      Por Wifi me suele ir bien, pero es verdad que a veces el video me va a saltos y no me queda más remedio que reiniciarla. No uso la app de netcam, sino una que se llama tinycam monitor. La uso también mucho desde el Pc que tengo conectado a la tele. Reproduzco el streaming de vídeo con ffplay, y bueno suele funcionar aunque como digo tengo que reiniciar de vez en cuando. Antes tenía una tarea de cron que la reiniciaba todos los días, pero tampoco lo veo demasiado necesario. Tengo en el móvil instalada una app que se llama Remote Launcher, para lanzar scripts del ordenador desde el móvil. Tengo uno para reiniciar la cámara, así cuando me hace falta reinicio con un par de clicks en el móvil lo consigo.
      La cámara no es de lo más estable del mundo, pero bueno, tiene un precio contenido.

      Saludos

      Responder
  • 07/02/2017 a las 23:02
    Enlace permanente

    Hola,
    Me parece superinteresante todo lo que habeis aportado de la cámara. Y la verdad que lo he puesto en práctica con la mía, lo primero que hice fue evitar que se vea desde el exterior de mi red ya que la utilizo como vigilabebé y claro eso de que vaya a servidores chinos no me hace ninguna gracia. Mi opinión sobre la cámara es bastante buena, para el uso que yo le doy… La única pega que le pongo es que a veces cuando mi bebé ya está dormida y la enciendo (yo no la tengo todo el dia enchufada) tiene que hacer todo el recorrido hacia ambos lados y hacia arriba y abajo hasta que se posiciona en la última posición. Hay dias que mi niña se ha despertado de nuevo con el ruido de la cámara. Por eso me gustaría saber si sabéis si se puede evitar que haga estos movimientos cada vez que la enciendo. Gracias

    Responder
    • 07/02/2017 a las 23:15
      Enlace permanente

      Hola,

      La verdad es que no tengo ese problema. Nunca me ha pasado. ¿Qué programa usas? Yo uso wificam (hay disponible una versión gratuita en google play). Échale un ojo que va bastante bien. Yo la que viene con la cámara la usé dos veces y a la tercera la desinstalé.

      Saludos

      Responder
      • 08/02/2017 a las 11:06
        Enlace permanente

        Uso tinyCam monitor en version Pro también probé NetCam y la desinstalé al día siguiente. Pero también me hacía lo mismo, de todas formas probaré otras.

        Responder
        • 08/02/2017 a las 11:23
          Enlace permanente

          Vaya torta que tengo. Efectivamente la que uso es tinycam. Wificam es el nombre del acceso directo que tengo ☺️
          La verdad es que no he tenido el problema que explicas. Qué versión de firmware tienes?

          Responder
          • 08/02/2017 a las 11:41
            Enlace permanente

            La versión es la 6.6.1. Pienso que es problema de la configuración interna porque nada mas enchufarla se pone a girar, antes de conectarse a la aplicación.

          • 08/02/2017 a las 12:01
            Enlace permanente

            Vale vale, no te había leído bien. Lo que dices es completamente normal (al menos a mi me pasa también). Cuando la enchufas (pensaba que decías cuando abrías la app) se mueve en todas direcciones hasta que se queda justo en la posición en la que estaba antes. Creo que es normal y lo que hace es ajustar los sensores y ejes de la cámara, algo así creo vaya. No creo que sea un fallo.

  • 08/02/2017 a las 12:45
    Enlace permanente

    Ok, entonces supongo que no hay forma de evitar que haga eso. Otra pregunta, a mi en netcam si me funciona el sonido en ambos sentidos pero en tinycam no, solo escucho, hablar al micro del movil y que se escuche en la cámara no me funciona.

    Responder
    • 08/02/2017 a las 13:53
      Enlace permanente

      No, lo del sonido tampoco me funciona. Supongo que la aplicación no implementa todas las funcionalidades de esta cámara en concreto. La verdad es que tampoco lo he echado de menos porque rara vez me ha hecho falta.

      Saludos

      Responder
  • 27/03/2017 a las 18:44
    Enlace permanente

    Hola,

     

    Quiero usar esta cámara por wifi sin conexión a Internet y lo que desde pc me funciona perfectamente no consigo que funcione desee el móvil. La uso como vigilabebes y uso un antiguo móvil como monitor pero si la wifi no tiene salida a Internet no se conecta.  Alguna idea?

     

     

     

     

    Responder
    • 27/03/2017 a las 20:58
      Enlace permanente

      Hola Rubén,

      No te entiendo muy bien. ¿Estás conectado a la misma wifi que la cámara? ¿Por qué dices que la cámara no tiene internet? Si no tocas nada de config, debería tenerla en cuanto se conecta a tu wifi.

      Saludos.

      Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada.