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

martes, septiembre 09, 2025

Xibo y la exposición "verbose" de la API de gestión

Xibo es una de las plataformas de Digital Signage más conocidas y utilizadas en entornos donde la gestión centralizada de contenidos resulta crítica. Desde un único panel de control, es posible definir qué se proyecta en pantallas distribuidas por aeropuertos, centros comerciales o estaciones de transporte. El sistema ofrece una solución flexible, con versiones comerciales y también en modalidad Open Source, lo que ha favorecido su adopción en múltiples organizaciones a nivel internacional.

Figura 1: Xibo y la exposición "verbose" de la API de gestión

Desde la perspectiva de la seguridad, hay un aspecto especialmente relevante: la exposición pública de la documentación de la API del sistema, habitualmente accesible en el archivo swagger.json. Este recurso, diseñado para facilitar la integración y el trabajo de desarrolladores, describe de manera exhaustiva todos los endpoints disponibles, los parámetros que aceptan y las operaciones que permiten ejecutar.

Figura 2: Fichero swagger.json con la exposición de la API.

Lo que en un entorno de desarrollo representa una ventaja, en producción se convierte en un riesgo. Publicar la especificación de la API equivale a entregar un mapa completo de la superficie de ataque, reduciendo el esfuerzo de reconocimiento de cualquier adversario. No se trata de una simple fuga de información, sino de un manual detallado sobre cómo interactuar con el sistema, incluyendo operaciones críticas como importación y exportación de datos o conectores remotos.

Fase de descubrimiento

El primer paso para evaluar la magnitud del problema consiste en identificar instancias de Xibo expuestas en Internet haciendo un poco de Hacking con Buscadores. Para ello, basta con aprovechar que la página de inicio del CMS utiliza un título característico: “Xibo Digital Signage

de Enrique Rando, publicado en 0xWord.

Mediante búsquedas específicas en Google (Google Dorks) es posible localizar rápidamente servidores que ejecutan Xibo. Por ejemplo: 

site:org intitle:"Xibo Digital Signage - Please Login"

Figura 4: Resultados de búsquedas con las URL de
sistemas Xibo accesibles desde Internet.

Estos operadores revelan instalaciones accesibles desde Internet que, en muchos casos, conservan configuraciones por defecto. A partir de aquí, un atacante podría comprobar si estas instancias publican también su documentación de API (/swagger.json, /swagger-ui/, /openapi.json). Esta fase de descubrimiento demuestra que no se trata de un caso aislado, sino de una práctica extendida que multiplica la superficie de exposición de un sistema en producción.

Descubrimiento de la documentación de la API

Una vez localizadas instancias de Xibo accesibles desde Internet, el siguiente paso en la auditoría consiste en comprobar si exponen públicamente la especificación de su API. Esta tarea resulta sencilla porque muchas instalaciones mantienen la documentación en rutas predecibles. Basta con probar accesos directos a:

https://[dominio]/swagger.json

o bien visitar:

https://[dominio]/swagger-ui/
https://[dominio]/openapi.json

para descubrir si el servidor devuelve la definición completa de la API en formato JSON o incluso una interfaz interactiva de Swagger. Desde el punto de vista de un auditor, o de un atacante, este paso representa un salto importante: se pasa de conocer únicamente que existe un CMS Xibo en la red, a disponer de un inventario detallado de todos los endpoints disponibles, sus métodos, parámetros y tipos de datos. En otras palabras, el sistema ofrece voluntariamente un mapa completo de su superficie de ataque.

Riesgos y escenarios de explotación

La exposición del fichero swagger.json en un entorno de producción abre la puerta a escenarios de explotación que, de otra manera, requerirían un esfuerzo mayor de reconocimiento. A continuación se presentan algunos de los riesgos más relevantes detectados en la especificación de Xibo:
  • Exfiltración de información
Algunos endpoints permiten descargar conjuntos de datos completos en formato CSV como el siguiente ejemplo encontrado.
    • GET /api/dataset/export/csv/{dataSetId}

