Este blog es solo para fines educativos y de análisis técnico en CTFs. No promueve actividades maliciosas ni el uso indebido de herramientas descritas.
Entrada

GeoGuessitUdine - SnakeCTF2025 Final

Reto basado en geolocalizar un pueblo con una subestación eléctrica especial en Udine

GeoGuessitUdine - SnakeCTF2025 Final

Autor del reto: Michele Lizzit

Dificultad: Fácil

Enunciado

1
2
3
4
Geoguess it. It's easy. It's in the Udine province.

We have found a place full of snakes. We sent our photographer to take a picture
but he got lost. He sent us two pictures, can you locate where the first one was taken?

Archivos

1
pic1.png

pic1.png

1
pic2.png

pic2.png

Archivos utilizados aquí.

Analizando el reto

La zona mostrada se corresponde con un pueblo rural que posee una subestación eléctrica compacta vertical característica de la zona de Udine. Además, se observa una fuente especial dentro de una especie de plaza en la zona.

Solver equipo

En este caso, el reto se resolvió buscando ocurrencias de la fuente en Google Images. Al hacerlo, se mostraban imágenes del pueblo en cuestión. Una vez se encontró el pueblo, se buscó el lugar exacto de las imágenes para establecer la localización.

mapa

final

Solver desarrolladores

En este caso, haciendo uso de la herramienta online Overpass para el filtrado masivo de lugares en específico, se puede resolver el reto filtrando por fuentes especiales y por estaciones eléctricas en la región de Udine.

El script es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[out:json][timeout:25];

area
  ["boundary"="administrative"]
  ["admin_level"="6"]
  ["name:fur"="Udin"]
  ->.udine;

(
  node["power"~"substation|transformer"](area.udine);
  way ["power"~"substation|transformer"](area.udine);
)->.p;

(
  node    ["historic"="monument"](area.udine);
  way     ["historic"="monument"](area.udine);
  relation["historic"="monument"](area.udine);
)->.m;

(
  node    ["amenity"="drinking_water"](area.udine);
  way     ["amenity"="drinking_water"](area.udine);
  relation["amenity"="drinking_water"](area.udine);
)->.drink;

(
  node    ["leisure"="playground"](area.udine);
  way     ["leisure"="playground"](area.udine);
  relation["leisure"="playground"](area.udine);
)->.playgrounds;

nwr.playgrounds(around.drink:50)->.s1;
nwr.s1(      around.m:50    )->.s2;
nwr.s2(      around.p:50    )->.result;

(
  .result;
);
out body;
>;
out skel qt;

final_overpass

P.D

En la página oficial de SnakeCTF, podrás encontrar todas las resoluciones oficiales.

Flag

snakeCTF{Dr1nk1ng_W4t3r!!!cb1b03bf92b0b94b}

Esta entrada está licenciada bajo CC BY 4.0 por el autor.