miércoles, agosto 29, 2018

Shodan es de cine: Hacking Tautulli, un GUI para Plex Media Server (Parte 2 de 2)

Continuando con la historia que está escrita en la primera parte de este artículo os recuerdo que habíamos descubierto que aparecía una key con un fichero en formato .mp4. Esta key no parte de la base del directorio en que nos encontramos ya que hasta ahora no hemos estado por una carpeta llamada parts, pero parece que referencia al fichero de la película en sí. Al invocar esta URL en el navegador y pulsar Enter… ¡nos la está (des)cargando embebidamente!

Figura 15: Shodan es de cine: Hacking Tautulli, un GUI para Plex Media Server (Parte 2 de 2)

¿Os acordáis más arriba del artículo, de que no podíamos verla porque nos pedía credenciales? Pues señoras y señores, lo de que “todos los caminos llevan a Roma” parece cierto… Solo había que mirar “debajo del felpudo” para hacernos con la “llave”. Para entender la situación dibuje el diagrama reflejado en la siguiente Figura 16.

Figura 16: Diagrama resumiendo la situación

Al final, tiene sentido que si intentamos entrar a ver la película a través de Tautulli nos topamos con la seguridad de la plataforma, pero al tirar con el token y la URL del fichero que aparece en la key y que apunta al servidor donde está Plex esta validación no tiene sentido. En la Figura 16 se muestran dos zonas claramente definidas:
Zona Azul: Shodan es una importante pieza en este “puzzle”. Se sitúa entre la zona azul y el resto de Internet. Será nuestro “portero” que nos dejará acceder al recinto si le decimos “la contraseña”, esa la sabemos (los dos strings a buscar CherryPy/5.1.0 y /home). 
Zona Roja: Estando ya en la Zona Azul (tranquilos, esta no se paga por “estacionar” ni tiene horarios :P) sólo hay que mirar “debajo del felpudo” para hacernos con la llave (en este caso, el Token).
Para ver todo lo expuesto en esta PoC, podéis pasar a la acción en este vídeo que realicé.

Figura 17: Vídeo de la PoC: Hacking Plex Media Server [PMS] through Tautulli (PlexPy) using Shodan

Para aquellos que se cuestionen si realmente notifiqué al usuario, aquí dejo la prueba, para que no se diga que soy malo. Al final el objetivo era entender si un sistema como ese, descubierto aleatoriamente con Shodan tenía robustez. No hacer daño a nadie y por lo tanto avisé.

Figura 18: Notificación al usuario

Parece que el usuario lo agradeció como se puede ver en su escueta pero directa respuesta :). Reflejé también lo expuesto en un “papel” (en inglés) con título: "Don’t break the door, the key is under the doormat"



¡Bonus Track!

Sería raro seria que hiciera un artículo sin esta sección, parece que ya es una costumbre. Creo que es importante mencionar estos detalles que complementan (o potencian) el impacto que puede tener este trabajo. Tautulli contiene una sección para configurar notificaciones y newsletters. En la figura siguiente vemos cómo capturar/desenmascarar sus credenciales usando las herramientas del desarrollador bajo Firefox.

Figura 20: Desenmascarando la password  del formulario bajo Firefox

El puerto usado en PMS puede ser alterado por el usuario (distinto al “by default” que es el 32400) aunque existen métodos para averiguarlo, cómo hacer un barrido con nmap en el caso de que Shodan no haya escaneado ese puerto, pero… ¿Por qué no se lo preguntamos amablemente a Plex directamente? Pues preguntémosle que no perdemos nada.

Figura 21: Datos de conexión internos en la configuración de Plex

El Token de Plex permite consultar los recursos que se tienen asociados (los vinculados a la cuenta del Token del usuario) cómo herramienta de troubleshooting. Está consulta se hace contra los propios servidores de Plex no al servidor de Plex que el usuario se instala cómo producto.

Encontré un Google Dork donde poder encontrar los servidores Tautulli indexados, pero no tiene nada que ver con el resultado que da Shodan (éste último, más enfocado a dispositivos conectados a Internet).

Figura 22: Google Dork de Tautulli

Para esta finalidad no es la herramienta adecuada, pero no va mal saber que existen otras posibilidades.

Reflexiones finales

Shodan dice que hay acerca de 2700 dispositivos Tautulli/PlexPy desprotegidos - sin necesidad de credenciales - en el momento que ha sido escrito el artículo. De ese total, 57 son de España, siendo el país ganador Estados Unidos. Esta cifra la vi en su máximo esplendor en el momento que realicé el vídeo, curiosamente la cifra disminuyó en un 10%. ¿Qué pensáis?… ¿bajará, subirá o se mantendrá (más o menos) igual? Hagan sus apuestas…

Figura 23: Resultados en Shodan

Esto me pareció realmente alarmante, ver un número tan elevado - incluyendo países de todo el mundo -, me hizo pensar que muchos no saben que su centro multimedia está expuesto a la merced de cualquiera. Posiblemente, la gran mayoría sienta la necesidad de poner sus ficheros multimedia en un mismo saco para tenerlos al alcance de todos sus dispositivos (smartphones, tablets, navegadores, clientes aplicaciones que se integran con este software, etcétera) tendrán cómo “checklist” comprobar la tarea de ¿funciona? Y siendo este afirmativo los mecanismos de seguridad son ignorados.

Ya me parece preocupante que se pueda seguir/hacer un “tracking” de la vida multimedia de alguien desperdiciando el Token que muestra Tautulli porque, estando en la Zona Azul cómo se comentaba, hay mucha información con la que “moldear”, útil para muchos fines, ya sean malos o buenos, sin olvidarse de que son datos privados, datos que no deberían de exponerse públicamente. No sólo películas pueden almacenarse en PMS.

Figura 24: Mostrando “Thumbnails” sin Necesidad de Token

Pasando el ratón para aquél que cumpla con los requisitos de tener sus fotos y Tautulli al descubierto, pueden verse sus miniaturas. Por supuesto que también son “downloadables”, debes de indicar el parámetro download=1 en la URI, tipo así:
http://IP:PUERTO/…*fichero.jpg?download=1&X-Plex-Token=TUTOKENOELDEELAQUI
Si no, puede dar un 400 Bad Request (del cuál sabemos la solución). Esto puede llegar a ser una nueva vertiente de ransomware omitiendo la necesidad de cifrar. ¿Para qué van a perder ese tiempo? Si los malos ya saben el e-mail de la víctima (obtenido en la Figura 12 de la primera parte del artículo). Además, haciendo uso del Token parece que Tautulli no te trackea, no deja rastro en registros.

Otros valiosos datos que son públicos, si ya te has hecho con el Token, son los vistos en Figura 21, de ahí además del puerto, sacas cuántos servidores Plex puede llegar a tener configurados con dicha cuenta, móviles que lo usan, direcciones de la red Interna...  modelos de móviles como en el caso de Google y la recuperación de cuentas.

Y que hay sobre los formularios de las notificaciones que se ha visto en Bonus Track de la Figura 20? Esas credenciales pueden ser válidas si son usadas en otras identidades del usuario, ya se ha visto que muchos usan la misma password para todo. Quizá den acceso al Plex del mismo en auténtico modo GUI.

Bien, creo que ya es suficiente. Cómo veis,  el espíritu y las ganas de aprender que decía Amador que tienen los hackers es lo que necesitaos para darnos cuenta de que las cosas pueden ser mejoradas. ,No hace falta centrarse en códigos de gran complejidad accesibles solo a exploiters.  Por supuesto, hay que formarse todo lo que se pueda, y para comenzar los libros de Hacking con Buscadores: Google, Bing & Shodan 3ª Edición o el de Hacking Web Technologies de Chema Alonso, Pablo González y Amador Aparacicio entre otros son perfectos para empezar a entender las herramientas que tenemos a mano...

Figura 25: Libros de Hacking en 0xWord para empezar en el hacking web

Tampoco he usado una cuenta en Shodan para esta PoC (no ha sido necesario visto los resultados), las facilidades son muchas, siéndose un poco curioso y con constancia, “las piezas de un puzzle pueden generar otro tipo de puzzle” y si encaja, tienes otra obra, y ya sólo te quedará exponerla.

Remember… Be Good, Be Hackers!

Autor: Gerard Fuguet (@GerardFuguet)

No hay comentarios:

Publicar un comentario