Originalmente se llamaban «televisores conectados», y ahora se denominan como «televisores inteligentes». Se trata de cualquier televisor que pueda conectarse a Internet para acceder a servicios, utilizar aplicaciones y comportarse de alguna manera como nuestros ordenadores con navegador web. Los televisores inteligentes se conectan a Internet a través de una conexión Ethernet por cable o Wi-Fi en una red doméstica. Los televisores inteligentes necesitan chips informáticos para hacer malabarismos con el procesamiento de vídeo, las múltiples pantallas y la conexión a Internet. También utilizan la memoria para almacenar en el búfer el vídeo y la música, y necesitan una potencia de procesamiento adicional para gestionar los gráficos. Los televisores pueden ser controlados por comandos de voz y por aplicaciones que se ejecutan en algunos Smartphone.

Dan Reynolds, experto en soluciones de seguridad de la información y formación del Instituto Internacional de Ciberseguridad explica que estos Smart TV no son tan inteligentes y la seguridad del software no es precisamente perfecta. Los televisores inteligentes se asemejan al Internet de las cosas (IoT), pero las antiguas vulnerabilidades que se consideraban completamente desaparecidas vuelven a ser nuevas vulnerabilidades en el Internet de las cosas (IoT). A veces se puede encontrar fácilmente una falla que puede permitir tomar una variedad de acciones en la televisión, incluyendo el acceso a datos potencialmente sensibles, archivos remotos y la imagen de la unidad y, finalmente, obtener acceso root al dispositivo.

Hackeo de televisores inteligentes

En el artículo iremos cubriendo diferentes aspectos de dos de las marcas más famosas de Smart TVs, Samsung y LG, con la ayuda del profesor del curso de hacking ético de IIcybersecurity.

Entendiendo el sistema operativo de SAMSUNG SMART TV

Tizen es un sistema operativo basado en el kernel de Linux y la librería GNU C que implementa la API de Linux. Está dirigido a una gama muy amplia de dispositivos, incluyendo teléfonos inteligentes, tabletas, dispositivos de infoentretenimiento en vehículos (IVI), televisores inteligentes, PC, cámaras inteligentes, informática vestible, reproductores Blu-ray, impresoras y electrodomésticos inteligentes. Su objetivo es ofrecer una experiencia de usuario coherente en todos los dispositivos. Tizen se habría implementado en los televisores Samsung a partir de 2015.

Arquitectura de Tizen-OS

Hay algunas comunidades online que están trabajando sobre la investigación del SO de los televisores inteligentes Samsung como Sammygo, menciona Dan Reynolds, experto en soluciones de seguridad de la información y formación.

sammygo-forum
sammy-go-samsung

Cómo hacer un análisis sobre el firmware de Samsung Smart TV

El conector ExLink consiste en un cable que tiene por un lado un jack de 3,5mm, como los de audio, y por el otro un conector RS232 ( Serial ) DB9. Este cable le permitirá conectar su ordenador PC al televisor, y entrar en el modo Serie. Con esto puede utilizar un Software de Comunicaciones en serie, como Hyperterminal, Putty de Windows o Linux.

Ex-link-connector-samsung

Conectando a la TV Samsung

  1. Ponga la TV en Modo de Espera, pulse entonces y cuando la TV se enciende muestra un nuevo Menú de Servicio.
  2. Activar la opción Hotel, y ajustar la interfaz RS-232 a UART.
  3. Utilizar el botón de encendido y luego apagar y encender el televisor.

El televisor debería estar ahora listo para la comunicación con su PC.

Conectando Wireshark con Smasung Smart TV

Hay un disector Wireshark para el protocolo Samsung SmartTV.

Wireshark-Samsung-dissector

Este disector permite filtrar las capturas de wireshark y decodificar los paquetes de control remoto que se envían a la TV a través de WiFi y los paquetes que se envían desde la TV a la unidad de control remoto. Este plugin de wireshark, permite la creación declarativa simple de sus propios disectores para los protocolos personalizados.

Para instalar el disector a su instalación de wireshark, usted necesita hacer las siguientes acciones:

Descargar la versión de WSGD que coincide con su versión de wireshark y la arquitectura de la máquina a continuación, ponerlo en su carpeta de plugins de wireshark. Descomprima los archivos del disector (por ejemplo, /usr/lib/wireshark/libwireshark0/plugins/).

Para ver el disector en acción puede hacer lo siguiente:

  • Ejecute wireshark con el disector instalado. Descargue el archivo de captura de muestra y ábralo en wireshark.
  • Escriba samsung_remote en el campo de filtro y vea el paquete Samsung Remote filtrado.
  • Haga clic en uno de los paquetes marcados con el protocolo SR y vea los datos del paquete decodificado.
Disector-Samsung-wiresahrk

Puede probar la conexión con algunos de los comandos

