Elimina la app NightOwl ahora mismo
(archive.md)- La utilidad para alternar automáticamente entre modo claro/oscuro en macOS se convirtió, tras su adquisición a fines de 2022, en una herramienta que incorpora dispositivos a una botnet sin consentimiento del usuario
- TPE.FYI LLC, la entidad adquirente, usa los dispositivos de los usuarios como gateways para tráfico de Internet con base en sus términos de uso, y no es posible desactivar esta función aunque se cierre la app
- Durante la instalación se registra un launch agent que se ejecuta con privilegios root y arranca automáticamente al iniciar el sistema; no puede desactivarse desde la aplicación
- Un daemon disfrazado de “actualización automática” levanta un proxy HTTP local y abre un túnel SSH hacia un servidor externo para desviar tráfico a través de la conexión de Internet del usuario
- Se usa el SDK Pawns de IPRoyal, una empresa que vende proxies residenciales, en una estructura donde el ancho de banda de Internet del usuario se revende para estudios de mercado
Qué es NightOwl y cómo cambió
- NightOwl es una app existente desde 2018 que ofrece la función de alternar automáticamente entre los modos claro y oscuro del sistema operativo
- Una alternativa que suplía la limitación del modo automático integrado de macOS, que solo cambia cuando el usuario está ausente
- Tras ser adquirida por TPE.FYI LLC a fines de 2022, incorporó por la fuerza los dispositivos a una botnet para estudios de mercado sin conocimiento ni consentimiento explícito de los usuarios
- No hay aviso separado más allá de la letra chica de los términos en la página de descarga
- Esta función no puede desactivarse ni siquiera cuando la app está cerrada
- El comportamiento está especificado en los términos de uso (TOS)
- Modifica la configuración de red del dispositivo para compartir tráfico de Internet y usa el dispositivo del usuario como gateway
- Los clientes destinatarios del gateway incluyen empresas de áreas como investigación web y de mercado, SEO, protección de marca, distribución de contenido y ciberseguridad
- Se consultó a NightOwl, pero no hubo respuesta
Cómo eliminarla
- Aunque la app no esté en ejecución, si solo está instalada, es necesario ejecutar comandos de eliminación en la terminal
sudo killall NightOwllaunchctl unload ~/Library/LaunchAgents/NightOwlUpdater.plistsudo killall AutoUpdatesudo rm -rf /Applications/NightOwl.app/ ~/Library/LaunchAgents/NightOwlUpdater.plistsudo zsh -c "rm /Users/*/Library/LaunchAgents/NightOwlUpdater.plist"
Análisis técnico del funcionamiento
- Al instalarse registra un launch agent llamado
org.nightowl.autoupdater.com- Convierte en daemon el proceso
/Applications/NightOwl.app/Contents/Helpers/AutoUpdatey lo ejecuta al iniciar el sistema con privilegios root - No puede desactivarse a través de la aplicación y ocurre silenciosamente, sin conocimiento ni consentimiento del usuario
- Convierte en daemon el proceso
- El aviso que muestra la app se limita a la recopilación de estadísticas de Google Analytics
- Indica que rastrea datos para analizar cómo se usa la función y errores
- Afirma que, con la opción
"anonymizeIp", oculta la última parte de la IP para garantizar la recopilación de datos anonimizados - Indica que se puede optar por no participar del rastreo desmarcando “Send Statistics” en la configuración
- Sin embargo, aunque se desactive el envío de estadísticas, el launch agent no se desactiva
- El daemon de “actualización automática” realiza tres tareas
- Verificar actualizaciones de la app mediante Sparkle
- Reportar crashes mediante Sentry
- Ejecutar un proxy HTTP local en el puerto
40701(modificable mediante un archivo json de configuración dentro del bundle de la app) - El último punto es un comportamiento inesperado en una app que se presenta como autoactualizador
-
Estructura del proxy y túnel SSH
- El daemon usa
sudopara cambiar de root a la cuenta principal del usuario y luego ejecutanightowl_t.dylib- Es una copia de tinyproxy, bajo licencia GPLv2, pero podría estar infringiendo la GPL al no incluir aviso de licencia GPL
- Funciona como proxy HTTP(S)
- Abre una conexión SSH mediante un archivo renombrado de autossh como
nightowl_a.dylib(sin licencia)- El destino es
testconnectuser2023@proxy-gw1-europe.squidyproxy.com, puerto2043 - Usa una clave pública soltada en
/tmpcon extensión.uuy tuneliza un puerto remoto hacia local con la opción-R - La clave se obtiene mediante una solicitud HTTPS a
proxy-api1.squidyproxy.com - Ese dominio fue registrado en GoDaddy en abril de 2022, y la IP está alojada por Microsoft
- El destino es
- Este servidor SSH tiene habilitado el acceso a shell
- Tras una conexión exitosa, el tráfico HTTP se entrega hacia el lado del usuario y sale al exterior a través de su conexión de Internet
- El daemon usa
-
Intento de port forwarding con UPnP
- Intenta abrir port forwarding UPnP en el router, pero falla porque los nombres de las claves están mezclados
- La solicitud SOAP enviada incluye la acción
AddPortMappingy el valorip royal paws
- La solicitud SOAP enviada incluye la acción
- Intenta abrir port forwarding UPnP en el router, pero falla porque los nombres de las claves están mezclados
Estructura de reventa de ancho de banda (Pawns / IPRoyal)
- La app parece usar el SDK de Pawns
- Pawns es una app que paga USD 0.20 por GB por el ancho de banda de Internet compartido por el usuario
- La entidad que opera Pawns es IPRoyal
- Una empresa de proxies que vende conexiones proxy residenciales a USD 1.75 por GB
- Se promociona como “IP obtenidas de forma 100% ética”
Qué es “TPE.FYI LLC”
- TPE (o Keeping Tempo, Tempo AI) está desarrollando un modelo de precios para que los recintos fijen el precio de las entradas según la demanda real de los artistas, con base en análisis como vistas de videos en YouTube y datos de popularidad por región
- No tiene relación con Tempo AI Calendar ni Tempo AI Gym
- La información relacionada es escasa, y casi no hay material posterior a 2018
- Al momento de la redacción, las instalaciones verificadas intentaban conectarse repetidamente a
https://stubbs.frontgatetickets.com/- Ese sitio vende entradas para presentaciones de música en vivo de un restaurante en Austin, Texas
- La empresa fue fundada en Austin, Texas, en septiembre de 2018 y disuelta en marzo de 2023 por “Jarod Stirling”
- La dirección es The Muse at SoCo, 1007 South Congress Avenue, Apartment 443, Austin, Texas, 78704
1 comentarios
Opiniones de Hacker News
Sé que este tipo de cosas pasa bastante seguido, pero me pregunto con qué frecuencia las empresas actualizan sus términos de servicio con este tipo de texto.
La idea misma de unos términos de renovación automática que rijan todo uso de forma permanente me parece algo que debería haberse bloqueado legalmente hace mucho tiempo.
El texto actual de NightOwl dice que pueden cambiar los términos y la información de precios en cualquier momento, que entran en vigor apenas se publiquen en el sitio web, y que NightOwl decide a su exclusivo criterio si un cambio es “sustancial”.
Avisar cambios en los términos de una app instalada localmente mediante una actualización del sitio web me hace pensar: ¿también se supone que hay que suscribirse a sus feeds sociales para enterarse?
Por intuición, parecía una cláusula inaplicable y abusiva, aunque uno pensaría que el equipo legal de Comcast la revisó.
Me pregunto si hay algún abogado que sepa si este tipo de texto es válido cuando los cambios de contrato se publican en un sitio web, sobre todo si no hay una notificación aparte.
Antes era un buen frontend para OpenStreetMap, pero tengo entendido que fue adquirida por una firma de inversión para monetizarla.
Me intriga cuál es el estado actual de la app, si su modelo de ingresos se parece al que se describe aquí, y qué convendría usar como alternativa.
En el caso de Safeway, el tribunal determinó que un consumidor no puede aceptar términos futuros que aún no existen, y que, si no recibió aviso del cambio de términos, no puede considerarse que aceptó los términos modificados solo por seguir usando el servicio.
Creo que los navegadores la marcaron como insegura.
Que la app haga muchas conexiones a sitios de venta de boletos para música en vivo es un uso común de los proxies residenciales.
Los revendedores de boletos usan los dispositivos de usuarios infectados para evadir bloqueos a hosts de centros de datos o límites de acceso masivo, y así aumentar sus probabilidades de conseguir boletos que después puedan revender con ganancia.
A veces, extensiones gratuitas de navegador, apps de VPN, etc., con una puerta trasera instalada por el creador, por alguien que comprometió el repositorio, o por un comprador como en este caso, convierten los dispositivos de los usuarios en este tipo de proxies.
Google y Amazon poseen grandes rangos de IP para sus servicios en la nube, así que los bots basados en AWS o Google Cloud son relativamente fáciles de detectar.
En cambio, Verizon también tiene grandes rangos de IP que asigna a sus clientes residenciales, y NordVPN aprovecha que servicios como Netflix o Amazon no quieren bloquear todo el rango de IP de Verizon para hacer que el tráfico parezca residencial.
Detesto las adquisiciones silenciosas.
También es terrible que sea muy común que actores maliciosos compren extensiones de Chrome para desarrolladores y luego las conviertan en malware.
https://chrome.google.com/webstore/detail/hover-zoom%20/pccc...
https://github.com/extesy/hoverzoom/discussions/670
Bastaría con que envíe una alerta grande si el dueño cambia de la noche a la mañana.
Casi nadie quiere donar, y las empresas decentes tampoco compran apps para monetizarlas, así que al final solo las peores empresas, las que quieren explotar a los usuarios, terminan comprando extensiones y apps.
Estas apps gratuitas tienen valor, pero no se traducen en ingresos para el desarrollador, así que se termina buscando otro camino.
Era una app muy invasiva que, para ofrecer funciones a nivel del sistema, inevitablemente necesitaba permisos enormes; que pasara sin fricción a manos de una empresa de publicidad y venta de datos no tiene sentido.
Está escrito tal cual en los términos de servicio que el usuario aceptó al usar el software, así que al final esto se reduce a algo como el principio de caveat emptor.
Me resulta rara la explicación de que el modo automático integrado de macOS solo cambia cuando el usuario se aleja de la computadora.
Si configuras el horario/ubicación de Night Shift y dejas el modo oscuro en automático, cambia de inmediato; y si usas un lanzador o Spotlight, también puedes alternarlo con una línea de AppleScript como
tell application "System Events" to tell appearance preferences to set dark mode to not dark mode.Diría que la probabilidad de que el modo oscuro se active al atardecer es de alrededor del 25%.
Me pasó durante años, incluso hasta Ventura, y me pregunto si a los demás siempre les funcionó perfectamente.
Parece que Apple revocó el certificado de desarrollador
Me pregunto si hay algún registro público que muestre cuándo fue revocado
La carga de la app quedó bloqueada, pero las dos dylib seguían ejecutándose, así que pensé que quizá ocurrió después de que la revocación del certificado ya había empezado
Como seguían ejecutándose incluso después de cerrar sesión y volver a iniciarla, también podría ser que persistan más allá del cierre de sesión
También apareció un aviso del firewall de macOS preguntando si se debía permitir que el binario AutoUpdate mencionado recibiera conexiones, así que todo esto parece haberse distribuido en los últimos días
Al reiniciar apareció el cuadro de diálogo
“NightOwl” will damage your computer. You should move it to the Trash., y aunque lo permití,/Users/*/Library/LaunchAgents/NightOwlUpdater.plisty el archivo de preferencias normal quedaron ahí, así que no se limpió por completoPara usuarios no técnicos que no se sienten cómodos con la terminal, probablemente convenga indicarles que reinicien
https://lapcatsoftware.com/articles/revocation.html
En mi entorno, macOS bajó la app y se negó a abrirla
En su lugar cambié a NightFall: https://github.com/r-thomson/Nightfall
Settings > Control Center > Display > Always Show in Menu Bar
Aunque se necesita un clic extra para activar y desactivar el modo oscuro, también permite usar Night Shift y es 100% nativo
Abre Automator, crea una nueva aplicación, selecciona “change system appearance” y luego elige alternar entre modo claro/oscuro
Después de guardarla, puedes abrir el nombre de esa app desde Spotlight para cambiar de modo, y supongo que también se podría hacer con Shortcuts
Tengo configurado un atajo global con clic derecho+Option+Command y funciona muy bien
Creo que debería haber una ley que pueda aprobarse para este tipo de cosas
Debería existir un contrato implícito de que el software haga lo que dice y no haga algo completamente distinto, con sanciones fuertes si se viola
Si enviamos un archivo EULA de 10 MB cada vez que hacemos una solicitud a un sitio web grande y seguimos enviándolo hasta que lo acepten, eso podría convertirse en un “DDoS por EULA”
La cláusula en mayúsculas de la MIT License empieza diciendo que el software se proporciona “tal cual”, sin garantías expresas ni implícitas de comerciabilidad o idoneidad para un fin particular, y la sección 15 de la GPL contiene una redacción casi igual
https://opensource.org/license/mit/
https://www.gnu.org/licenses/gpl-3.0.html#section15
La ley británica de contratos de consumo, influida por la Directiva de Derechos del Consumidor de la UE, se amplió desde 2015 para incluir también el contenido digital, e incorpora condiciones implícitas de que los productos deben ser de calidad satisfactoria y que los servicios continuos como Netflix, Spotify o software con actualizaciones no deben cambiar drásticamente respecto de lo que se proporcionó originalmente
https://www.legislation.gov.uk/ukpga/2015/15/part/1/chapter/...
La mayoría de las jurisdicciones tienen normas similares, y cada país de la UE debería tener leyes que implementen la Directiva de Derechos del Consumidor
Pero esto se aplica cuando se pagó dinero, y como NightOwl es gratis, las expectativas legales que regulan la venta de bienes y servicios no se aplican tal cual
Que una empresa sea adquirida y se meta spyware en el producto está mal, pero tampoco sería deseable un escenario en el que un adolescente o un desarrollador aficionado que subió software libre gratuito o freeware para aprender a programar sea demandado por una gran empresa por algo tipo left-pad
El peso de la regulación tecnológica debería recaer mucho más sobre empresas como Google, Microsoft y Apple que sobre pequeños desarrolladores que hacen utilidades gratuitas para la barra de menús o extensiones de Chrome
Evitar que pequeñas apps gratuitas y de código abierto se conviertan en vectores de ataque a la cadena de suministro sigue siendo difícil, y requiere mejoras lentas e imperfectas como mejor sandboxing y permisos a nivel de app, monitoreo de red por aplicación y detección de anomalías, y construcción de confianza en los procesos de empaquetado/distribución; probablemente las demandas no sean la respuesta
La parte que dice que intenta abrir el reenvío de puertos UPnP, pero falla porque en el router los nombres de las claves están mezclados, en realidad debería fallar en cualquier router
porque UPnP debería estar desactivado
Todas las apps P2P como Tailscale tienen que actuar temporalmente como servidores y permitir tráfico entrante
Sin esta función, por decirlo así, se convierten en ciudadanos de segunda clase, y es como tratar al usuario como a un niño
Claro que puedes abrir puertos manualmente, pero por una UX difícil de encontrar, inconsistente y complicada, para la gran mayoría de los usuarios es algo inaccesible, y la mayoría ni siquiera sabe qué es un puerto
Ellos tampoco quieren la molestia de desactivar UPnP, y es muy probable que esa configuración esté activada, sepas tú más del tema o no
La mayoría de los routers probablemente no tenga esa configuración, así que si un dispositivo infectado forma parte de tu modelo de seguridad, lo prudente es asumir que NAT queda prácticamente inutilizado por completo debido a los ataques NAT slipstream
Un dispositivo infectado puede cambiar la tabla NAT del router y hacer que en la práctica funcione como UPnP, pero sin ofrecer una UI que el usuario pueda auditar
Si usas solo IPv6 sin NAT, desactivar UPnP puede ser una buena medida de seguridad cuando estás dispuesto a administrar manualmente todas las excepciones del firewall, pero para la mayoría de la gente hoy en día, el firewall del host es la única protección confiable
Es una afirmación bastante confusa
En los términos dice que “modifica la configuración de red del dispositivo del usuario para compartir tráfico de Internet usando el dispositivo como gateway de tráfico de Internet, y que entre los clientes de NightOwl hay empresas de investigación web/de mercado, SEO, protección de marca, entrega de contenido y ciberseguridad”
Esto es de un nivel que de verdad habría que quemarlo todo
Pero de verdad me pregunto por qué pusieron esto explícitamente en los términos de uso
Si una organización mete una función tan sospechosa, parecería que también intentaría ocultar activamente que lo hace; me pregunto si escribirlo en los términos le da a NightOwl algún tipo de protección legal
Por ejemplo, si antes podrían haberlos demandado con éxito pero al estar en los términos ya está bien, o si este tipo de conducta sospechosa es técnicamente legal con solo ponerla en los términos
Si es así, es bastante decepcionante, y ojalá los permisos de las apps fueran más granulares
Usar Little Snitch ayuda a detectar a qué IP y direcciones se conecta una app y a bloquear esas conexiones
Espero que nunca consideren venderla