Cómo hackear fácilmente su Smart TV : Samsung y LG

Originalmente llamado “televisores conectados”, y ahora se llama como “Televisores SMART”. Cualquier televisión que se puede conectar a Internet para acceder a los servicios, uso de aplicaciones y se comportan de alguna manera como nuestros ordenadores con navegador web se llama SMART TV. Televisores inteligentes se conectan a Internet a través de conexión Ethernet cableada o con conexión Wi-Fi para conectarse a una red doméstica. Televisores inteligentes requieren chips de computadora para procesamiento de vídeo, pantallas múltiples y una conexión a Internet. También utilizan la memoria para amortiguar la transmisión de vídeo y música, y necesitan la potencia de procesamiento adicional para hacer frente a los gráficos. Los televisores se pueden controlar mediante comandos de voz y aplicaciones que se ejecutan en algunos teléfonos inteligentes.

Dan Reynolds, experto de capacitación y soluciones de seguridad informática de International Institute of cyber security explica que estos televisores inteligentes no son tan inteligentes y la seguridad del software no es exactamente perfecta. Televisores Smart se parecen por nosotros el Internet de las cosas (IoT) pero vulnerabilidades que fueron considerados haber desaparecido por completo son las nuevas vulnerabilidades en el Internet de las Cosas (IoT). A veces se puede encontrar fácilmente un defecto que puede permitirle tomar una variedad de acciones en el televisor, incluyendo el acceso a datos potencialmente sensibles, archivos remotos e información, la imagen de unidad y, finalmente, obtener acceso root del dispositivo.

En el artículo vamos a cubrir diferentes aspectos de televisores inteligentes de dos marcas más famosas Samsung y LG con ayuda de profesor de curso de hacking ético de IICybersecurity.

Entender Sistema operativo de SAMSUNG SMART TV

Tizen es un sistema operativo basado en el kernel de Linux y librería C de GNU implementación de la API de Linux. Se dirige a una amplia gama de dispositivos, incluyendo teléfonos inteligentes, tabletas, dispositivos de información y entretenimiento a bordo de vehículos, televisores inteligentes, ordenadores, cámaras inteligentes, computación portátil, reproductores Blu-ray, impresoras y electrodomésticos inteligentes. Su objetivo es ofrecer una experiencia de usuario consistente a través de los dispositivos. Tizen se implementaría en Samsung televisores a partir de 2015.

Tizen-OS-architecture
Tizen-OS-architecture

Hay algunas comunidades en línea que están trabajando sobre la investigación de sistema operativo de televisión inteligente de Samsung como (SamyGo) menciona experto de capacitación y soluciones de seguridad informática.

sammygo-forum
sammygo-forum
sammy-go-samsung
sammy-go-samsung

 

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

Primer paso hacia la piratería de cualquier sistema es saber sobre el sistema. Para entender la arquitectura y supervisar el tráfico que su Smart TV está enviando usted tendrá que conectar su ordenador con Smart TV. ExLink conector consiste en un cable que tiene en un lado un conector de 3,5 mm, como los de audio, y en el otro lado un (Serial) conector DB9 RS232. Este cable le permite conectar su ordenador PC al televisor, y entrar en el modo de serie. Con ello se puede utilizar un software de comunicaciones de serie, como Hyperterminal, Putty de Windows o Linux.

Ex-link-connector-samsung
Ex-link-connector-samsung

Conexión al televisor Samsung

  1. Coloque el televisor en modo de espera, pulse [Info] y luego [Menú] y luego [Mute] y luego [Power] cuando el televisor se prende se muestra un nuevo menú de servicio.
  2. Habilitado la opción de hotel, y establecer la interfaz RS-232 para UART.
  3. Apágalo y vuelva a prenderlo.

Televisor debería estar listo para la comunicación con PC.

Conexión de Wireshark con Smasung Smart TV

Hay un dissector de Wireshark para el protocolo de Samsung SmartTV.

Wireshark-Samsung-dissector
Wireshark-Samsung-dissector

Este dissector permite filtrar las capturas de Wireshark y decodificar los paquetes de control remoto que se envían al televisor mediante WiFi y paquetes que se envían desde la TV a la unidad de control remoto. Este plugin de Wireshark, permite la creación simple declarativa de sus propios dissectores para protocolos personalizados.

Para instalar este dissector en su instalación de Wireshark hay que hacer las siguientes acciones:

Descargar versión de WSGD que coincida con su versión de Wireshark y arquitectura de la máquina y guarda en su carpeta de plugins de Wireshark. Descomprimir archivos dissector (por ejemplo /usr/lib/wireshark/libwireshark0/plugins/).