TV On: \x08\x22\x00\x00\x00\x02\xd6\r
TV Off: \x08\x22\x00\x00\x00\x01\xd5
HDMI1: \x08\x22\x0a\x00\x05\x00\xc7
TV Tuner: \N-x08\x22\x0a\Nx00\x00\xcc
Subir el volumen : \Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \N-Subir el volumen: \Altavoz Apagado : \x08\x22x0c\x06\x00\xc4
Altavoz Apagado : \x08\x22x0c\x06x00\x01\xc3
HDMI 2 : \x08\x22x0a\x00\x05\x01\xc6
HDMI 3 : \x08\x22\x0a\x00\x05\x02\xc5

Samsung-serial-commands
Samsung-serial-commands
Samsung-serial-commands
Samsung-serial-commands

Smart TV Hotel Mode Hack

Algunos modelos de televisores Samsung tienen una opción para hacer que el televisor funcione cuando están instalados en hoteles. Esto hace que el televisor funcione en un entorno aislado que protege algunas funciones de las modificaciones que los huéspedes del hotel quieren hacer. Puedes utilizar los pasos que se mencionan a continuación para hackear el modo de TV del hotel y hacer root.

Hotel-Mode-hack
Hotel-Mode-hack
Hotel-Mode-hack

Hay muchos proyectos independientes relacionados con la TV inteligente de Samsung en Github Como Samsung-Remote menciona Dan Reynolds, experto en soluciones de seguridad de la información y formación.

Github-Samsung

Entendiendo el sistema operativo LG SMART TV

Cuando compras un LG Smart TV obtienes un televisor LG con sistema operativo WebOS. WebOS, también conocido como LG WebOS, Open WebOS, HP WebOS o Palm WebOS, es un sistema operativo multitarea basado en el kernel de Linux para dispositivos inteligentes como televisores y relojes inteligentes, y anteriormente era un sistema operativo para móviles. Inicialmente fue desarrollado por Palm, que fue adquirida por Hewlett-Packard. HP hizo que la plataforma fuera de código abierto y se convirtió en Open WebOS. El sistema operativo fue vendido posteriormente a LG Electronics.

Arquitectura de OpenWebOS

Como el WebOS es de código abierto, hay algunas comunidades de código abierto en línea como (openwebosproject, openlgtv) que trabajan sobre el firmware. Desde estas comunidades puedes descargar el firmware del sistema operativo y hacer tu propia investigación.

Comunidad OpenWebOS
Comunidad OpenLGTv

Conexión a Smart TV

El primer paso para hackear cualquier sistema es conocerlo. Para entender la arquitectura y monitorizar el tráfico que envía tu Smart TV tendrás que conectar tu ordenador con la Smart TV. Para llegar al nivel del firmware tendrá que conectarse a través de la interfaz RS-232C. Usted puede conectar fácilmente utilizando el cable RS-232 de la televisión al USB del ordenador.

En general, recomendamos el sistema operativo Linux. Hay informes de usuarios, que se enfrentan a problemas con algunos adaptadores USB2Serial bajo Windows 7, por lo que en este momento recomendamos Windows XP para el uso de adaptadores USB2Serial.

LG_USB-Serial_adapter_cable

Encienda el televisor y vaya al menú ‘Opciones’ utilizando el mando a distancia y considere que Set ID está ajustado a 1. Necesitará un programa de emulación de terminal como Hyperterminal o Putty. Establezca la siguiente configuración 9600 o 115200 baudios (en los firmwares recientes ahora hay 115200bps baudrate por defecto), 8N1, XON/XOFF. Longitud de datos: 8 bits, Paridad: Ninguna, Bit de parada: 1 bit, Código de comunicación: Código ASCII. Emitiendo los siguientes comandos se puede comprobar la conexión. Hay muchos comandos diferentes para jugar con el sistema.

LG-Serial-commands

Protocolo de transmisión/recepción

: Primer comando para controlar el conjunto.(j, k, m o x) : Segundo comando para controlar el conjunto.

: Puede ajustar el ID del conjunto para elegir el número de ID del conjunto deseado en el menú de opciones. El rango de ajuste es de 1~ 99. Cuando se selecciona el ID de conjunto 0, se controlan todos los conjuntos conectados. La ID de conjunto se indica como decimal (1~ 99) en el menú y como decimal Hexa (0x0~ 0x63) en el protocolo de transmisión/recepción.

: Para transmitir los datos de comando. Transmita los datos FF para leer el estado del comando.

: Retorno de carro código ASCII 0x0D

: Espacio de código ASCII (0x20) * En este modelo, el conjunto no enviará el estado durante el modo de espera.

OK Acuse de recibo

El conjunto transmite ACK (acuse de recibo) basado en este formato cuando recibe datos normales. En este momento, si los datos son del modo de lectura de datos, indica los datos de estado presentes. Si los datos son del modo de escritura, devuelve los datos del ordenador PC.

* En este modelo, el conjunto no enviará el estado durante el modo de espera. * Formato de datos : Utilice como comando. : Utilice el carácter pequeño, si el ID del set es 10, enviará el 0, a. : Utilice el carácter pequeño, si los datos son 0 x ab, enviará el a, b. : Utilice el carácter grande.

Reconocimiento de error

