Ingeniería inversa de una cámara ip basada en cpu philips trimedia – parte 1 ethtrade news

El usuario administrador predeterminado es ‘admin’ con una contraseña en blanco. Como puede ver, puede cambiarlo en la interfaz web. Además, puede agregar diferentes usuarios y restringirlos para usar las funciones de E / S y PT. Una cosa interesante es que hay una cuenta de ‘invitado’ disponible con la ‘ética de demostración en la metodología de investigación’ y la contraseña en blanco del usuario. Esta cuenta de invitado nos da acceso al flujo de video a través de instantáneas. Desafortunadamente (desde el punto de vista de un atacante), esta cuenta está deshabilitada de forma predeterminada. Sin embargo, algunas de las cámaras que encontré en shodan.Io tenían la cuenta de demostración habilitada.

El ‘agente de usuario’ informado por el servidor web es el utilizado por las cámaras IP de vivotek, VVTK. ¿Es el mismo servidor web utilizado por vivotek? Bueno, no estoy seguro de ethereum kurssi, pero podría ser una opción, ya que comparte casi la misma API CGI que algunas cámaras IP vivotek. Por ejemplo, esta es la API WEB proporcionada por una cámara vivotek pt31x4 IP (consulte la sección ‘Comandos de URL de la cámara de red’) y esta es la que se proporciona para el DCS-5300. ¿Ves las similitudes?

La mayoría de los programas CGI enumerados en el documento de vivotek no están disponibles en la cámara D-link y los disponibles requieren autenticación. Lo mismo sucede con los listados en el documento del enlace D, todos los programas CGI requieren autenticación. Algunos de estos cgis se vieron afectados por diferentes vulnerabilidades en el pasado en algunos otros modelos de cámaras IP vivotek, como los etiquetados como CVE-2013-1594, getparam.Cgi y parafile.Html page [3].

Luego, pasé un tiempo jugando con burp suite y algunos de los programas CGI para ver si podía encontrar una vulnerabilidad posterior a la autenticación, principalmente una ejecución remota de comandos, para tener acceso al sistema de archivos interno y así tener acceso a Binarios CGI. Probé los problemas más comunes como el recorrido de la ruta, la inyección de punto y coma en lugares como los cables de Ethernet, DDNS, NTP, config, pero debido a la falta de salida no estaba seguro del éxito de los comandos. Necesitaba profundizar, era hora de abrir el dispositivo.

Tenemos 10 pines marcados con un rectángulo rojo y 12 pines marcados con un rectángulo amarillo. A primera vista, ambos parecen prometedores, pero los 10 pines están un poco lejos de la CPU principal y no hay rastros visibles. En cambio, los 12 pines están realmente cerca de la CPU principal y hay rastros que parecen ir en esa dirección. Si leemos la hoja de datos probador de cable ethernet fluke, específicamente, el capítulo 18 "Especificación funcional de JTAG", podemos ver que la CPU trimedia tiene una interfaz JTAG. Estas son buenas noticias, pero tenemos que identificar el pinout correcto. Esta no siempre es una tarea fácil, sin embargo, mi primer enfoque fue intentar realizar una ingeniería inversa del pinout con un voltímetro como se describe aquí. Después de algún tiempo, se me ocurrieron los siguientes resultados del grupo de minería ethereum:

Línea levantada, señal numérica) y adivine sus parámetros (voltaje máximo, frecuencia, etc.). En ese momento, no tenía esa herramienta en mis manos, estaba armado con solo un voltímetro y un pirata de autobús. Aunque es posible construir un osciloscopio barato utilizando un pirata de bus, el ancho de banda y la frecuencia de muestreo no son buenos (5720 muestras por segundo; en la práctica, ofrece una frecuencia máxima medible de aproximadamente 1 kHz). Al final, para continuar con este trabajo, compré un picoscopio 2204A, pero ese será un tema para otra publicación.

Los microprocesadores TriMedia fueron fabricados originalmente por Philips, actualmente conocidos como semiconductores NXP (nexperia) (Qualcomm anunció la adquisición de NXP en 2016 [4]). Es una familia de procesadores VLIW [5] (palabra de instrucción muy larga), lo que significa que pueden ejecutar un número dado de instrucciones en paralelo al mismo tiempo, con una arquitectura Harvard [6] y su uso principal es para DSP (digital procesamiento de señal) [7].

Para programar código para microprocesadores trimedia, hay un SDK oficial que incluye todo lo que necesita (bibliotecas, compilador, depurador, simulador, etc., cuestiones éticas de Amazon 2017) pero no está disponible, excepto para las grandes empresas que venden productos que utilizan procesadores trimedia. D-link y 2wire, por ejemplo. Sin embargo, hay algunos SDK compatibles con trimedia como el que ofrecen las redes de transmisión, conocido como IADK (kit de desarrollo de aplicaciones integrado), diseñado específicamente para la serie de la familia PNX1300.

Además, hay algunas placas de desarrollo equipadas con trimedia cpus que se pueden adquirir si desea jugar con este procesador, por ejemplo, la placa de desarrollo de triref Intel Gigabit Ethernet 10 Windows XP que ofrece el streaming de redes. Sin embargo, este tipo de placa, que incluye el IADK, no es barata. De hecho, me puse en contacto con la red de transmisión y le pedí la tarjeta de triref y cuesta alrededor de US $ 5,000, una cantidad de dinero que no puedo pagar.

La ingeniería inversa de un procesador trimedia no es una tarea fácil, especialmente debido a la falta de documentación y herramientas. Hay muy poca documentación en Internet sobre la arquitectura de trimedia, la documentación del conjunto de instrucciones es deficiente y las herramientas existentes son privadas y costosas. De todos modos, hay algunas fuentes antiguas de información que podemos usar etherdelta github para comenzar nuestro viaje.

La primera fuente de información para iniciar la investigación es la hoja de datos. Este documento incluye información sobre toda la arquitectura del procesador. Podemos tener la idea principal de los diferentes componentes en el chip, cómo interactúan, el conjunto de instrucciones específicas que usa el controlador, etc. Si desea comenzar con el pie derecho, DEBE leer la hoja de datos.

Otra buena fuente de información, aunque específicamente sobre la investigación de JTAG, es http://hackingbtbusinesshub.Wordpress.Com. Aunque el blog ya no está disponible, todavía hay algunas copias almacenadas en web.Archive.Org [10] [11] [12]. Este tipo hizo un excelente trabajo invirtiendo los predicadores de precio de etéreo 2030 2wire routers, que se basan en trimedia cpus, y creando algunas herramientas excelentes como 2wiglet (basado en urjtag, una herramienta de wiggler JTAG para 2wire routers y tm32dis), un desensamblador trimedia para el TM32 familia.

Ahora que estamos hablando de JTAG, en una sección anterior, mencioné que hay un depurador JTAG PCI para las CPU de trimedia que ofrece el sistema de datos de Monument. También existe un depurador de JTAG oficial ofrecido por philips pero tiene algunas peculiaridades. Citando asbokid: las herramientas JTAG de trimedia están diseñadas para funcionar solo con un cable JTAG patentado. El “cable” es en realidad una sofisticada pieza de equipo de programación. Es un dispositivo USB que se conecta a la PC a través de un controlador de periférico NET-2282 de netchip. El programador arranca desde su propia EEPROM y es impulsado por un convertidor de philips ether a bitcoin PNX1502 con memoria flash NOR y memoria DRAM.

banner