Para ver dissector en la acción podría hacer esto:

  • Ejecuta Wireshark con dissector instalado. Descargar archivo de captura y abrirlo en Wireshark.
  • Escriba samsung_remote en el campo de filtro y ver paquetes de Samsung.
  • Haga clic en uno de los paquetes marcados con el protocolo SR y ver datos en paquetes decodificados.
Dissector-Samsung-wiresahrk
Dissector-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
Sintonizador de TV: \x08\x22\x0a\x00\x00\x00\xcc
Subir volumen: \x08\x22\x01\x00\x01\x00\xd4
Bajar volumen: \x08\x22\x01\x00\x02\x00\xd3
Toggle Mute: \x08\x22\x02\x00\x00\x00\xd4
Altavoz: \x08\x22\x0c\x06\x00\x00\xc4
Altavoz desactivado: \x08\x22\x0c\x06\x00\x01\xc3
HDMI 2: \x08\x22\x0a\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
Samsung-serial-commands
Samsung-serial-commands
Samsung-serial-commands
Samsung-serial-commands

Smart TV Modo Hotel Hack

Algunos modelos de televisores de Samsung, tienen una opción, para cambiarse televisión en modo cuando esté instalada en hoteles. Esto hace que la televisión trabaja en un entorno aislado, que protege a algunas funciones como modificaciones los huéspedes quieren hacer. Puede utilizar los pasos mencionados a continuación para introducirse en el modo de hotel y tomar el control root.

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

Hay muchos proyectos independientes relacionados con Samsung Smart TV en Github. Al igual que Samsung-Remote explica Dan Reynolds, experto de capacitación y soluciones de seguridad informática en México.

Github-Samsung
Github-Samsung

Entender Sistema operativo de LG SMART TV

Cuando usted compra un LG Smart TV, se obtiene 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 basado en kernel de Linux para dispositivos inteligentes como televisores y relojes inteligentes y era antiguamente un sistema operativo de móviles. Inicialmente desarrollado por Palm, que fue adquirida por HP, HP hizo la plataforma de HP WebOS a código abierto, y se convirtió en Open WebOS. El sistema operativo fue posteriormente vendido a LG Electronics.

OpenWebOS-architecture

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

OpenWebOS-community

OpenLGTv-community

Conexión a Smart TV

Primer paso hacia la piratería de cualquier sistema es saber sobre el sistema. Para entender la arquitectura y supervisar el tráfico que su Smart TV está enviando usted tendrá que conectar su ordenador con Smart TV. Para llegar al nivel de firmware, tendrá que conectarse a través de la interfaz RS-232C. Puede conectarse fácilmente al cable RS-232 de la televisión al USB del ordenador.

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

LG_USB-Serial_adapter_cable

Inicie la televisión e ir al menú “Opciones” utilizando el control y establece Set ID en 1. Necesitará programa de emulación de terminal, como HyperTerminal o Putty. Ajuste la siguiente configuración 9600 o 115200 baud (en firmwares recientes ahora es 115200bps baud rate por defecto), 8N1, XON / XOFF. Longitud de datos: 8 bits, Paridad: Ninguna, Stop Bit: 1 bit, el código de comunicación: código ASCII. Mediante la emisión de siguientes comandos se puede comprobar la conexión. Hay un montón de diferentes comandos para jugar con el sistema.

LG-Serial-commands

Protocolo de Transmisión / Recepción

Transmisión

[Command1][Command2][ ][Set ID][ ][Data][Cr]

[Command 1]: Primer comando para controlar set.(j, k, m o x)

[Command 2] : Segundo comando para controlar set.

[Set ID] : Puede ajustar set ID para seleccionar set identificación deseada en el menú de opciones. Rango de ajuste es de 1 y 99. Si selecciona Set ID 0, todo conectado el set se controla. Set ID se expresa como un decimal (1 ~ 99) en el menú y como un hexadecimal (0x0 ~ 0x63) en protocolo de recepción y transmisión.

[DATA]: Para transmitir los datos del comando. Transmitir los datos FF para leer el estado del comando.

[Cr] : Carriage Return código ASCII 0x0D

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

OK Acknowledgement

[Command2][ ][Set ID][ ][OK][Data][x]

Set transmite ACK (confirmación) basado en este formato al recibir los datos normales. En este momento, si los datos son el modo de lectura de datos, indica datos del estado actual. Si los datos son el modo de escritura de datos, devuelve los datos a computadora.

* En este modelo, set no enviará el estado durante el modo de standby. * Formato de datos [Comando 2]: Uso como comando. [Set ID]: Use el carácter pequeño, si la ID definida es 10, enviará el 0, a. [DATOS]: Use el carácter pequeño, si los datos es 0 x ab, enviará el a, b. [OK]: Use el carácter grande.

