Hoy os vengo a contar una de esas cosas que me encuentro utilizando todos los días la tecnología, por si os ayuda en algún momento. Y sobre todo, por si has llegado aquí buscando la solución a un error que yo he tenido y he tenido que resolver previamente. En este caso el mensaje de error del título, que sabía por qué se había producido, pero que me costó localizar.
Figura 1: Error "-apple-system Font Not Available" en MS Power Point para MacOS
El mensaje de error "-apple-system Font Not Available" me salió en mi copiar de Microsoft Power Point para MacOS, por una supuesta fuente que había utilizado en una de las diapositivas y que me estaba impidiendo trabajar con normalidad.
Figura 2: Error "-apple-system Font Not Available"
Como me dejaba guardar la presentación, y la presentación no era para compartir o usar en un evento, sino para mí, tampoco me preocupó demasiado, pero en un momento quise exportarlo a PDF y entonces sí que tuve el problema.
Figura 3: La ausencia de la fuente te dificulta la exportación a PDF
Al intentar exportar con la ausencia de esa fuente, se ponía a buscar en Internet, y tardaba una eternidad, hasta que al final tenía que cancelar. No sé si con un time-out mayor al final hubiera sustituido la fuente por otra y listo, pero yo quería resolverlo y sabía por qué había sido.
Figura 4: Se queda "iddle" intentando exportar
El error de la "Font Not Available" se produce cuando copias de otra aplicación y pegas con el estilo original. Es decir, copias y pegas con normalidad, y eso genera automáticamente que se copie y pegue el estilo origen del objeto que estás copiando.
Figura 5: A cancelar y buscar el texto con la fuente not available
Para evitar eso, Microsoft Office tiene una opción desde innumerables versiones atrás en el menú de Paste Special, que es para pegar sin formato -> Unformatted Text, utilizando el formato del punto de destino del objeto, lo que te simplifica la vida, y evita que te pase justo esto.
Figura 6: Paste Special -> Unformatted Text en MS Office
Resolver el problema implicaba repasar todos los textos de la presentación hasta localizar el lugar en el que se encuentra esa fuente. Primero lo hice buscando todos los cuadros de texto, pero me volví loco y no lo conseguí encontrar manualmente. Después probé con las plantillas, y también me volví loco y no conseguí encontrar el texto con la fuente cambiada.
Una búsqueda binaria para acabar antes
Al final, como era MS PowerPoint utilicé una búsqueda logaritmica, en las diapositivas para tardar Log(n) en encontrar el error. Tan sencillo como eliminar la mitad de las diapositivas y probar a grabar. Si daba el error, la fuente maldita se encontraba en la mitad de diapositivas que quedaban, si no, en las que había quitado.
Figura 7: Texto con fuente Calibri (que sí está en el sistema)
Después de eso, volvía a pegar y cortaba la mitad de la mitad donde estaba el error, hasta que localicé la puñetera diapositiva que tenía el texto con la fuente maldita que me estaba dando el maldito error que me estaba ganando la partida.
Figura 8: El número 173 con fuente -apple-system
Al final, lo localicé, y se trataba sólo de un número. Un número que había copiado de una página web de Google Chrome en el que el programador no ha elegido ninguna fuente en los estilos CSS, así que por defecto se aplica -apple-system, la fuente del sistema, que Google Chrome interpreta perfectamente como la de por defecto, pero que no existe como tal en Microsoft Office Power Point.
Figura 9: En el CSS de la Web no se definía fuente.
Al final lo resolví, hice el PDF, y lo pude arreglar, pero como me quitó mucho tiempo, hice las capturas para compartirlo por vosotros, que si alguno lo sufre alguna vez - como ya me pasó con el bug de UX de WhatsApp que a tanta gente le pasó -, podáis arreglarlo fácilmente. Y recordad, siempre Paste Special -> Unformatted Text.
Muchas veces algunas personas piensan que por saber hacer cosas de seguridad informática, ser CDO de Telefónica, o haber estudiado la carrera de Ingeniería Informática, se sabe todo. Ni mucho menos. Cada día es un camino de aprendizaje. A veces de cosas grandes, otras de cosas pequeñitas que luego se meten en tu vida sin saberlo. Durante este verano he aprendido una serie de cosas - algunas incluso de mis hijas - que tienen que ver con usar las cosas y las he ido recopilando.
Figura 1: Unos (7) trucos de usuario que he aprendido este verano
Llevo muchos años usando PowerPoint en las presentaciones, y concentrar la atención de los usuarios sobre lo que ven en pantalla es fundamental. Cuando usaba Windows era usuario de Zoomit para ampliar la pantalla y señalar cosas. Desde que tengo el Mac no lo uso, y hago zoom con el gesto de los dos dedos en el Touchpad en la pantalla, aunque no siempre puedo hacer zoom en la presentación.
Figura 2: Sacar el puntero láser, elegir su color y sacar el lápiz a pintar.
Lo que sí que aprendí es que puedes poner la pantalla en Blanco o en Negro usando las letras W o B cuando estás en modo presentación. Algo útil cuando quieres captar la atención de la gente. Todas esas opciones están en el menú que sale abajo a la izquierda cuando estás en "Modo Presentación". Entre las opciones está usar un puntero láser y elegir su color. Además, puedes sacar el lápiz y pintar. Algo que había visto en alguna presentación pero que siempre pensé que era de una herramienta externa - similar a ZoomiT -.
2.- Descargar vídeos y fotos de Instagram
Esta me la contaron este verano - ¡gracias Andrea! - y tiene que ver con la manera más fácil y cómoda de descargar vídeos y fotos de Instagram sin utilizar ningún plugin o hacerlo manualmente que es un poco rollo.
Figura 3: Guardar fotos y vídeos de Instagram usando Telegram
Para ello basta con que copies la URL en Telegram (en una conversación contigo mismo), y después la abres. Verás que aparece la opción de Guardar en el equipo. Fácil, fácil. No, no la conocía.
3.- Elegir la mejor foto en modo "Ráfaga"
El modo ráfaga de iPhone siempre me pareció un rollo hasta que mi Hacker me explicó cómo funciona y para qué es. Se trata de que pongas la cámara en modo foto y después dejes el botón de lanzar la foto pulsado durante unos segundos.
Figura 4: Fotos en modo ráfaga
Esto hace que se grabe en modo ráfaga y se hagan muchas fotos seguidas mientras pulsas el botón. Después se da a la opción de Select y aparecerán todas las fotos de la Ráfaga. Seleccionas las que te gusten para el Instagram y borras las demás. Easy.
4.- Las búsquedas dentro del chat de WhatsApp
No soy muy usuario de WhatsApp, pero tengo un grupo de amigos en el que "amonesto" al que manda un memé sobre comida o cachondeo repetido. A veces necesito buscar, y la opción no es tan clara. Un día pasé un rato buscando cómo se hacía y hay que entrar dentro del grupo.
Figura 5: Buscar dentro de un chat de WhatsApp
Y aparece la opción. Después, cuando la activas sale justo donde debería estar siempre. Pero no, hay que activarlo. Muy sencilla cuando la conoces, pero creo que en iPhone sería más cómoda si apareciera cuando "tiras" hacia abajo.
5.- Buscar fotos usando en iOS usando AI
La IA está en todos los rincones de nuestra vida y en iOS se utilizan los servicios de Artificial Vision para reconocer objetos en fotografías. Si entras al carrete y buscas por "cosas" aparecerán las fotos que contengan esos objetos.
Figura 6: Fotos buscadas con el objeto Car en iPhone
La opción está en buscar en la opción de fotos, y una vez que buscas un objeto puede que acierte o que o acierte mucho. Depende de lo que busques. Pero mola.
6.- Cambiar el modo de los mapas en Google Maps
Esta opción me tenía loco, y no la encontraba. Uso Google Maps cuando hago rutas, y me gusta que los mapas estén en la dirección de la marcha y no en la dirección Norte. Estas opción de configurar es muy fácil si sabes dónde está.
Figura 7: Ruta en Google Maps en modo "Norte". Haz clic en la brújula y cambia el modo.
Pues está en la brújula. Hay que pinchar sobre la brújula para cambiar el sentido de la ruta. Cuando lo descubrí este verano me dio mucha tranquilidad. Que me tenía negro cuando se me ponía - sin querer - en modo Norte.
7.- El preview tooltip de WhatsApp desde la app de escritorio
Este corrió por Internet este verano, pero yo tampoco lo conocía. Se trata de aprovechar el preview del último mensaje en el Tooltip que sale en la app de escritorio de WhatsApp.
Figura 8: Basta con que dejes el ratón encima del grupo en la app de WhatsApp Desktop
Como se puede ver, no importa si el tamaño es muy grande o muy pequeño. En el menú de contexto sale todo y así no se notifica el doble-check azul de que has leído el mensaje. Para los paranoicos. Yo la verdad es que no lo uso, pero me pareció curioso.
Tengo algunos más en la lista de estas cosas que voy aprendiendo y me sorprendo, pero como el post ya quedado muy largo, me los guardo para otro día. De momento os dejo estos.
Hace unos días se hacía pública la aparición de un malware denominado “Zusy”, que se introduce en los equipos utilizando como vector de entrada un archivo en formato Microsoft PowerPoint. Una de las peculiaridades de este malware respecto a otros que se han encontrado en el pasado, es que su ejecución no depende de que el usuario active las macros - muy populares hasta hoy -, sino que utiliza una característica propia de PowerPoint que permite la ejecución de programas externos. En este artículo vamos a analizar el método de entrada utilizado por este malware, y las posibles consecuencias que puede tener en el equipo de una víctima.
Figura 1: Zusy: Cómo un PowerPoint entrega tu Windows a un atacante malo
Todo comienza con un simple archivo PowerPoint que, cuando es ejecutado por el usuario, muestra la siguiente diapositiva:
Figura 2: Diapositiva de gancho para capturar el movimiento del ratón
Cuando el usuario pasa el ratón por encima del hipervínculo, PowerPoint muestra el siguiente mensaje:
Figura 3: Warning de MS PowerPoint por la ejecución de programas externos
Éste es el punto crítico, donde Microsoft PowerPoint nos avisa de que se ha bloqueado la ejecución de un programa externo y nos da la posibilidad de habilitarla. Si el usuario lo habilita, PowerPoint ejecuta una Powershell que hace de "dropper" y descarga el malware en el equipo y lo ejecuta, al estilo del PsBot de nuestro compañero Pablo González.
Esto, que a priori puede parecer un tanto enrevesado, tiene un fundamento técnico bastante sencillo. ¡Vamos con ello! En esta sección vamos a ir analizando poco a poco el funcionamiento del malware Zusy, y nos construiremos nuestra propia presentación en PowerPoint maliciosa, con el mismo comportamiento.
Construyendo tu propio Zusy
Para comenzar tenemos que entender la capacidad que tiene PowerPoint para ejecutar programas externos. Como hemos visto anteriormente, cuando pasamos el ratón por encima del hipervínculo nos aparece un cuadro de dialogo que nos indica que se está intentando ejecutar un programa externo. Si buscamos en la documentación oficial de Microsoft que la herramienta da la posibilidad de ejecutar un programa durante una presentación en PowerPoint, por lo que vamos a añadir una Powershell con la opción de que se lance al pasar el ratón por encima.
Figura 4: Ejecución de Powershell al mover el ratón por encima
Una vez añadido, guardamos nuestra presentación como fichero .ppsx y lo probamos. Cuando pasamos el ratón por encima, podemos ver como aparece el cuadro de dialogo que indicábamos anteriormente sobre la ejecución de programas externos, si lo habilitamos, se abre una consola Powershell.
Figura 5: Código del hipervínculo para ejecutar el programa en slide1.xml
Al analizar el código de los ficheros OOXML, que son en formato XML, podemos ver qué es lo que PowerPoint ha añadido en el código de la "Slide1" para habilitar la ejecución del programa. Como sabéis, es tan sencillo como extraer el contenido del archivo .ppsx con un descompresor tipo ZIP.
Figura 6: En slide1.xml.rels está el target que se va a abrir
En slide1.xml.rels encontramos la ruta del programa que se está ejecutando, vamos a comprobar, si además de ejecutar programas, ejecuta también los argumentos que le proporcionemos, para ello modificamos slide1.xml.rels de la siguiente manera:
Figura 7: Añadir parámetros de ejecución al hipervínculo manualmente
Si abrimos la presentación y pasamos el ratón sobre el enlace, podemos comprobar como ahora se abre una calculadora. Con lo cual si se pueden ejecutar argumentos con los programas.
Figura 8: Ahora se ejecutaría la calculadora
Una vez tenemos identificado el método principal con el que el malware ejecuta programas a través de un archivo PowerPoint, vamos a ver, a través de una prueba de concepto, porque esto puede ser peligroso para los usuarios.
Prueba de concepto
Con la técnica que hemos visto anteriormente, vamos a insertar el siguiente comando en el fichero slide1.xml.rels de nuestra presentación maliciosa en formato PowerPoint:
Este comando lo que hace es ejecutar Powershell, que a su vez hace una petición a una dirección determinada para descargar un archivo y posteriormente ejecutarlo sin llegar a guardarlo en disco. Como podemos ver en la figura anterior, la URL se forma sustituyendo el carácter “/” por “[char] 0x2F”. Esta es una forma de “ofuscar” la dirección, de tal manera que PowerPoint no tome ninguna medida de seguridad y la procese correctamente. Si se pone la dirección URL sin esto, veremos como no es posible ejecutar la petición.
Una vez tenemos el comando insertado en el archivo PowerPoint, nos falta decidir qué fichero descargaremos del servidor remoto y ejecutaremos. En este caso, para que el nivel de compromiso sea el mayor posible, descargaremos un archivo que ejecutará una serie de sentencias similares a las siguientes:
Este código inserta en el registro de Windows un valor determinado, en este caso una nueva petición para descargar y ejecutar un archivo desde un servidor remoto. Esto lo hacemos para utilizar la técnica de fileless UAC bypass que hemos explicado en artículos anteriores, para elevar privilegios.
Cuando el binario que hace el UAC bypass se ejecute, llamará a Powershell con los argumentos necesarios para que haga una petición al servidor remoto y descargue y ejecute un payload con un Meterpreter, esta vez con privilegios de administración. Tras esto, la máquina del atacante recibirá una conexión reversa desde la de la víctima.
Veamos todo el proceso resumido y esquematizado:
Figura 9: Esquema del PoC que se realiza
1. El usuario ejecuta el fichero PowerPoint malicioso.
2. El fichero PowerPoint ejecuta Powershell con una serie de argumentos que realizan una llamada a un servidor para descargar y ejecutar un fichero sin privilegios de administración.
3. El fichero descargado y ejecutado, realiza cambios en el registro de la víctima para realizar un UAC bypass, a continuación, ejecuta el binario vulnerable a dicho bypass.
4. Debido a que la rama del registro ha sido envenenada, el binario ejecutado llama a Powershell con una serie de argumentos que realizan otra petición al servidor y descargan otro fichero para ejecutarlo, ¡esta vez como administrador!
5. El fichero ejecutado contiene un payload que realiza una conexión reversa a la máquina del atacante.
6. El atacante tiene acceso completo a la máquina de la víctima con máximos privilegios.
Figura 10: PoC de Cómo obtener una sesión Meterpreter desde un PowerPoint
Como podemos observar, la diferencia entre que tu maquina sea comprometida totalmente y no lo sea, está en pulsar el botón de habilitar en el aviso que te muestra PowerPoint, una aplicación que a priori es bastante confiable. Por eso se debe estar siempre muy atento a la hora de abrir o ejecutar los archivos que nos envíen y leer detenidamente los avisos de seguridad antes de aceptarlos.
Autor: Santiago Hernández Ramos, cybersecurity researcher en ElevenPaths