Mostrando entradas con la etiqueta Google Chrome. Mostrar todas las entradas
Mostrando entradas con la etiqueta Google Chrome. Mostrar todas las entradas

martes, abril 21, 2026

Cómo crear un exploit 1-day sobre un CVE de Chrome con Vibe Coding usando Claude Opus (no Mythos) y poner en jaque todas las apps en Electron

Utilizar la Inteligencia Artificial para buscar vulnerabilidades es algo de lo que os he hablado en más de alguna ocasión. En el artículo de "Usar Deep Reasoning en GitHub para buscar ( y parchear ) Bugs en proyectos Open Source" os hablaba hace ya un años de que me extrañaba mucho que esto no fuera un parte fundamental de los repositorios de código. Y sobre explotar CVEs publicados sólo con la información pública, ya tuvimos en el año 2024 el paper de "LLM Agents can Autonomously Exploit One-day Vulnerabilities".
Esto, lógicamente, lleva a que la profesión de dedicarse al Bug Bounty haya cambiado, y empiece a ser imprescindible trabajar con los LLM tanto para la búsqueda como para la explotación, que es de lo que habla David Padilla  en su libro de "Bug Hunter".

Figura 2:"Bug Hunterescrito por David Padilla en 0xWord

Esto mismo es lo que ha hecho el investigador s1r1us con Google Chrome, para demostrar el riesgo que además esto tiene en las aplicaciones hechas con Electron, y que ha publicado en un artículo que debes leer "I Let Claude Opus Write a Chrome Exploit: The Next Model (Mythos?) Won't Need My Help?". El gran problema es que las aplicaciones hechas con Electron llevan embebidas versiones de Chrome completas, pero hay un gap entre la actualización y parcheo de vulnerabilidades de Google Chrome y las versiones que llevan aplicaciones súper populares hechas con Electron.
A día de hoy, estamos, tras la última actualización del 7 de Abril en Google Chrome 147, así que todos los bugs parcheados en esta última versión, aún están presentes en Cursor, Claude Desktop, Discord, Slack, etcétera. Así que... ¿por qué no, a partir de la publicación de los CVEs parcheados en Google Chrome usar Claude Opus (No Mythos) para intentar hacer el exploit de estas vulnerabilidades conocidas?
Para ello, s1r1us estuvo enfocando a Claude Opus sobre distintos CVEs de los que no había exploit público, gastando tokens y dinero en ellos, hasta que encontró uno que el modelo descubrió cómo explotarlo, y con la ayuda del investigador - sólo con prompting - fue trabajando hasta que consiguió un código funcional que permitía ejecutar las primitivas de escritura y lectura dentro de la Sandbox de Google Chrome.
Por supuesto no es un 0-day, sino un 1-day o n-day, como quieras llamarlo, pero del que no existe un exploit público, por lo que sigue teniendo mucho valor en el mercado del bug bounty legítimo, pero como os podéis imaginar, también en el mercado negro. 
El siguiente fase hay que conseguir evadir la sandbox, y de esto no hay un CVE claro, pero el investigador hace una cosa maravillosa, que es irse a Chromium Tracker y buscar un reporte de existencia de este problema, y encontró el fallo descrito como: "V8 Sandbox Bypass: WasmCPT handle UAF by import dispatch table growth", un fallo conocido en la V8 Sandbox de Chromium.
Así que apuntó a Claude Opus hacia él, y juntando las dos piezas fue capaz de conseguir construir un exploit totalmente funcional para un CVE público del que no había exploit conocido, y que tiene un valor espectacular para el equipo de seguridad de Google, para las empresas de seguridad ofensiva y, por supuesto para el black market.
Por supuesto, los datos son los más interesantes, porque dejan ver el mundo hacia donde vamos, y que como podéis ver permite que con unas 20 horas de trabajo de "babysitter", y unos 2.000 USD en tokens se posible explotar un CVE conocido que está sin parchear en tooooooodas las aplicaciones Electron tan populares que tenemos hoy en día, con millones de instalaciones en todas las empresas y organizaciones que te puedas imaginar.
Estos exploits, se pagan en los Bug Bounties por unos 10.000 USD, así que sigue saliendo positivo en términos económicos el experimento, pero sobre todo pensando en la evolución de estos modelos. ¿Cómo será este mundo cuando se liberen modelos como Mythos? ¿Podremos permitirnos publicaciones de CVEs con tanta información pública? 