Reconocimiento de error

[Comando2] [] [Set ID] [] [NG] [Data] [x]

Set transmite ACK (confirmación) basado en este formato al recibir datos anormales de funciones no viables o errores de comunicación.

Data01: Código ilegal Data02: función no soportadas Data03: Esperar más tiempo * En este modelo, set no enviará el estado durante el modo de standby. * Formato de datos [Comando 2]: Uso como comando. [Set ID]: Use el carácter pequeño, si la ID definida es 10, enviará el 0, a. [DATA]: Use el carácter pequeño, si los datos es 0 x ab, enviará el a, b. [NG]: Use el carácter grande. 

Power (Comando: k a)

Para controlar el prendido / apagado de la unidad.

Transmisión [k] [a] [] [Set ID] [] [Data] [Cr]

Datos 00: Apagado Data 01: Prendido

Reconocimiento [a] [] [Set ID] [] [OK / NG] [Data] [x]

* De una manera similar, si otras funciones transmiten datos ‘FF’ basados ​​en este formato, resulto de datos de reconocimiento presenta el estado de cada función.

* Nota: En este modelo, sistema enviará la confirmación después prender complemente

Puede haber un retraso entre el comando y reconocer.

LG-Serial-commands

LG-Serial-commands

LG-Serial-commands

LG-Serial-commands

O también puede utilizar scripts disponibles en Internet como libLGTV_serial. Mike Stevens, profesor de curso de hacking en México menciona que libLGTV_serial es una librería de Python para controlar televisores de LG a través de su puerto serie (RS232).

LGserial-github

 

LG TV USB IR-Hack Con ADRUINO

Puede hackear fácilmente el televisor LG con una tarjeta adruino través de scripts.

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

adruino

adruino

Github-LG

Usted puede aprender más sobre hacks con adruino de proyectos de Github y comunidades de código abierto.

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

  1. Conecte la PC a través del puerto COM o el adaptador USB2COM (USBtoRS232).
  2. Ejecutar programa de terminal en el PC (hyperterminal o putty por ejemplo)
  3. Establezca los siguientes parámetros para el puerto COM: Velocidad 9600, el control de flujo: ninguno. Todos los demás abandonan a los valores predeterminados.
  4. En la terminal escriba: “ab 0 ff” y presiona “Enter”. Usted debe hacerse la siguiente respuesta “01 ok ???? x”, donde ???? Es el número de la opción de herramienta. Recuerde o escriba en la hoja de papel.
  5. Para activar USB reproductor multimedia escriba: “ab 0 6″ y presiona Enter.
  6. Apague el televisor. Icono de USB debería aparecer en el menú principal de TV.

Firmware personalizado

Puede descargar viejos firmwares de los sitios web oficiales de LG o foros de Internet. Estos firmwares son personalizados según las necesidades de los usuarios.

LG-firmware

LG-hack-forum

Mike Stevens, profesor de curso de hacking en México explica que con los comandos de serie, scripts y junto con vulnerabilidades cualquiera hacker puede hackear un televisor inteligente. Algunas de las vulnerabilidades conocidas para los que diferentes exploits están disponibles en 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. Usted puede romper fácilmente el protocolo. También la autenticación de cliente no es tan fuerte. Asimismo, el protocolo no maneja autenticación de NULL MAC dirección y por lo tanto cualquier dispositivo con valor Null de dirección MAC se puede conectar a la TV.

Vulnerabilidades de APIs de TV

Un hacker puede hackear e instalar malware a través de las API de televisión como File.Unzip o Skype. Estos pueden ser usados ​​para copiar archivos a cualquier sistema en el objetivo de instalar una puerta trasera.

Vulnerabilidades de ataque de Man in Middle

Mediante el uso de vulnerabilidades de un ataque MIM un hacker puede interceptar los datos como la televisión no comprueba los certificados del servidor. Así, con certificados falsos que un hacker puede hacer fácilmente ataque de Man in Middle.

Creación de programas maliciosos para Smart TV no es tan diferente de la creación de malware para PC o sistemas Linux, según expertos de capacitación y soluciones de seguridad informática. La base de sistema operativo es Linux y tiene vulnerabilidades. Así, mediante el uso de los comandos serie y vulnerabilidades, un hacker puede piratear fácilmente en televisión inteligente. Además, como no hay antivirus o soluciones de anti malware disponibles para televisores inteligentes, por lo que se hace más fácil para un hacker para introducirse en televisores inteligentes.

Fuentes:

www.openlgtv.org.ru

www.wiki.samygo.tv

www.iicybersecurity.com