Los empleados que reciben correos electrónicos externos comúnmente reciben información sobre los archivos que podrían representar un peligro. Por ejemplo, los archivos con extensión .exe, por naturaleza, no se consideran seguros, así como los archivos .docx y .xlsx, los cuales pueden incluir macros maliciosos. Por otro lado, los archivos de texto, en general se consideran inofensivos, ya que, debido a su diseño, no pueden incluir nada más que texto simple. Pero no siempre es así.
Los investigadores descubrieron una manera de explotar una vulnerabilidad (que ahora ya está parcheada) en el formato, y podrían encontrar más. En realidad, el formato de archivo no es el problema; el problema es la forma en la que los programas gestionan estos archivos.
Vulnerabilidad CVE-2019-8761 para Mac OS
El investigador Paulos Yibelo resaltó una manera curiosa de atacar las computadoras con Mac OS mediante archivos de texto. Así como muchas otras soluciones de protección, el sistema de seguridad integrado de Mac OS, Gatekeeper, clasifica a los archivos de texto como completamente fiables. Los usuarios pueden descargarlos y abrirlos con el editor integrado TextEdit sin verificaciones adicionales.
Sin embargo, TextEdit es algo más sofisticado que el Bloc de notas de Microsoft Windows. Tiene más funciones, como mostrar el texto en negritas, permite que los usuarios cambien el color de la fuente, entre otras. Debido a que el formato .txt no está diseñado para almacenar información de estilo, TextEdit asume la información técnica adicional para poder ejecutar la tarea. Por ejemplo, si un archivo empieza con la línea <!DOCTYPE HTML><html><head></head><body>, TextEdit procesa las etiquetas HTML, incluso en un archivo con una extensión .txt.
En esencia, si se escribe un código HTML en un archivo de texto que inicia con esta línea, TextEdit está obligado a procesar el código, o al menos algunos de sus elementos.
Los ataques son posibles mediante los archivos de texto
Después de una examinación detallada de todas las posibilidades que un posible atacante tiene a su disposición mediante este método, Yibelo descubrió que la vulnerabilidad permite:
- Ataques de DoS. Gatekeeper no evita que se abran archivos locales desde un objeto con la extensión .txt. Por lo tanto, abrir un archivo de texto malicioso puede sobrecargar una computadora, por ejemplo, con el código HTML para acceder al archivo /dev/zero, una fuente infinita de caracteres nulos.
- Identificar la verdadera dirección IP de un usuario. El código en el archivo de texto puede llamar a AutoFS, un programa estándar para montar los sistemas de archivo, lo cual puede proporcionar acceso a un disco externo. Si bien está acción por sí misma es inofensiva, debido a que el proceso de montaje automático obliga al núcleo del sistema a enviar una solicitud de protocolo de control de transmisión (TCP), incluso si el usuario está detrás de un servidor proxy, el creador del archivo de texto malicioso puede averiguar el momento exacto en qué se abrió y registrar la dirección IP real.
- Robo de archivos. Es posible insertar archivos completos dentro de un documento de texto que contenga el atributo <iframedoc>. Por lo tanto, el archivo de texto malicioso puede obtener acceso a cualquier archivo en la computadora de la víctima después transferir su contenido mediante un ataque de tipo dangling markup. Solo es necesario que el usuario abra el archivo.
La vulnerabilidad se notificó a Apple en diciembre de 2019, y se le asignó el número CVE-2019-8761. En su publicación, Paulos Yibelo proporciona más información sobre explotar la vulnerabilidad.
Cómo mantenerse seguro
Una actualización de 2020 parcheo la vulnerabilidad CVE-2019-8761, pero esto no garantiza que errores relacionados con .txt no acecharán en el software. También podría haber otras que nadie ha averiguado cómo explotar, aún. Entonces, la respuesta correcta a la pregunta “¿Este archivo de texto es seguro?” sería: “Sí, por ahora. Pero mantente alerta.”
Por lo tanto, recomendamos capacitar a todos los empleados para tratar cualquier archivo como una amenaza potencial, incluso si parece un inofensivo archivo de texto.
En cualquier caso, es sensato pasar el control de todos los flujos de información de salida a un SOC externo o interno.