¿Serán sostenibles estos gaps entre los componentes y las aplicaciones que usan esos componentes? En la gráfica anterior tenéis un resumen de los días, las horas, los tokens y los costes invertidos en conseguir hacer este exploit. En el mundo de los exploits, estos costes son ridículos, y tener exploiters experimentados capaces de hacer estas cosas suele costar mucho más dinero. Mundo curioso al que vamos.

escrito por Chema Alonso con la colaboración de Pablo González, Fran Ramírez, Amador Aparicio, Manuel S. Lemos y José Palanco en 0xWord

Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los postspapers y charlas que se han  escrito, citado o publicado en este blog sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, febrero 22, 2026

Cómo salir del cuadro de dialogo que te ha bloqueado Blogger porque te quedaste sin Internet

Que yo publico todos los días es algo que podéis ver en los artículos del blog diariamente. Eso me obliga a tener que conectarme desde cualquier ubicación, ya sea en medio de las montañas, en países de todo el mundo, en mitad de una ciudad, un avión, o en el medio del mar mientras me mecen las olas. Y por supuesto, muchas veces tengo problemas con la conectividad mientras estoy trabajando.

Figura 1: Cómo salir del cuadro de dialogo que te ha
bloqueado porque te quedaste sin Internet

En estas situaciones, me he topado muchas veces con un problema con Blogger. Me permite trabajar off-line bastante bien, pero tiene un par de situaciones de "Deadlock" en las que me quedo bloqueado sin poder grabar el contenido. Como eso me obligaría a re-escribir el artículo completo, aprendí un workaround que es lo que os voy a contar hoy.

Figura 2: Escribiendo un post en Blogger tranquilamente

En la imagen anterior estoy escribiendo un post en mi blog, tranquilamente. Tengo conexión a Internet - o no -, pero sigo trabajando tranquilamente. De repente, quiero poner un enlace y no me doy cuenta de que estoy sin conexión a Internet, y entro en un "Dead-end".

Figura 3: He querido poner un hipervínculo y sin conexión no puedo hacer nada.

En esta situación, la opción de "Apply" no está funcionando, y la tecla de ESC - mi querida tecla roja - no está funcionando, así que no puedo tocar nada más del interfaz. En mi primer incidente de este tipo, restauré la conexión a Internet, esperando que se activara la opción de "Apply", cambiando el enlace varias veces, pero nada.

Figura 4: Una vez roto el cuadro de diálogo, ni con Internet se arregla

Así que automaticé un workaround que, como me ha pasado estos días, os lo cuento hoy. No hay más que entrar en las herramientas de Developer en Google Chrome y buscar el cuadro de diálogo en la sección de ELEMENTS, que está dentro de un DIV y que en el UX se ve resaltado en azul y con el DIV asociado.

Figura 5: Elimina el DIV del cuadro de dialogo y listo.

En Blogger no es suficiente, porque hay una capa que bloquea el acceso al resto del interfaz incluso una vez que hayas borrado este DIV. Así que con un poco de paciencia, encuentras el bloqueador y a borrarlo.

Figura 6: Borra también la capa que bloque el UX

Una vez que hayas borrado estos dos elementos, ya puedes volver a disfrutar del IU, en este caso, de Blogger, y una vez restaurada la conexión, guardar todos los cambios que hayas hecho mientras el equipo estaba off-line.

Figura 7: El UI de Blogger restaurado para que guardes tus contenidos

No sé si esto te ayudará en alguna ocasión, pero a mí me ha salvado la vida varias veces, al evitar que perdiera el trabajo que tenía hecho mientras estaba off-line, porque estos cuadros de diálogos no están preparados para el modo off-line. ¿Es un bug de UX? Pues sí, creo que deberían arreglado, pero llevo tanto años en Blogger que hasta me he acostumbrado a sus límites.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, octubre 23, 2025

Indirect Prompt Injection en Perplexity Comet para atacar tu Stripe y el riesgo de los AI-First Web Browsers con ChatGPT Atlas

Antes de ayer salía el anuncio de ChatGPT Atlas, el nuevo AI-First Web Browser de OpenAI. Basado en Agentic AI actions, siguiendo la estela de Perplexity Comet. Al mismo tiempo, se publicaba una nueva PoC de un Indirect Prompt Injection en Perplexity Comet que permitía cargarse todas las suscripciones en Stripe de una compañía, publicada por Eito Miyamura.
Y digo que es el segundo Indirect Prompt Injection en Perplexity Comet, porque ya tuvimos una PoC de cómo robar con un Indirect Prompt Injection en Perplexity Comet la mismísima cuenta de Perplexity, pero podría haber sido al de cualquier otro servicio online conectado a la cuenta de Gmail con la que tuvieras iniciada sesión en Perplexity Comet

En este caso, la PoC de Indirect Prompt Injection en Perplexity Comet para atacar tu Stripe es similar, pero en lugar de lanzarse desde el resumen de una página web, como era el caso anterior, lo hace desde un invitación de calendario que no debe ni de ser aceptada.
La gracia es que haciendo una comprobación del Invite, si le dejas a Perplexity que te ayude a preparar la reunión, y dices que sí, se lanza el ataque de Prompt Injecion oculto den los detalles de la convocatoria. 
Una vez que se diga que sí, lo que hace el ataque de Prompt Injeciton que se oculta en los detalles de la invitación al evento, es conectarse a la cuenta de Stripe asociada al navegador de Perplexity Comet, y comenzar a borrar las suscripciones de los clientes.
Este proceso se realiza una a una con todas y cada una de las suscripciones que hubiera logrado esa empresa, dejándola sin poder cobrar ese mes a sus clientes. Solo por haber usado Perplexity Comet para ayudar a preparar una reunión.
El resultado final es que la cuenta de Stripe se queda como podéis ver, totalmente pelada. La organización ha perdido todas las suscripciones, y tocará recrear todo este trabajo, que ha sido ejecutado automáticamente por el Agentic AI de tu Perplexity Comet.
Vamos, que podría haber hecho cualquier otra cosa en tu cuenta de Stripe, y si tienes concedido derechos de pago a tu Agentic AI de Perplexity Comet te podría haber robado todo el dinero. Un auténtico "Show me the (e-)money".
Al final, este tipo de ataques basados en AI-First Web Browsers va a ser muy común hasta que esta tecnología sea segura. Y va a pasar aún un tiempo. Para que os hagáis una idea, en el Bug Bounty de OpenAI para sus productos, la parte que tiene que ver con Prompt Injection / Jailbreak, así como todo lo que tiene que ver con Hallucinations, está fuera de objetivo.
Es decir, ya se sabe que estas tecnologías adolecen por diseño de seguridad, y por eso estamos teniendo tantos problemas de seguridad explotable en todas las plataformas que están haciendo uso de ellos, como vimos en:
OpenAI Atlas  AI-First Web Browser

Pero es que ChatGPT Atlas, sucede lo mismo, y si miramos el texto de la publicación de ChatGPT Atlas AI-First Web Browser tenemos un disclaimer como el que podéis ver en la imagen siguiente, que, traducido al Español para que se entienda claramente es lo que antes sería un gran problema de seguridad.
Pero hemos pasado de recomendarle a los usuarios que naveguen con usuarios No Administradores de la máquina, a poner en sus manos AI First Web Browsers que tienen acceso y control a toda tu vida digital, incluidas tus cuentas bancarias si les dejas. Mi recomendación por ahora... no lo hagas.
Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los postspapers y charlas que he escrito, citado o impartido sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, agosto 25, 2025

Cómo investigar y hacer doxing con las sombras de una fotografía en la calle publicada en Instagram usando Google Earth Pro, ShadeMap, Google Street y ChatGPT

Dentro de una investigación de una fotografía, tal vez te interese saber dónde está hecha, o a qué hora se hizo. Cualquiera de esas dos informaciones puede requerir observar hasta el último detalle de la misma, los metadatos, letreros de tiendas, edificios, bocas de riego, postes de telefónica y, por supuesto, las sombras de los mismos en la calle.

Figura 1: Cómo investigar y hacer doxing con las sombras
de una fotografía en la calle publicada en Instagram usando
Google Earth Pro, ShadeMap, Google Street y ChatGPT

Para localizar un lugar, utilizar Google Street View suele ser una forma bastante sencilla donde, a partir de una simple foto de Instagram, se puede intentar buscar toda la información. Esto es parte de las disciplinas OSINT (Open Source Intelligence) que tantas veces han ayudado a resolver un caso.
En el caso de las fotografías de Instagram, hay dos puntos de información que son relevantes. El primero de ellos es la Localización de la fotografía. Normalmente no se publica la ubicación exacta de la fotografía, pero sí es común encontrarse con pueblos, ciudades, o lugares genéricos que pueden ayudar a acotar la búsqueda.

Figura 3: Muchas fotografías de Instagram llevan localización genérica.
Yo muy pocas veces hago uso de ese metadato. Pero....

Una vez que tengas el lugar genérico, por ejemplo Móstoles, son muchas las horas que te puedes pasar con Google Street View buscando las calles, y paseando a ver si alguna de esas se parece a la que se ve en la fotografía publicada en Instagram. Yo uso la versión de Google Street View que viene con Google Earth Pro que me resulta más cómoda y puedo llevarla a veces en entornos con conexión intermitente como el tren.

