PentestingIPTV Pentest Lab

Como Empezo Todo

De una app de Xcode a un pentest de 13 sesiones — la IP expuesta en redirects que desperto la curiosidad

Como Empezo Todo

El Proyecto que Lo Desencadeno

Esta historia no empezo como un pentest planificado. Todo comenzo de la forma mas inocente posible: desarrollando una app de IPTV en Xcode.

GitHub stars Platform Swift License

MKS IPTV App — Cliente IPTV nativo para iOS/macOS Demo Web — Documentacion y capturas


El Redirect que Lo Revelo Todo

Estaba construyendo un cliente IPTV nativo para iOS/macOS, probando la conexion con el servicio de mi proveedor. El dominio principal estaba protegido por Cloudflare — capa de seguridad que deberia ocultar la IP real del servidor. Pero mientras depuraba las peticiones de red en Xcode, note algo raro en los redirects:

El problema: Cloudflare hacia proxy pero el backend devolvia redirects 302 con la IP real del servidor en el header Location. El cliente seguia el redirect y se conectaba directo al servidor, bypasseando Cloudflare completamente.

# Lo que vi en el debugger de Xcode:
GET https://[DOMINIO-PROTEGIDO]:8080/live/user/pass/123.ts
 302 Found
 Location: http://XXX.XXX.XXX.XXX:8080/play/mpegts/...
#            ^^^^^^^^^^^^^^^^^^^ LA IP REAL ESTA EXPUESTA

Esto es un error de configuracion clasico: el servidor backend no sabe que esta detras de un proxy, asi que genera URLs absolutas usando su propia IP en lugar del dominio de Cloudflare.

Contexto importante: Este es mi proveedor de IPTV real. Ya sabia que tenian miles de canales — los consumo todos los dias. Lo que NO sabia era que podia listar TODO el catalogo de 22,000+ canales usando tecnicas de auth bypass, ni que la infraestructura tuviera tantas capas de proteccion.


La Curiosidad que Desperto

Ese descubrimiento desperto mi curiosidad: Si la IP esta expuesta, que mas estara mal configurado? Que pasa si ataco directamente la IP sin pasar por Cloudflare? Podria acceder a mas informacion de la que deberia?


Lo que YA sabia (como cliente)

Como usuario del servicio, ya conocia:

  • El catalogo de canales disponibles (los que pago)
  • Las credenciales de mi cuenta (user/pass Xtream)
  • El dominio de acceso ([DOMINIO-PROTEGIDO])

Lo que DESCUBRI (como investigador)

Lo que no esperaba encontrar:

  • Auth bypass parcial en STB API: Poder obtener perfiles completos de usuario con solo una MAC (inventada)
  • Catalogo completo expuesto: Listar los 22,000+ canales del proveedor, no solo los de mi suscripcion
  • Infraestructura de 3 nodos: Main + 2 nodos de streaming con configuracion casi identica
  • "La Cupula": Un sistema de routing dual que protege vulnerabilidades conocidas

Lo que sigue es el documento tecnico completo de todo lo que aprendimos.