Ce writeup présentera ma méthode de résolution pour le troisième challenge d’OSINT du Midnight CTF. J’espère qu’il vous plaira ! Ce challenge est celui qui m’a posé le plus de problèmes, j’ai suivi des pistes pas assez précises ce qui a fini par m’égarer.
L’objectif du challenge est de localiser précisément une photo d’un bâtiment. D’après l’énoncé, Lin Xiayu a été kidnappée à cet endroit.
Pour commencer, je télécharge l’image. Le nom
Capture_decran_2026-03-12_194349.png m’indique qu’il n’y aura pas de métadonnées. Je
procède donc à une recherche par image inversée avec Google Images :
Pas de résultats concluants avec Google Images. Je passe donc à Tineye :
Même résultat négatif. Cela ne me surprend pas énormément, car cette image provient d’un bâtiment en
Chine. Les outils non-chinois sont donc parfois moins puissants dans notre cas. Je me dirige donc
vers le Google chinois, Baidu. Plus précisément graph.baidu.com.
On obtient une soixantaine de résultats :
Cependant, aucun d’entre eux n’est le lieu qu’on recherche.
J’ai ensuite essayé d’analyser l’image pour obtenir des indices sur la localisation.
Tout d’abord, le titre du challenge « Chine Zhao » semble être un indice important. Zhao était l’un des sept États qui composaient la Chine antique en 400 avant J.-C. Et Handan en était sa capitale.
On retrouve la ville de Handan sur la carte. Handan était la ville du premier challenge.
J'analyse alors les détails de l'image initiale. On aperçoit une statue devant le bâtiment :
Voici les détails importants relevés lors de l'observation de la photo :
Après une traduction et quelques minutes de montage photo, j’obtiens ce résumé :
J’ai ensuite essayé de recherche HuiHui Déstockage et les autres mots clé dans Baidu Maps, mais la recherche n’était pas assez précise et je n’obtenais que des faux positifs.
J’ai donc essayé autre chose : 邯郸市 家和萬事興
Je recherche dans la ville d’Handan le proverbe suivant : « Quand la famille est unie, tout prospère. »
J’obtiens 10 résultats, mais après analyse de chacun d’entre eux, je n’ai pas réussi à localiser la photo. J’ai passé plus de 5h à comparer des photos, des vues de type streetview sur baidu maps, sans succès.
Le lendemain, avec du recul, j’ai recommencé la géolocalisation d’un autre angle. Dans les challenges précédents, j’avais obtenu le trajet du tueur sur Strava. Cependant, je ne m’étais seulement intéressé au point d’arriver. Le point de départ renferme peut-être lui aussi des indices.
Je localise donc le point de départ dans Google maps :
Coordonnées : 36.675199, 114.561075
En me rendant au lieu de départ précis, Google maps m’a proposé des photos par le biais de l’option découverte.
La prévisualisation StreetView ressemble fortement à notre photo ! Et en effet :
C’est bien la même photo.
Maintenant, il ne reste plus qu’une chose, trouver le flag. Le format précisé dans la consigne est
particulier : MCTF{XXXX+XXX}. Le flag n’est donc ni des coordonnées, ni le nom du lieu.
Après quelques recherches, je découvre qu’il s’agit de la syntaxe utilisée dans les
Plus Codes de Google maps.
Pour obtenir ce plus code, il faut donc que je me positionne exactement à l’endroit où la photo a été prise.
Un décalage de quelques mètres peut changer le Plus Code, car pour l’obtenir, il faut rechercher les coordonnées précises dans la barre de recherche. Après quelques essais, j’arrive à obtenir l’exacte localisation :