En un escenario sin autenticación estricta o con permisos mal configurados, un atacante podría utilizar esta función para extraer información sensible de manera directa y silenciosa.
  • Manipulación mediante cargas de ficheros
La API incorpora rutas de importación que aceptan ficheros de carga en formato CSV, como el siguiente localizado:
    • POST /api/dataset/import/{dataSetId}
Si las validaciones son insuficientes, existe la posibilidad de introducir contenido malicioso, abusar del tamaño de los ficheros para provocar denegaciones de servicio o manipular la lógica de importación de datos para corromper el sistema.
  • Server-Side Request Forgery (SSRF)
Algunos endpoints permiten enviar parámetros como uri, method, customHeaders o postData. En un backend sin controles, estos campos pueden usarse para forzar al servidor a realizar peticiones hacia recursos internos o servicios protegidos, generando un escenario de SSRF con implicaciones graves, como el acceso a metadatos de nube o la enumeración de sistemas internos.

También es posible usarlo para actividades de Reconocimiento Avanzado, ya que incluso rutas aparentemente inocuas como /api/clock proporcionan valor para un atacante, ya que permiten confirmar disponibilidad, medir latencia y establecer un punto de control para sincronizar ataques automatizados.

Reflexión final

El caso de la exposición del fichero swagger.json en Xibo constituye un ejemplo representativo de un problema recurrente en el ámbito de la seguridad: la confusión entre facilitar la integración y garantizar la protección en entornos de producción. La documentación automática de la API resulta una herramienta de gran utilidad durante el desarrollo, pero en un despliegue abierto al público se convierte en un vector de riesgo que simplifica de forma notable las tareas de reconocimiento y ataque.

La cuestión no radica en la validez de la tecnología empleada, sino en las decisiones de configuración y despliegue adoptadas. La frontera entre la usabilidad y la exposición es sumamente estrecha, y basta una omisión, como la publicación inadvertida de un fichero de especificación, para que dicha frontera se diluya. En este sentido, el caso de Xibo debe entenderse como una llamada de atención: la seguridad no debe ser un aspecto accesorio, sino un criterio rector en cada fase del ciclo de vida de un sistema.

Saludos,

Autor: Amador Aparicio,  escritor de los libros “Raspberry Pi para Hackers & Makers: PoCs & Hacks Just for Fun!” y "Hacking Web Technologies 2ª Edición"  y Miembro del Grupo de Investigación en Ingeniería de la Privacidad del Departamento de Informática de la Universidad de Valladolid.


jueves, septiembre 04, 2025

Photaka Link: De “¿Me pasas la foto por WhatsApp?” a “Ya la tengo en el móvil”

Cuando usas una cámara de fotos profesional o casi-profesional, hay escenas que todos hemos vivido: estás en una sesión, miras la pantallita de la cámara, haces zoom con el joystick para comprobar el foco, y luego te piden “¿me la puedes pasar?”. Toca abrir la Wi-Fi de la cámara, emparejar, cruzar los dedos y rezar para que el RAW no tarde mil años. Spoiler: tarda. Y si encima hay interferencias, olvídate. Con Photaka Link el guion es otro: conectas un cable USB de la cámara al smartphone o tablet, y en segundos tienes el flujo de trabajo que siempre quisiste en movilidad: vista previa en vivo, selección de fotos y descarga inmediata al teléfono. 

La idea es sencilla y, como casi todo lo que funciona, está bien ejecutada: el móvil se convierte en tether, monitor de revisión y backup portátil, todo con un solo cable. Y ya la tienes disponible en Android y iOS, la app ya anuncia compatibilidad con cámaras Canon, Nikon y Sony y la conexión directa por USB (nada de inventos raros). 

¿Qué hace exactamente Photaka Link hoy? (y por qué a los hackers de la foto nos gusta)

  • Habla MTP con tu cámara profesionalMTP (Media Transfer Protocol) es la evolución del clásico PTP de las cámaras: pensado para mover fotos y medios por USB de forma controlada y sin montar el almacenamiento como un disco “a pelo”. Es estándar desde 2008 y en Android es lo normal desde hace años. Traducción: robusto, interoperable y sin dramas. 
  • Modo sesión (tether): mientras disparas, vas recibiendo JPEG o RAW para revisar al vuelo en el móvil/tablet.
  • Modo importar: además de fotos, ya añade vídeo cuando importas material almacenado en las tarjetas SD de la cámara.
  • Simplicidad: enchufar, confirmar conexión, ver, seleccionar, disparar, en modo sesión o importar. Sin menús arcanos ni emparejamientos caprichosos. 
Nota de campo: en la web oficial tienes un resumen muy claro de la filosofía: “tu móvil o tablet como tether, monitor de preview y backup, con un solo cable”. Es justo el tipo de UX que agradeces cuando hay prisa.

¿Por qué cable y no Wi-Fi de la cámara?

Porque los bits pesan, sobre todo cuando son RAW de 45 MP o clips de vídeo de 500 MB. Y porque la física manda.
  • USB-C moderno (USB 3.x): 5 Gb/s (USB 3.0/3.1/3.2 Gen1) y hasta 10 Gb/s en equipos que lo soportan. Por ejemplo, iPhone 15 Pro/15 Pro Max (y generaciones Pro posteriores) anuncian USB 3 hasta 10 Gb/s —eso sí, usa cable compatible USB 3; muchos cables “de carga” van a USB 2 y te dejan en 480 Mb/s.
¿Y que nos da la Wi-Fi de la cámara? Muchas cámaras sólo montan 2.4 GHz con 802.11n (lo típico: hasta 150 Mb/s de enlace en 20 MHz) y rendimientos reales muy por debajo (decenas de Mb/s). Algunas, con módulos dedicados, saltan a 5 GHz / 802.11ac, pero aún así la experiencia real baila según radio, interferencias y stack de software. Es decir: más latencia y menos previsibilidad que un USB decente.

La conclusión práctica: un buen cable (y un puerto que dé de sí) suele ganar en consistencia y velocidad para grandes JPEG, RAW y vídeo. Y esa es la apuesta de Photaka Link: menos fricción, más flujo. 

Consejos de “cacharreo” para exprimir Photaka Link

  • OTG activo en Android: en la práctica, casi todos los Android modernos con USB-C actúan como host, pero si usas adaptadores raros, verifica que soportan datos (no solo carga).
  • Alimentación: algunas cámaras consumen más si están alimentando el móvil por el bus. Si notas caídas, usa un hub con alimentación o configura la cámara para no suministrar energía por USB (si lo permite).
  • Flujo de sesión vs importación: usa sesión para revisar composición y foco al vuelo y transferir las imágenes en tiempo real al dispositivo. Deja importar para cuando no trabajes con el dispositivo conectado y quieras acceder y descargar archivos más tarde (incluido el vídeo).
  • Espacio y backup: recuerda que el móvil es tu buffer: libera espacio o sincroniza rápido a tu nube preferida. La hoja de ruta de Photaka Link apunta a almacenamiento en la nube y posprocesado integrados, pero ya llegamos a eso.
¿Dónde encaja esto en el proyecto grande de Photaka?

Photaka Link es la pieza de base o componente de un plan más ambicioso: un ecosistema donde los creadores profesionales (foto y vídeo) entregan en tiempo real contenido a sus clientes —Memories as a Service— con una marca de consumo clara y una red de fotógrafos en ubicaciones icónicas o muy concurridas. En el pitch deck, se resume con un lema que me encanta: 

“We capture your happiest moments instantly” 

y un flujo B2C/B2B con fotógrafos desplegados y listos para disparar, el resultado se procesa y se entrega inmediatamente y el cliente compra lo que desee desde la app.


En ese camino, Photaka Link seguirá creciendo: más cámaras soportadas, métodos de conexión (cable hoy; mañana… ya veremos), post-procesamiento en el dispositivo o en la nube, y sincronización en la nube. Si te dedicas a eventos, bodas, viajes o prensa, ya ves por dónde va: ampliando tus posibilidades para entrega inmediata y sin alquimia.

Un poco más técnico: MTP, PTP y por qué no es “montar un disco”

Cuando conectas la cámara por USB con Photaka Link, no estás montando un volumen como si fuera un pendrive. Estás hablando de MTP/PTP: un protocolo a nivel de objetos (ficheros, miniaturas, metadatos) que expone comandos de alto nivel (listar, obtener, borrar, disparar, etcétera) y deja a la cámara controlar el almacenamiento. Y esto nos da muchas ventajas:
  • Menos corrupción: no hay un sistema de ficheros “abierto” en dos sitios a la vez.
  • Metadatos ricos: y miniaturas rápidas para revisar y seleccionar.
  • Compatibilidad: Android lo usa por defecto; las cámaras lo implementan desde hace años como “clase USB” estándar. 
¿Cuánto “vuela” en la práctica?

La teoría te da límites físicos. El mundo real lo ponen los chips (de cámara y de móvil), el firmware y el cable. Casos reales en foros midiendo Wi-Fi de cámara hablan desde ~12 Mb/s (≈ 1,5 MB/s) en equipos modestos, hasta ~180 Mb/s en setups con 5 GHz cerca del router. Con cable USB 3.x, cuando el cuerpo y el teléfono responden, es normal estar muy por encima de esas cifras y, sobre todo, sin la variabilidad del aire.


Un buena regla hacker es que si tu móvil/cámara está limitado a USB 2, ya has ganado frente a muchos Wi-Fi de cámara reales (480 Mb/s teóricos vs 20–150 Mb/s típicos de 2.4 GHz). Si ambos son USB 3, la diferencia es aún mayor.

Lo que tiene hoy en día:
  • Simplicidad de flujo: conectar, ver, elegir, importar. Sin capas de emparejamiento Wi-Fi. 
  • Compatibilidad con las tres grandes (Canon, Nikon, Sony): desde el lanzamiento en Android y iOS. (Google Play, Apple)
  • Enfoque en sesión: poder revisar RAW/JPEG al vuelo y pasarlos al dispositivo, y dejar el vídeo para importación, tiene sentido cuando estás en exteriores.
Lo que estamos trabajando para después:
  • Más marcas/modelos soportados: Y controles remotos (apertura/velocidad/ISO) donde el firmware lo permita.
  • Metadatos con la visualización de cada foto: ISO, Velocidad de obturación, Apertura de diafragma, Compensación…
  • Posprocesado ligero en el dispositivo: Curvas, LUTs, auto-tones, y presets por sesión.
  • Postprocesado en Cloud: Potente mediante el uso de IA en la nube.
  • Sincronización cloud con entrega en tiempo real al cliente: Esto encaja con la visión del proyecto Photaka —servicio de consumo de una red de creadores– El equipo de Photaka Link está abierto para recibir sugerencias e ideas con las que evolucionar el producto para ayudar a mejorar el trabajo de los profesionales y aficionados.
Checklist rápido para empezar
  • Activa conexión USB en la cámara según el manual: Muchas lo ponen como “PC/Remote/PTP/MTP”.
  • Dispara y revisa (acepta o descarta) en modo sesión: O accede al contenido de las SDs, importa su contenido (JPEG, RAW y vídeo).
  • Accede a los archivos: En dos carpetas en la galería de tu smartphone o tablet, una para modo sesión y otra para importación.
TL;DR: Si eres de los que quieren velocidad y control en movilidad, Photaka Link te quita ruido del medio: cable USB, MTP, RAW/JPEG en sesión, más vídeo en modo importación, y tus fotos en el móvil o tablet sin dramas. Y lo interesante es que no se queda ahí: encaja como núcleo tecnológico de una plataforma para entregar recuerdos en tiempo real a los clientes de los creadores profesionales. Menos fricción, más trabajo hecho. 

¿Te mola? ¿Quieres proponerme algo? Me tienes en MyPublicInbox.

Saludos,

Autor: Kiko Monteverde, emprendedor, founder of Photaka Link

sábado, agosto 30, 2025

Cómo colorear las Tiras de Cálico Electrónico usando Nano Banana: ¡Viva la ConsistencIA!

Cálico Electrónico no es sólo el Mayor Superjirou de todos los tiempos, hermano. No es sólo una pieza maestra en la memoria friki de Internet, joder. ¡Es que además sigue repartiendo estopa en formato tira cómica! Sí sí, hermano: las nuevas tiras de Cálico se siguen publicando periódicamente. ¡¡¡Cálico Elecrónico VIVE!!! Y gracias a su capacidad de adaptación, no piensa dejar IA con cabeza.Vale. Me has pillado, chache. No soy Chindasvinta, joder. Soy María Gómez Prieto =^_^=. 

Figura 1:  Imagen: Nano Banana

Pero déjame primero que te cuente por qué este artículo. Y es que todo lo que te voy a contar ha sucedido la semana pasada. Me parece increíble, tengo la sensación de que han pasado meses... Y la verdad, podría haberme limitado a escribir un tutorial: "Cómo colorear tiras cómicas con Nano Banana", prompteando hasta dar con la receta perfecta y todos tan contentos. Pero no.

Figura 2:  Dos tiras de Las Tiras de Cálico 3.

Ya me conocéis, prefiero contaros cositas del backstage... Porque creo que las experiencias humanas nos aportan más que un tutorial que quedará obsoleto en semanas. Y además, esta vez lo que nos interesa es una única feature clave: la consistencia. Pero antes...

¿Conoces las tiras de Cálico Electrónico?

Las Tiras de Cálico Electrónico nacieron como spin-off de la mítica webserie en Flash, y con los años se han convertido en un clásico vivo de la viñeta digital. Empezó Niko (aka Nikotxan) dibujando el primer volumen, luego Blowearts tomó el relevo, y hasta hoy: siguen publicándose en redes y plataformas online. 
Yo las leo en el Deili Electrónico, el Periódico Oficial de Electrónico City. Y como dice Chema Alonso: “¿Mola o no mola? Mola todo”.


Puestos ya en antecedentes,  y recomendados los tres volúmenes de las Tiras de Cálico, vamos a ver el artículo en sí.
La chispa

El 13 de agosto salió una tira de Cálico con el Capitán Alatriste y Arturo Pérez-Reverte anunciando su próximo libro Misión en París. Al verla pensé: “Anda, hacía tiempo que no salía una tira a color”. Y hasta ahí llegó mi brillante reflexión.

Figura 5: PARDIEZ... hay una Misión en París

Pero claro, ya sabes cómo operamos En el lado del mal. Ese mismo fin de semana, el 17 de agosto, el dr. dr. Maligno me lanzó un prompt demasiado tentador: “hallemos un método AI-tomated para colorear tiras de Cálico con IA”. Así que aquí estamos, jugando a ser coloristas digitales con el superjirou más fondón de Internet.

Figura 6: Dr. dr. Maligno of the Horde, maquinando intrigas inconcebibles
desde Hallucination Island™. El pulpo lo lleva crudo. Imagen: Perchance

Poco imaginábamos en ese momento lo que iba a suceder a partir del día siguiente en la comunidad tecnológica...

Consistencia: el santo grial

La idea de Maligno me pilló vendidísima a la vida familiar, con zero tiempo para “inmersión total”. Mientras flotaba en la piscina viendo pasar las horas, no podía hacer nada más que anticipar mis dos grandes miedos:
  1. Que la IA altere los dibujos originales al colorearlos.
  2. Que adjudicar colores sea un infierno de prompts kilométricos.
Figura 7: La propuesta me pilló inmersa en anti-inmersión total.
Imagen: Perchance

La ansiedad me consumía. ¿Cómo iba a encontrar un modelo consistente que respetara el dibujo original, estando en modo paradisíaco sin tiempo ni medios? A veces parezco nueva... En realidad, no tenía de qué preocuparme: la Fuerza Maligna permea la realidad cual horda de neutrinos. Así que, un par de días después ¡ZAS! Apareció Nano Banana, el misterioso modelo que podía ser justo lo que necesitábamos.

¿Qué demonios es Nano Banana?

Entre el 14 y el 18 de Agosto (¡el lunes pasado!), en plena competición del LMArena, se coló un participante anónimo que arrasó a todos. Su nombre: Nano Banana. Nadie lo presentó oficialmente, no había funnel casposo, ni README, ni nada. Solo rumores. El más sabroso: que podría ser de Google, porque varios googlers empezaron a soltar emojis de plátanos justo después de su aparición. ¿Pista real o simple troleo? Nadie tenía ni idea... Y debo confesar que yo misma lo creía poco probable.


Hasta que el 26 de agosto se confirmó. Me dijo mi socio que “Nano Banana” es el nombre en pruebas de Gemini 2.5 Flash Image, y me pasó este link donde podéis ver sus especificaciones y estado de desarrollo... Qué bajón. A pocas horas de entregarle este artículo a nuestro dr. dr. Maligno, tengo la sensación de no haber llegado a tiempo. Ains. Escuece un poco.

Figura 9: Imagen de Nano Banana en el blog de Flux, el 18 de agosto,
cuando aún no se sabía que era de Google. Gemini 2.5 Flash Image 

Pero si volvemos la vista atrás al 18 de Agosto (¡el lunes pasado!), durante toda una semana hemos tenido un modelo fantasma, sin ficha técnica ni equipo oficial, que en pocas horas se convirtió en el hype de la comunidad. Y yo, como pícara digital, me siento afortunada de haber aprovechado la oportunidad de ponerlo a prueba para mi reto maligno, colorear a Cálico Electrónico, antes de que la banana se despojara de su piel de anonimato.

Primera prueba: Bild Lilli al rescate con Nano Banana

El 21 de Agosto, atrincherada en la habitación del hotel con el portátil y un par de mojitos de apoyo, lancé mi primera prueba. No con Cálico todavía, sino con mi querida Bild Lilli, por si acaso había letra pequeña en los términos de uso.

Figura 10: Imagen original de Bild Lilli y mi prompt para coloreado en acuarela.
¿Pintará cada cosa del color que le estoy indicando?

Le pedí un coloreado estilo “acuarela vintage”, buscando un acabado artesanal y fluido. Resultado: en menos de 20 segundos, pantalla llena y mi reacción fue inmediata: ¡WOW!

Figura 11: viñetas de Bild Lilli (1952-1961) coloreadas por Nano Banana (2025).
  • El dibujo original intacto: firmas y textos incluidos.
  • Colores aplicados con acierto en la mayoría de casos (solo un despiste entre falda/coche, pero nada grave).
  • El estilo acuarela quedó precioso, con gradientes suaves y aspecto de calidad.
Lo más importante: Nano Banana respeta el original. Y con eso, el primer gran problema —la consistencia— quedó resuelto. O eso es lo que me pensaba... Inocente de mí.

Segunda prueba: los colores de Cálico Electrónico

Con Bild Lilli fue todo fiesta: Nano Banana respetaba el dibujo, y como nunca hubo versión en color, cualquier coloreado colaba. Total, nadie podía quejarse de que un vestido fuera azul o rojo. Pero con las Tiras de Cálico Electrónico la historia es otra. Aquí los colores son sagrados: los trajes, los escenarios, hasta las piñas. Si el amarillo no es amarillo, canta. Y mucho.


Para esta prueba escogí una tira simple: la de las piñas. El primer intento con prompt de texto fue un show: imagen cortada, detalles rojos desaparecidos, esquema cromático triste (azul + naranja y gracias) y, lo mejor de todo, ¡piñas azules! Vamos, un cuadro.

Figura 13: Un prompt de texto impreciso genera una imagen pobre.
(Salió así, cortada por los lados)

Ahí me entró el bajón: la única salida parecía ser escribir un prompt kilométrico con todos los colores, y eso es justo lo que juré no hacer. Pero entonces… milagro maligno. Abro Nano Banana y ahora permite subir nueve imágenes de referencia. Aleluya. Me lo prometía muy “feliciana”: subir referencias, afinar el prompt, ¡y listo!

Figura 14: Hoy en día, la interfaz de Nano Banana permite adjuntar hasta 9 imágenes.
¡Y yo pensando que esto me salvaba la vida!

Peeeero no. Cuando voy a generar, me aparece un mensajito: “Please wait while we create your masterpiece using advanced AI models”. Y yo pensando: “¿Advanced AI models? ¡Si yo sólo quiero Nano Banana!” Bueno, pues atiende la “masterpiece”, mira mira que no tiene desperdicio:

Figura 15: Flipa con la “masterpiece”.Te juro que es real, tal cual.

Pues desde ahí, todo peor: errores, caídas, Reddit y YouTube llenos de gente preguntando qué está pasando... ¿Que qué está pasando? Lo que está pasando es que estamos todos pensando que es demasiado tarde, que no llegamos. Paranoia colectiva: “es demasiado tarde, no llego, mi jefe me mata, mi audiencia me abandona…

Probando con Gemini Flash 2.5 (Nano Banana con Ultra)

Hemos querido probar ayer mismo si con Gemini Flash 2.5 (Nano Banana pero con Ultra), podía hacerlo mejor. Así que nuestro querido Fran Ramírez se pegó un rato con la tira que tenéis aquí. 
Figura 16: La tira que vamos a intentar colorear con Nano Banana Ultra

Y los resultados, pues similares. Aquí tenéis que ha redibujado las viñetas y el fondo, para luego meterle unos colores que dan pánico solo verlo.

Figura 17: Cálico da un poco de grimilla también

Como podéis ver, el resultado ha sido muy regulero, así que Fran Ramírez quiso probar un Prompt más avanzado y consiguió que la redibujara... corrigiendo al Superjiro que le ha quitado la barriga a Cálico Electrónico XD XD.

Figura 18: Cálico se ha puesto fuerte

Pero como nuestro amigo Fran Ramírez no se rinde, tiró con un Prompt mucho más elaborado, como el que os dejo a continuación: 

"Colorize this black-and-white SUPERHERO comic strip professionally and consistently.

INPUT
•⁠  ⁠Use the provided B/W strip as the base. Do NOT alter line art, composition, poses, panel layout, or text. •⁠  ⁠Maintain original inking and line weights; preserve gutters and panel borders. GOAL & STYLE
•⁠  Apply classic American comic-book color styling: saturated, high-impact CMYK-like hues with clean cel-shading. •⁠  ⁠Vibrant “superhero” palette, punchy contrasts, crisp edges, no muddy tones.
•⁠  ⁠Keep a cohesive color script across ALL panels (characters, costumes, props, background elements). 

COLOR LOGIC & CONSISTENCY
•⁠  ⁠Characters: assign a distinct, memorable scheme and repeat it panel-to-panel (costume, cape, emblem, boots, gloves, hair, eyes, skin tone).
•⁠  ⁠Materials: – Skin: natural tones with subtle warm undertones and gentle blush zones. 
– Metal/armor: cool steel with sharp specular highlights; restrained reflections.
– Fabric/leather: slightly lower gloss; texture suggested by shading, not noise.
– Glass/energy: transparent/emit light without over-bloom.
•⁠  ⁠Backgrounds: readable depth; cooler shadows, warmer light. Keep time-of-day consistent.
•⁠  ⁠Speech balloons remain white with pure black lettering; optional ultra-light warm grey shadow inside balloons for depth.
•⁠  ⁠SFX/onomatopoeia: bold complementary colors that pop but don’t overpower characters.

LIGHTING & SHADING
•⁠  ⁠Single, consistent key light direction across panels; add subtle rim light when justified.
•⁠  ⁠Cel-shading with 2–3 tone steps (base/midtone/shadow), plus minimal ambient occlusion in folds and under chins.
•⁠  ⁠Highlights on glossy materials only; avoid global glow.
•⁠  ⁠Optional Ben-Day/halftone texture on midtones (subtle, 15–25% opacity) to preserve comic print feel.

 PALETTE (guidance)
•⁠  ⁠Primaries: crimson #C1121F, cobalt #1747B5, golden #FFC300
•⁠  ⁠Neutrals: charcoal #1A1A1A, cool grey #6B7280, warm grey #A8A29E 
•⁠  ⁠Accents: emerald #0EA5A4, violet #6D28D9 (Adjust to scene logic; keep harmony and contrast.) 

CLEANUP & OUTPUT 
•⁠  ⁠No color bleed over line art; no banding or posterization; edges stay sharp.
•⁠  ⁠Do NOT add or remove elements, motion lines, or textures not present.
•⁠  ⁠Do NOT redraw faces or anatomy; respect the artist’s intent
•⁠  ⁠Maintain full resolution and framing; no crops or warps.

NEGATIVE INSTRUCTIONS
No extra characters, no scene changes, no text edits, no lens flares, no heavy bloom, no watercolor, no photo-real gradients, no 3D render look, no blur, no noise. Result: a perfectly colorized, consistent, print-ready superhero strip with classic comic energy and professional finish."

Figura 19: Igual que la tira de la Figura 12

Así que Fran Ramírez llegó al mismo sito, que es.... hacerlo viñeta a viñeta, y el resultado pues similar al que hemos visto ya.

Figura 20: Prueba de una viñeta

No ha salido el coloreado, pero la sensación que tiene es justo la que os voy a contar a continuación : "Se puede controlar".

¿Es demasiado Tarde?

No. Al revés. Lo que pasa es lo contrario: que es demasiado pronto. Nos angustiamos tanto por estar state-of-the-art, que no nos damos cuenta de que el modelo que estamos probando, en este caso Nano Banana, sigue siendo un prototipo en fase de pruebas al que le están metiendo mano en directo. Que falle, que se caiga, que cambie de un día para otro... Es lo normal.

Figura 21: ¿Seguro que es demasiado tarde?

¿Y ahora qué? Pues todo apunta a que estamos delante de una nueva era en edición de imagen. Apuesto a que dentro de nada, bastará con darle a Nano Banana la URL de los episodios de Cálico Electrónico en YouTube, y dejarle que pinte las tiras él solito. En realidad, la duda no es “si pasará”, sino cuándo.  Lo que sí sabemos es que en breve Nano Banana estará disponible como Gemini 2.5 Flash Image dentro de las apps de Google, y eso significa más automatización y menos sufrimiento para los que jugamos a estas frikadas.

Bonus Track: Perplexity

Así que, visto lo visto... Dime: ¿tutoriales para qué? De verdad, creo que el único “tutorial” que necesitamos es confiar en nosotros mismos, en los equipos que están trabajando duro ahí afuera, y sí claro, en seguir la pista al state-of-the-art... ¡Pero sin que nos pueda la ansiedad! Os dejo aquí la prueba que hizo Chema Alonso con Peplexity Pro antes de tener Nano Banana, donde le da dos imágenes para que aprenda de una los colores y pinte la otra.

Figura 22: Parece fácil la peticiíon, ¿verdad?

No es fácil. Yo por mi parte, cuando sienta que estoy fallando o que no llego a tiempo, cuando sienta que soy un desastre del delivery... Me acordaré de este verano flotando en la piscina, remando en círculos. Y me aferraré a la idea de que, desde la distancia, la Fuerza Maligna me acompaña.

Figura 23: Pues Perplexity hizo lo que le dio la gana también.

Mientras tanto, ya sabes... ¡Léete unas tiras de Cálico Electrónico a mi salud! Y pásate por el chat público de El lado del mal en MyPublicInbox, que como dice nuestro Gerard Fuguet, “somos un grupo sano sano”. Y además nuestro chat, tiene colorines.

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)  


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