11 agosto 2010

Pirateando al pirata: Televisión de pago "by the face"

La información descrita a continuación está pensada con fines académicos
Si haces mal uso de ella, será tu responsabilidad, no nuestra.

Cardsharing es el método por el cual receptores independientes obtienen acceso simultáneo a una red de televisión de pago, usando una tarjeta de abonado de acceso condicional legítima. Típicamente, la tarjeta legítima está adjunta a un ordenador personal o Dreambox el cual está conectado a Internet, y está configurado para proporcionar la palabra de control legítimamente descifrada a otros receptores que piden información. Esta palabra de control descifrada es entonces usada para descodificar un servicio de acceso condicional codificado, como si cada uno de los otros receptores estuviera usando su propia tarjeta de abonado. (http://en.wikipedia.org/wiki/Card_sharing)

Para poder comenzar necesitaremos de una antena de satélite en nuestro domicilio. La mayoría de viviendas ya tienen una preinstalada, y si nos encontramos en Europa puede estar orientada a cualquiera de los tres satélites Hispasat 30º Oeste (1B, 1C y 1D) o a los ocho de Astra 19’2 Este (1B, 1C, 1E, 1F, 1G, 1H y 2C). En nuestro caso usaremos este ultimo ya es donde están los servicios que queremos visualizar. Si necesitas instalar una tu mismo (recomendado) por unos 30€ puedes tener una antena con un plato de 80cm, LNB universal y herrajes. Si quieres facilitarte la vida puedes comprarte una antena motorizada.


No es nuestra intención centrarnos en la orientación de la misma ya que hay bastante documentación sobre esto. Sí recomendaremos una aplicación disponible para Android y iPhone que nos hará la vida más fácil para instalar correctamente la antena.


El software mostrado en el video anterior, DishPointer, podréis encontrarlo en esta dirección, y una pequeña guía en este enlace.

Una vez finalizamos con la antena necesitaremos instalar un descodificador. Normalmente se utilizan los famosos clones de Dreambox. Este ultimo se utiliza frecuentemente por fabricar hardware de bajo coste (Procesador PowerPC ~250Mhz, 96Mb RAM, 32 Mb Flash) corriendo un sistema operativo GNU/Linux, con la flexibilidad que esto nos aporta para poder actualizarlo, usar firmwares personalizados, etc. También es posible utilizar descodificadores basados en tarjetas PCI (ya hablaremos más adelante sobre estas en hacking de satélites donde se usará una tarjeta Hauppauge WinTV HVR 4000).

Con el equipo necesario ya podemos empezar a entender un poco más como funciona el Cardsharing y cuales son sus protocolos:
  • Radegast : De los primeros protocolos, bastante inseguro.
  • Gbox : Usado sobre todo en PC.
  • Mbox : Es algo más nuevo y aporta mejoras de otros protocolos.
  • Newcamd : Uno de los más usados por la mayoría de servidores sobre todo los que no son GNU/Linux (tipo Mvision).
  • CCcam : Sin duda el más famoso y potente.
Aunque hay bastantes más (Sbox, Evocamd, MGcamd, RQCam, IncubusCam, SCam, VizCam, Hypercam, etc) estos son los más usuales. Podemos ver un ejemplo sencillo de conexión, donde en resumidas cuentas el CCcam Server dispone de la tarjeta de Abonado y mediante Internet comparte esta como una tarjeta virtual en el cliente Dreambox 500. Otros protocolos permiten usar nuestro cliente también como servidor de claves para poder distribuir el servicio ya que normalmente y de forma recomendada un servidor de claves suele tener de media unos 15/20 clientes.

 

Toda esta información nos permite conocer a grandes rasgos como están montadas estas redes de pago por visión. Como es habitual se suelen montar por personas no muy cualificadas que desconocen como implementar las medidas de seguridad necesarias para evitar que se usen bajo su consentimiento. La gran mayoría de ellos siguen funcionando con claves por defecto, sin cifrar las comunicaciones y sin monitorizar a los clientes.

Por lo tanto solo necesitamos conocer que satélite utiliza el servidor de claves que normalmente va asociado a los servicios que ha contratado. Acceder a la configuración del Servidor/Cliente añadir/copiar el usuario de acceso, instalar la lista de canales o realizar una búsqueda bajo dicho satélite y listo. ¿Como podemos encontrar estos servidores? Una forma rápida es usando Shodan (Compute Search Engine):


Realizamos una búsqueda con el banner “dreambox” y probamos con algunos de los resultados con la clave por defecto root/dreambox. En unos pocos intentos conseguimos acceso a varios de ellos como el siguiente:


Una vez dentro podemos ojear un poco que proveedores de TV están configurados e incluso con este firmware ver online o mediante VLC un canal seleccionado como vemos en la siguiente imagen.


Ahora solo queda ver la configuración del Cliente y en este caso vamos a copiarla. Hay que tener en cuenta que dependiendo del protocolo solo podremos usar una sesión por lo que dejaríamos sin servicio al otro descodificador, pero bueno solo es una prueba para ver que funciona correctamente. Accedemos mediante telnet/ssh según este habilitado con la clave por defecto y accedemos al fichero de configuración:


En este cliente no se están usando saltos, el host xxxx.dyndns.org es el servidor y el usuario/clave ‘dec400aa’. Por lo que solo tendriamos que configurarlo en nuestro decodificador en el fichero de configuración Cccfcam.cfg que normalmente se encuentra en /var/etc, reiniciar el servicio. Tener la antena orientada al satélite correcto, una lista de canales o buscar directamente los mismos de forma automática y a disfrutar de los mismos.

Si eres de los que no se quiere complicar la vida, ya hay sitios que ofrecen servidores de forma libre, aunque normalmente son servidores que han sido pwneados y que suelen publicados cuando hay eventos importantes (Futbol, Baloncesto, NFL..), algunas :
Entrada escrita por ReverseSkills

19 comments :

rusty73 dijo...

Muy interesante articulo, gracias por compartirlo.

Ayak dijo...

Muy bueno el artículo sólo cambiaba "Android y iPhone" por "Android e iPhone".

S!

Anónimo dijo...

Super interesante! Igual yo no tengo tele en casa, no me gusta, pero el artículo me encantó :)

