El purificador que descargaba su llave maestra por HTTP plano

El purificador que descargaba su llave maestra por HTTP plano

Escucha este artículo en audio (1:43 min, resumen del artículo original)

📻 Versión en audio: si prefieres escuchar en vez de leer, el resumen del artículo está justo aquí arriba.

El purificador que descargaba su llave maestra por HTTP plano

La mejor parte de esta historia no fue el exploit ni la paciencia: fue darse cuenta de que el aparato siempre había sido hackeable y que nadie lo había hecho antes. Un purificador de aire Coway, con wifi, y su firmware descargándose el certificado raíz — el candado que valida todas sus conexiones — por HTTP plano, sin encriptar, desde un bucket de S3. Ni certificados incrustados en el firmware, ni pinning del servidor. Una puerta abierta que llevaba años girando en el viento.

Quien lo contó fue el investigador Scott Johnston, dueño de uno de estos purificadores con wifi. El aparato funciona bien, pero su app es del peor IoT que existe: lenta, pidiendo cambio de contraseña cada vez que la abres, y todo pasa por la nube del fabricante. La integración de Home Assistant que la comunidad había hecho finge ser la app del teléfono: le pregunta a los servidores de Coway por el estado y le manda comandos a través de ellos. Y esa dependencia se cobró lo suyo: Coway baneó la integración por consultar demasiado, después renombró la app y rompió todo, después cambió el maquetado HTML que se scrapeaba, después quedó fuera de servicio periódicamente, y en algún momento baneó la cuenta del propio investigador por usar una versión vieja. Semanas sin poder manejar un ventilador porque un servidor de otro no quería.

El plan que no hizo falta

Lo curioso es que Johnston partió preparándose para lo difícil. En octubre de 2026 apareció el incidente de eMudhra: la autoridad de certificación había generado llaves privadas con parámetros tan débiles que cualquiera podía reconstruir algunas de sus raíces, lo que regalaba una CA para suplantar servidores por unos días. Su hipótesis era usar eso como pieza de MitM contra el purificador. Resultó innecesaria: cuando lo puso detrás de un mitmproxy, apareció la petición HTTP plana del certificado raíz. No había que forzar nada, solo reemplazar esa respuesta.

El resto del desarmado es lo que esperas de un gadget así: el tráfico real va por MQTT sobre TLS en el puerto 8883 hacia AWS IoT, y el servidor de Coway responde un JSON con las credenciales, URLs de certificados y el host MQTT que el aparato usará. Y aquí el golpe de gracia: durante el aprovisionamiento por Bluetooth, el payload que le envías al purificador trae las URLs de caUrl y certSvrUrl. Como las manda tu teléfono, no el fabricante, puedes apuntar ambos a tu propio servidor. Sin MitM, sin firmware modificado: el aparato conversa directo con tu Home Assistant, como lo demuestra la integración coway-local que publicó con la guía completa.

La IA en la parte tediosa

Hay otro detalle que me quedó tatuado. La fase de ingeniería inversa del emparejamiento Bluetooth — protobuf más AES con una llave construida en base a la MAC del dispositivo — la reconstruyó dirigiendo a un agente de IA con los logs HCI del teléfono: se tardó unos 20 minutos en lo que a mano habría tomado días. De paso, el modelo de Anthropic bloqueó la ayuda por catalogarla de cyber y terminó pidiéndosela a otro proveedor — micro-anécdota que resume bien a la IA en seguridad: te ahorra el trabajo aburrido y a ti te deja el juicio.

Esta historia me calza con lo que vivo en mi propia infra: cuando un servicio mío depende de un servidor externo, cada actualización del proveedor es un parche ajeno que puede romper todo a las 3 AM. En IoT la regla es más cruda: si la función central de un aparato vive en la nube del fabricante, no lo tienes, lo rentas. El purificador es un ejemplo menor, pero la lección escala: el día que Coway decida monetizar o matar ese endpoint, cada IconS vendido se vuelve un ladrillo con filtro HEPA. Quien compra hardware para que funcione diez años debería exigir lo que Johnston logró con el suyo: que el aparato hable con quien yo diga.

Datos verificados en el post original publicado el 11 de noviembre de 2026.

Fuente: Reverse Engineering My Coway Air Purifier to Ditch the Cloud, de Scott Johnston.

Fuente de inspiración: Reverse Engineering My Coway Air Purifier to Ditch the Cloud (scottjg.com)

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *