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

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)  


martes, julio 30, 2024

Tu Latch "Navegación Segura". Codename: "Second Factor Web Browsing (2FWB)"

Hace unos años, con el equipo de Ideas Locas, creamos una solución para controlar la navegación de un ordenador personal mediante un canal paralelo. Tan sencillo como que una persona teclee una URL para navegar en su Google Chrome y antes de que esta se cargue, se intercepta por un plugin la dirección, se envía por BlueTooth a un terminal móvil pareado al navegador, y este verifica por la conexión móvil "Si ese sitio es seguro", o si el responsable del "Control Parental" lo autoriza.
De todo esto os hablé en el artículo de "Second Factor Web Browsing" donde implementamos la patente que habíamos solicitado en Febrero de 2019, donde describimos todo el proceso para poder luego contarlo públicamente en la RootedCON de 2020 bajo el título de "A hacker's gotta do what a daddy's gotta do". Ya sabéis que nos gusta traer siempre algo en lo que estamos trabajando a la RootedCON.


Figura 2: Presentación de 2FWB en RootedCON 2020

Después llegó la pandemia, nos reestructuramos en la compañía, y pusimos este proyecto de innovación en el "Backlog", pero sin llegar a dejarlo aparcado. Y seguimos dándole la vuelta, hasta que al final lo hemos lanzado ya en Tu Latch "Navegación Segura", de momento solo para la versión Android de Tu Latch, y para navegadores Google Chrome.

Tu Latch Navegación Segura es un servicio al que hay que suscribirse de manera anual, y permite estar conectado a una red WiFi pública de un aeropuerto, de un café, de un hotel, o cualquier red, y tener al servicio Navegación Segura protegiendo tu navegación en todo momento.

Configuración de Tu Latch Navegación Segura

Para poder utilizar Navegación Segura hay que contratar el servicio desde la propia app de Tu Latch, siguiendo el proceso que se detalla en las capturas.

Para proteger la navegación de tu equipo, es necesario que el terminal móvil y el navegador estén conectados por BlueTooth, por eso hay que descargarse el Plugin de Navegación Segura de Tu Latch para Google Chrome, tal y como explica el proceso, y después parearemos los dos equipos: El smartphone, conectado a la red móvil, y el equipo a proteger, conectado a la WiFi o al red que le da servicio a Internet.
Este plugin está en la Chrome Web Store, y basta con descargarlo para poder conectarlo directamente a Tu Latch Navegación Segura y comenzar a estar protegiendo toda la navegación de este equipo. 
Una vez instalado el plugin en Google Chrome, se puede hacer la activación del servicio desde el propio navegador, tal y como podéis ver en estas imágenes.

El plugin se instalará en el navegador, y a partir de ese momento ya sólo se necesitará realizar el pareado del navegador por Bluetooth con la app de Tu Latch cuando se vaya a navegar desde cualquier red en la que se desee tener Navegación Segura.
El Plugin de Navegación Segura de Tu Latch para Google Chrome hay que instalarlo la primera vez en el equipo, para que esté disponible en todas las sesiones del navegador Google Chrome. Una vez hecho, ya sólo se hará la activación del servicio.

Ahora ya podemos parearlo con Tu Latch y tendremos el canal de seguridad por BlueTooth, conectado a Tu Latch en el smartphone, y éste conectado al servicio de Navegación Segura para proteger la navegación de Google Chrome en el ordenador.

Figura 10: Vinculación por BlueTooth desde el

Para realizar el pareado, hay que hacer Tu Latch Navegación Segura visible en la app. Pasaremos de "No Visible" a "Visible" y cuando esté pareado, aparecerá como "Vinculado".
Y de igual forma, el Plugin de Navegación Segura de Tu Latch para Google Chrome aparecerá como "Vinculado", indicándonos que estamos ya siendo protegidos por el servicio de Navegación Segura.
Este proceso se puede hacer desde cualquier navegador que se paree al terminal de Tu Latch con el servicio de Navegación Segura contratado, así que lo único que deberías realizar es el mismo proceso que te he descrito.
Lo recomendable, como explicamos tanto en el plugin como en la app de Tu Latch, es que el terminal móvil y el equipo con el navegador a proteger, estén en diferentes redes, para mantener limpios los dos canales de verificación y que un enemigo en el medio no pueda bloquear la consulta al servicio de seguridad.

Figura 14: Dominio Bloqueado con Tu Latch Navegación Segura

A partir de ese momento, cuando un dominio se detecte como peligroso, el plugin de Tu Latch en Google Chrome bloqueará el sitio por Phishing, Fake Broker, Ciberestafa, Distribución de Malware, etcétera, y podremos ver que este sitio ha sido bloqueado por Tu Latch.

Figura 15: Dominio Bloqueado con Tu Latch Navegación Segura

Por el contrario, si el dominio no se ha detectado como malicioso, sabremos que ha sido verificado por el servicio de Tu Latch Navegación Segura, tal y como podemos ver en la imagen siguiente.

Figura 16: Dominio verificado y NO detectado
como Peligroso por Tu Latch Navegación Segura

Con el servicio de Tu Latch Navegación Segura puedes tener una capa extra de seguridad para navegar por redes en cafeterías, hoteles, aeropuertos, etcétera, de manera muy sencilla, y comprobando en todo momento que los dominios a los que te estás conectando son los correctos y no han sido manipulados. Ya os iré contando muchas más características sobre las novedades de Tu Latch. Y en breve estará en iPhone también. 

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, mayo 28, 2024

El "Modo Porno" de Google Chrome y las descargas chivatas crean el "Modo Fail"

Hace mucho tiempo, cuando se creo el "Modo Incógnito" de los navegadores, que algunos llamaron también "Modo Privado", otros lo denominaron como el "Modo Porno" porque solo servía para que el navegador no almacenara las URLs de Navegación, algo que incluso no siempre ha sido así. ¿Pero esto es realmente así hoy en día en todos los aspectos o se puede sacar info una vez cierres el navegador?

Figura 1: El "Modo Porno" de Google Chrome y
las descargas chivatas crean el "Modo Fail"

Yo suelo tener dos sesiones de navegación en paralelo en el mismo servidor de identidad, por lo que para que no me esté pidiendo cambiar de cuenta constantemente, tengo una navegación normal, y otra en "Modo Incógnito". Esto me permite tener en un servicio abiertas dos sesiones con dos usuarios distintos desde dos navegadores. Es útil. 

Sin embargo, hay dos cosas que cada vez que abro el "Modo Incógnito" de mi navegador perduran, y es conocido, pero tal vez tú seas de esos que no se ha fijado, que cuando lo vi yo, dije... "¡Gaitas!, ¡vaya modo porno más Fail!", así que os lo cuento.

Figura 3: En Modo Incógnito no se debería conocer tu historial de navegación

Al final, una de las promesas del Modo Incógnito es que no se sepa nada de tu "Historial de Navegación" como podéis ver en la imagen anterior, pero como vamos a ver, las Descargas son unas chivatas.

Las URLs de las Descargas

La primera de ellas son las URLs de las Descargas, que es bastante curioso. La idea es que te descargas algo en Modo Incógnito, cierras el navegador, y el historial de descargas sigue siendo un "chivato" de dónde has estado navegado, como podéis ver en esta imagen.

Figura 4: Descargas en Google Chrome

En la imagen anterior se puede ver que me he descargado tres documentos de MyPublicInbox en formato JPEG, que están además en el equipo aún. Pero también, como podéis ver, se ve que he hecho una Transferencia de algo a alguien hoy, y que además el documento no ha sido borrado del ordenador (está el link disponible) en formato .PDF

Figura 5: Se puede ver dónde está el documento en el equipo.

Que aparezcan todas esas URLs tiene sentido porque, si no estás acostumbrados a verlas, estas descargas están hechas sin el Modo Incógnito (recordad que os dije que yo uso dos sesiones), pero si ves la siguiente, verás que se hizo en Modo Incógnito, que tiene el logo, y el funcionamiento es exactamente el mismo.

Figura 6: Descarga en Modo Incógnito en Google Chrome

Así que para cualquiera que acceda a esta sesión, le vas con darle al menú e ir a buscar el fichero dentro del equipo, tal y como podéis ver en la imagen anterior. Y ver qué es lo que has hecho. Recordad que el "Modo Incógnito" es para que, en un equipo en el que hay usuarios compartidos, uno no tenga acceso a la información de navegación del otro, pero con las Descargas se puede saber, incluso si has borrado el fichero del ordenador.

Figura 7: Los ficheros borrados que usé para hacer mi artículo
de Captcha Story X y las URLs de navegación.

Así que, la única manera de que esta información no esté disponible para otro usuario del mismo sistema operativo es eliminar las Descargas, si no, cualquiera que mire el Historial de Descargas podrás descubrir URLs de navegación que hayas visitado. E incluso hay muchas descargas que tú no te das cuenta, porque son DATA o BLOBs que se descargan con solo hacer un clic.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, marzo 27, 2024

Serverless & Bullet-Proof Web Sites (2 de 2): Web2Blocks & WebScalerAI

En la primera de este artículo: "Serverless & Bullet-Proof Web Sites (1 de 2)" terminamos hablando de cómo utilizar Web3 para hacer paneles de control para botnets o redes sociales utilizando arquitecturas Dapps, pero lo dejé ahí porque quería esperar a la RootedCON 2024 de este año para hablar de los proyectos que hicimos nosotros de continuación de estas ideas.

Figura 1:Serverless & Bullet-Proof Web Sites (2 de 2): Web2Blocks & WebScalerAI

El primero de ellos es Web2Blocks para guardar páginas web en cadenas BlockChain, y el segundo de ellos es WebScalerAI, que busca reducir el tamaño de las páginas web que hay que almacenar en una cade de bloques utilizando GenAI para amplificar texto e imágenes de páginas web. Os los enseño un poco.

Web2Blocks: Un Web back-end en BlockChain

El objetivo de este proyecto es bastante sencillo, se trata de almacenar una página web, por ejemplo un blog como éste, en una estructura de bloques de una cadena de BlockChain, que evite que se pueda censurar siempre y cuando se conozca la estructura de bloques que almacenan la web

Figura 2: La extensión permite anclar una web en una cadena BlockChain

Para ello hicimos una extensión que hace las dos funciones, la de guardar en bloques de la cadena de BlockChain el contenido de la web, y la de buscar una web buscando los bloques que conforman esa web para poder cargarla en el navegador.

Figura 3: Índice de bloques de la web "blog"

Así, se busca el contenido en todos y cada uno de los bloques marcados en el "índice de bloques" de una determinada web - que para nuestra PoC - almacenamos con un nombre simple, y se recompone la página en el cliente. 

Figura 4: La extensión permite buscar web por su nombre

Las posibilidades de esta arquitectura son muchas, para evitar que se borren contenidos, que se censure una web, o para evitar que pueda ser eliminada,

Figura 5: La extensión descarga la web de la cadena de Blockchain y la pinta

Por supuesto, en esta arquitectura se puede aún añadir una capa mayor de protección, permitiendo que la página web esté cifrada y cargada desde un SmartContract, y que este SmartContract solo descifre el contenido de esa web si el usuario ha decido abrir la web con un Latch Web3.

Al final, se trata de jugar con una arquitectura web que utiliza otras estructuras de almacenamiento para, usando las tecnologías Web3 darle más control al creador del contenido de esa web.

Figura 7: Misma web cargada desde HTTP Server y BlockChain

Pero claro, almacenar una página web con muchos elementos, puede tener un tamaño que hagan muy caro utilizar estructuras BlockChain, así que se nos ocurrió que podríamos usar GenAI para reducir el tamaño de la web.

Figura 8: Demo de Web2Blocks en vídeo

Y ahí nació la idea de WebScalerAI, que ahora paso a contaros con esta pequeña PoC que tenemos a continuación.

WebScalerAI: Comprimir y Descomprimir Webs con GenAI & DeepLearning

La idea es bastante sencilla. Se trata de reducir el texto de una web, haciendo una reducción del texto y de las imágenes que se almacenan en el backend, por ejemplo en una cadena de BlockChain como en el caso anterior de Web2Blocks.


Figura 10: Una web con imágenes a mínima calidad y texto en "Prompting"
ocupa 400 Kb

Para ello, los textos se podrían reducir por un "Prompt" para un LLM/SLM que corriera en un entorno Cloud, o como creemos nosotros que será en el futuro, que es en cada aplicación. Esto significarían que tendríamos un navegador web con un SLM como parte de sus funcionalidades.

Figura 11: Expandida esta web pesa 1.5 MB entre texto e imágenes

Así, sólo habría que enviar el Prompt y una extensión del navegador, como la que tenemos en nuestra PoC hace el "inflado" del texto para que se pueda leer.

Figura 12: Super-reducida ocupa 100Kb

Con las imágenes, la misma idea. O bien contar con una generación mediante Prompting de un algoritmos de difusión que corriera en el navegador, o bien mediante el envío de una imagen de un tamaño muy pequeño y su ampliación mediante IA.

Figura 13: Página expandida con WebScalerAI

Para nuestras pruebas hicimos todo tipo de combinaciones, y probamos incluso Transformers en el navegador con la librería transformers.js que tenéis en GitHub - que es un SLM tipo distilbert - y para ampliación de imágenes en el navegador usando DeepLearning (CNN) usamos la librería waifu2x-js que tenéis en GitHub.
Al final, el resultado es el que véis en el vídeo. Una web con un texto y una serie de imágenes se puede comprimir o descomprimir usando GenAI & DeepLearning para lograr - cuando el objetivo sea el mínimo tamaño -, reducir al máximo el peso de una web.


Figura 15: WebScalerAI - Comprimir y Descomprimir Webs
con GenAI & DeepLearning

Al final son sólo pruebas y propuestas de nuestro equipo de "Ideas Locas" para seguir creando pasitos que nos lleven a entender mejor este mundo, y tomar mejores decisiones en todo lo que construimos.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


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