Adrián dijo...

No sé yo si me veo subido al tejado colocando la antena, pero igual...

Newlog dijo...

Muy bien pensado utilizar Shodan para buscar servidores de este tipo! No se me había ocurrido.

Saludos!

Unknown dijo...

@rusty73, me alegro de que te guste :-)

@omarbv por internet creo que no he visto ninguno que compruebe la MAC. Pueden tener varias protecciones, pero no es el caso además de que la gente copia y pega confs y no se complica, pero gracias por añadirlo!.

@Newlog, siempre puedes pegarte un par de dias buscando banners con un banner grabber (nmap + script), si buscas en rangos de ADSL/movistar encontraras algunos de D+/Showtime Arabia/Sky Italia... :-), siempre bajo tu responsabilidad claro.

Anónimo dijo...

Técnicamente no hay nada de pirateo en el articulo, no deja de ser como robar el wifi del vecino.

lost-perdidos dijo...

Fines académicos, dice. xD

Jordi Prats dijo...

@omarbv: Por internet no se puede filtrar por MAC ya que el servidor solo va a ver la MAC del gateway para todos los paquetes que le lleguen (evidentemente, excepto los que esten en su segmento que van a ser pocos)

De hecho ni siguiera tienen porque tener MAC los clientes, solo deben entender de TCP/IP

Unknown dijo...

@anonimo : simplemente el articulo era para explicar como puedes hacer eso de esos servicios de una forma facil y sin tener conocimientos tecnicos. Si quieres podemos hablar tecnicamente sobre esto :-).

@omarbv los filtros mac se usan en redes privadas vpn etc.

Newlog dijo...

@reverseskills:

Otro modo de hacerlo sería buscar, por ejemplo en redes P2P, archivos de configuración de la dreambox. En estos archivos hay todo un conjunto de IP de otras máquinas a las que poder buscar... Y así una cadena infinita :D

Saludos!

Jordi Prats dijo...

@omarbv: Entiendo entonces que se envia la MAC del equipo mediante algun protocolo de la aplicación, porque desde luego no las puedes ver por internet: Puedes comprobarlo mirando tu tabla arp o puedes hacer un tcpdump/wireshark

Por otro lado, todas las interfaces ethernet tienen MAC, pero no todas las interfaces son ethernet: Por lo tanto no toda interfaz debe tener MAC

Anónimo dijo...

es un screenshot la imagen del discovery ya que para hacer streaming necesitas de un buen ancho de banda por parte del cliente.

Y si es verdad que hay mucho descuidado pero no todos...

omarbv dijo...

@Jordi Prats siento discutir, pero hay servidores de cardsharing que no actualizan sobre ciertas dreambox sino tienen la mac del receptor previamente almacenada. Lo hacen normalmente aquellos que cobran una tarifa anual/mensual por el acceso al servidor. Para que ningún otro pueda conectarse...

Y otra cosa... toda interfaz tiene una MAC!!!

Mira esto: http://www.tododream.com/foro/dreambox-500s/35363-cambiar-mac-de-500-hacerla-pasar-original.html

lost-perdidos dijo...

Fines académicos, dice. xD

reverseskills dijo...

@anonimo : simplemente el articulo era para explicar como puedes hacer eso de esos servicios de una forma facil y sin tener conocimientos tecnicos. Si quieres podemos hablar tecnicamente sobre esto :-).

@omarbv los filtros mac se usan en redes privadas vpn etc.

omarbv dijo...

Eso realmente no funciona con todos los cardservers, puesto que muchos validan el acceso mediante mac...
Habría que modificar la mac del dreambox.

Otra cosa... sobre la password by default, hay alguna versión de firmware en la que root no tiene pass xDD

Lo bien que me lo paso cambiando el canal a la gente!!

Saludos y buen artículo.

fosi dijo...

@reverseskills
Un articulo muy interesante. He buscado información acerca de tu comentario "Hay que tener en cuenta que dependiendo del protocolo solo podremos usar una sesión por lo que dejaríamos sin servicio al otro descodificador" y no encuentro ningun protocolo en el que puedas usar el mismo usuario/contraseña del fichero original sin dejar sin servicio al otro... ¿sabes algo más sobre esto?

Freecardsharingcccam dijo...

Freecardsharing