El equipo transmite ACK (reconocimiento) basado en este formato cuando recibe datos anormales de funciones no viables o errores de comunicación.

Datos01: Código ilegal Datos02: Función no soportada Datos03: Espere más tiempo * En este modelo, el equipo no enviará el estado durante el modo de espera. * Formato de datos : Use como comando. : Use el carácter pequeño, si el ID del set es 10, enviará el 0, a. : Use el carácter pequeño, si los datos son 0 x ab, enviará el a, b. : Use el carácter grande.

Power (Comando: k a)

Para controlar el encendido/apagado del set.

Transmisión

Datos 00: Apagado Datos 01: Encendido

Reconocimiento

* De la misma manera, si otras funciones transmiten datos ‘FF’ basados en este formato, la retroalimentación de datos de reconocimiento presenta el estado sobre cada función.

* Nota: En este modelo, el conjunto enviará el acuse de recibo después de la finalización del proceso de encendido.

Puede haber un retraso de tiempo entre el comando y el acuse de recibo.

LG-Serial-commands
LG-Serial-commands
LG-Serial-commands
LG-Serial-commands

O puede utilizar también scripts disponibles en Internet como libLGTV_serial. Mike Stevans, profesor del curso de hacking ético explica que libLGTV_serial es una librería de Python para controlar televisores LG (o monitores con puertos serie) a través de su puerto serie (RS232).

LGserial-github

LG TV USB IR-Hack con Arduino

Puedes hackear fácilmente tu televisor LG con una tarjeta adruino a través de la carga de scripts.

Esta librería remota de infrarrojos consta de dos partes: IRsend transmite paquetes remotos IR, mientras que IRrecv recibe y decodifica un mensaje IR.

#include <IRremote.h>IRsend irsend;void setup(){ Serial.begin(9600);}void loop() { if (Serial.read() != -1) { for (int i = 0; i < 3; i++) { irsend.sendSony(0xa90, 12); // Sony TV power code delay(100); } }} 
#include <IRremote.h>int RECV_PIN = 11;IRrecv irrecv(RECV_PIN);decode_results results;void setup(){ Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver}void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value }}
Github-LG

Puedes aprender más sobre hacks de adruino en proyectos de Github y comunidades de código abierto.

Cómo activar el reproductor USB a través de serie

  1. Conecte el PC a través del puerto COM o el adaptador USB2COM (USBaRS232) en el conector RS232 del televisor
  2. Ejecute un programa de terminal en el PC (hyperterminal o putty por ejemplo)
  3. Configure los siguientes parámetros para el puerto COM: velocidad 9600, control de flujo: ninguno. Deje todos los demás en los valores predeterminados.
  4. En el terminal introduzca: «ab 0 ff» y pulse «Enter». Debería obtener la siguiente respuesta «01 ok????x», donde ???? es el número de opción de la herramienta. Recuérdelo o escríbalo en un papel.
  5. Para activar el reproductor multimedia USB introduzca: «ab 0 6″ y pulse enter.
  6. Apague/encienda el televisor. El icono del USB debería aparecer en el menú principal del televisor.

Firmwares personalizados

Puede descargar firmwares antiguos de los sitios web oficiales de LG o de los foros de Internet. Estos firmwares se personalizan según las necesidades del usuario.

LG-firmware
LG-hack-forum

Mike Stevens, profesor del curso de hacking en México explica que con comandos seriales, scripts y junto a las vulnerabilidades cualquiera puede hackear un smart TV. Algunas de las vulnerabilidades conocidas para las que existen diferentes exploits en el mercado negro son:

Autenticación débil

El protocolo es muy simple en términos de autenticación y el paquete de autenticación sólo necesita una dirección IP, una dirección MAC y un nombre de host para la autenticación. Se puede romper fácilmente el protocolo. También la autenticación del lado del cliente no es tan fuerte. Además, el protocolo no gestiona la autenticación de valores de dirección MAC nulos y, por lo tanto, cualquier dispositivo con un valor de dirección MAC nulo puede conectarse al televisor.

Apis del televisor vulnerables

Un hacker puede piratear e instalar malware a través de las API del televisor, como File.Unzip o Skype. Éstas pueden utilizarse para copiar archivos a cualquier sistema de archivos con capacidad de escritura en el objetivo e instalar una puerta trasera.

Vulnerabilidades de ataque MIM

Al utilizar las vulnerabilidades de ataque MIM un hacker puede husmear en los datos ya que la TV no comprueba los certificados del servidor. Así, con certificados falsos un hacker puede hacer fácilmente el ataque Man in Middle.

Según los expertos en soluciones de seguridad informática y formación, la creación de malware para Smart TV no es tan diferente de la creación de malware para PC o sistemas Linux. El sistema operativo base es Linux y tiene vulnerabilidades. Por lo tanto, utilizando los comandos de serie y las vulnerabilidades, un hacker puede hackear fácilmente un televisor inteligente. Además, como no hay antivirus ni soluciones antimalware disponibles para los televisores inteligentes, resulta más fácil para un hacker hackear los televisores inteligentes.

Deja una respuesta

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