Figura 4: Google Street View en Google Earth Pro

Sin embargo, una cosa que puedes hacer para acotar la búsqueda, especialmente si no conoces el lugar es preguntarle a ChatGPT o Perplexity Pro que seguro que te ayudan. Por ejemplo, si en la calle se ven árboles, un bulevar o un centro de salud, puedes preguntarle y que te dé calles donde pasear.

Figura 5: Buscando un bulevar en Móstoles... o en cualquier otra ciudad.

Además, si hay detalles más finos, le puedes dar la información completa a ChatGPT o Perplexity que te va a ayudar a acotar la búsqueda para que des menos paseos, como ves en esta parte de la respuesta que nos da para este Prompt.

Figura 6: Acotando la búsqueda de la calle

Y una vez acotada, pues nos vamos a nuestro querido Google Street View, para comprobar si esta podría ser la respuesta a la información de la ubicación que estamos buscando. En este caso, nuestra mítica Avenida de Portugal, segmentada de la Nacional V hace muchos años.

Figura 7: Avenida de Portugal en Google Street View
con su bulevar, cera y árboles

Pero puede que nos encontremos con dudas, especialmente si queremos localizar una zona muy concreta de esa calle o una hora muy determinada, que son dos cosas totalmente diferentes. Para ello, en Instagram podemos extraer en primer lugar la hora de publicación. ¿Es la hora en la que se tomó la fotografía? Puede que sí o puede que no, pero si es que sí, va a ayudar mucho a acotar la ubicación.

Sacar la hora exacta de la publicación de una foto en Instagram

Este es un proceso muy sencillo. Basta con seleccionar la fecha de publicación de la fotografía, donde día el día del año, o cuánto hace que se publicó, y luego dar con el botón derecho para seleccionar la opción de Inspeccionar en Google Chrome.

Figura 8: Inspeccionar en Google Chrome la fecha
de publicación de una fotografía en Instagram

Esto nos llevará al código HTML, donde tenemos la etiqueta Time y el parámetro datetime. Allí verás la fecha y la hora exacta en formato ISO 8601 (por ejemplo, 2025-08-22T15:34:20.000Z), que normalmente está en UTC. Y si das con el botón derecho a la opción de Edit HTML podrás copiarlo

Figura 9: Hora exacta de publicación de una foto de Instagram

Una vez copiada, solo debes ver qué hora era exactamente. Puedes buscar la conversión correcta del formato, o decirle a Perplexity o ChatGPT que hagan el trabajo de convertirlo por ti. ¿Quién necesita un conversor cuando puede hacer Prompts?

Figura 10: Foto publicada a las 17:00 de la tarde en Instagram

Ya tenemos la hora en Instagram, ahora podes ir e investigar las sombras. Para eso necesitamos un mapa con la luz solar a cada día y hora, y para ello Google Earth Pro es perfecto. Primero debemos ir al menú de View y seleccionar la opción de Sun.

Figura 11: Activando la luz solar en los mapas 3D de Google Earth Pro

Una vez activado el "Sun" podemos ver la evolución de la luz solar en cada ubicación en todo el mundo, dependiendo del día y la hora que configures. En este vídeo se ve cómo puedes ir desplazándote por los horarios y ver cómo cambia la luz.

Figura 12: Luz solar por horas en Google Earth Pro

Una vez hecho esta configuración, puedes ir a la visión 3D del mapa, seleccionando un día y una hora exacta para poder ver las sombras en la forma correcta, lo que te va a ayudar a poder detectar si el sitio es el correcto o no. 

Figura 13: Configuración de Luz Solar a una determinada hora en Google Earth Pro

Es decir, primero lo compruebas en Google Street View y luego lo confirmas con las sombras incluidas en Google Earth Pro... o viceversa. Como podéis ver, se ven las sombras proyectadas de forma correcta a esa hora concreta.

Figura 14: 3D con Sombras en Google Earth Pro

En la visión 3D de Google Earth Pro ves la orientación de las sombras, pero el realismo no es igual que el de Google Street View. Allí son fotografías que puedes revisar, pero están tomadas a distintas horas y procesadas. Con la mezcla de las dos puedes investigar mejor la ubicación de una fotografía.
También lo puedes hacer con ShadeMap, como podéis ver aquí, que es otra buena alternativa. Esto te puede ayudar a saber a qué hora fue tomada una fotografía, si conoces el lugar, de forma muy ajustada, solo con ver la orientación y longitud de las sombras de los elementos que salen en ella.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


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)  


Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares