这篇文章发表于 750 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

GEOINT意为Geospatial intelligence,属于OSINT (Open source intelligence)的一部分,但不像对公司资产进行扫描可以用一些工具或是脚本解决,GEOINT除了需要熟练使用搜索引擎外,往往需要地理、文化方面的知识,并且还得有脑洞。接下来的利用照片寻找拍摄地点的题目只能算是GEOINT应用中的冰山一角。

这里的题目选自这里。其中的第4、第5题相当困难。这些题目的标题都是我自己加的,表介意。

【多图预警,可能加载每张图会消耗1s-2s,但这篇文章个人觉得真心值得一看】

a memorial of a saint

题目的大致要求:通过这张照片找到该地的具体位置,并且说出这个纪念碑是为谁而建。图片如下(没错就是这么糊,,

EXWBfO7UMAs8xmt

大致观察图片上的建筑与植被等,决定先从这个纪念碑开始找起。

这个纪念碑上有一颗红星,而且在其下有一个双头鹰的标志——这是阿尔巴尼亚的双头鹰。于是google image搜索“Albanian communist monuments”寻找相关的图片。

P53N4J

乱入了一个莫斯科的纪念碑,其风格与题目中的完全不同。

PW58J9

而这些在阿尔巴尼亚的纪念碑就都比较相似了,所以地点应该是在阿尔巴尼亚境内。

但是这么大的一块地方该怎么搜索目标呢?

回到图片本身,观察公路、背景的小山丘、台阶的投影、一旁的植被、纪念碑上的字迹……最终将下一个突破口锁定在了右边的那一块路牌上。它勾勒出的应该是附近海岸线或是某个湖沿线的大致轮廓,于是到google地图中Albanian境内寻找这个轮廓。

捕获

一番搜索之后找到了!以上是稍微放大点搜索区域并截图后的结果。

但还是很绝望,接下来该怎么办?这片区域有点大,直接暴力地挨个搜索实在是耗时耗力,而且还要找到纪念碑纪念的是谁。

这时我想到了北半球这个纬度的地方,在正午的时候太阳总是处于偏南方的位置,因此根据台阶的投影和正常人旅游时候的思维,不难猜测这条路的走向是南北向的(不过肯定会有点偏),可以先从这种路开始找起。

再结合照片中显示出来的背景,前面是农田,后面是山丘。盲猜照片的另外一边是这个普雷斯帕湖(这个是我错误的直觉,其实最后旁边还是山)。由于google地球在这里并没有街景,我只能另想办法找出这个地点(其实可以直接通过google地图来看,后面再讲)。

然而还是没什么头绪,就只能先看看阿尔巴尼亚的历史啥的了。。顺便搜索一下普雷斯帕湖的故事啥的。。

google搜索Communist monument in Albania prespasee,搜到了这样的一段话。


In Albania, toppling the statues has only served to give the illusion of freedom, to clean up the mess only on the surface. Statues were removed, schools and roads were renamed, Marxist books were burned. The elimination of cultural markers buried the responsibilities of hundreds of thousands of citizens on whose complicity a system relied to survive. It was simpler to condemn our history, to pretend we had all been oppressed. Concentrations of power, nepotism and violence persisted, and in a newly capitalist society they found fertile ground. But there was no alternative. By declaring ourselves victims of history, we made it impossible to be agents. And since humans had already settled accounts with their past, it became fashionable to say that, in the future, only a God could save us.


令人唏嘘的历史……

接着没有什么信息了,于是尝试google搜索intext:"prespasee" Communist monument in Albania,但还是没有找到想要的东西。是不是因为prespasee这个单词太细了?那么我们将之替换为Prespa试一试。

搜索intext:"Prespa" Communist monument in Albania

最终找到了这样的一个网页,里面有一张照片,刻画的就是题目中的纪念碑。

另外,我还通过google地图也找到了这个地点(先根据山丘的大概估计找到了Параклис这个位置,然后发现其图片有点意思,进入街景后发现周围就有个纪念碑)。发现题目中照片的另外一边也是田野和山丘,说明我之前的猜测是错误的。

1捕获

现在将重点转移到寻找纪念碑所纪念的人上。

大致搜索了一下周边的教堂Cathedral,但是感觉有点奇怪,一个共产主义纪念碑为什么会去纪念神呢?应该更像是去纪念一个人,而且查找了半天wiki,发现可以供奉的神其实也非常多,没有头绪,最后在答案中明白了我忽略的细节。

细节Параклис(意为教堂)就是在google街景中纪念碑旁边的一个奇怪的建筑,看起来就像农村地区的神祇。

2捕获

而这种类似的建筑其实出现在了Prespa National Park的google地图的图片集之中,如下:

4捕获

然后我就变成了文盲,这上面的文字是啥?这个画像是谁?好吧,答案告诉我是Nikola

猜圣人其实有点不靠谱,因为我没有找到特别确凿的证据。

What time?

这题的要求是需要我们确定下图的拍摄时间是在新冠疫情爆发前还是爆发后。

Selection_001

首先观察到人们的穿着打扮,天气应该比较冷。再仔细一看,还有些人戴上了口罩——是新冠疫情爆发之后拍摄的吗?

这张图片上面的地铁站有个U2U5,随手一搜,发现这是一家德国公司Vienna U-BahnVienna U-Bahn是德国维也纳Untergrundbahn的缩写。那么先确定照片拍摄的位置吧。很明显,右上角的地铁名称已经出卖了这里的地点alexanderplatz,也就是亚历山大广场。

1捕获

还得知道德国疫情封锁的时间,查询后在这个网站找到了线索。


Since 13 March, Germany ordered schools and nurseries to close and postponed academic semesters. On March 22, the German government announced a so-called lockdown and national curfew.


1、根据这天气冷这一线索推断,没必要去考虑德国什么时候解除了封锁。因为那个时候天气肯定已经较热了。对于天气,应该持更加谨慎的态度,可以去这个网站Wolfram Alpha’s historic weather database进行相应的查询。

2、继续搜寻线索,发现了广场左边的两棵树,光秃秃的。这个不能作为决定性依据,除非你找到了其他照片,关于柏林的树在不同月份的状态——这也是可行的一条办法。

3、继续仔细寻找细节。发现了照片右上角的绿色巴士,google搜索green bus germany,发现这是FlixBus,于是寻找其官方网站找出运营时间,不难发现在这里有一条:


“På grund af de rejsebegrænsninger, der er pålagt af den tyske forbundsregering, vil FlixBus suspendere sin tjeneste i hele Tyskland og alle grænseoverskridende forbindelser til og fra Tyskland indtil videre med start den 17.”


这个细节是决定性的,因此在照片拍摄的时候,新冠疫情并没有爆发。

4、看人的行为,发现似乎大家没有“保持社交距离”的意识。应该是还没爆发的时候拍摄的。

很好,我们成功地做出了这道题,但是我们能否将图片的时间继续精确下去呢?甚至能否确定它是在哪一天拍摄的呢?

5、为了完成更加精确的时间估计,需要用到太阳高度角的知识。使用这个网站,将位置调整到刚刚确定好的地方,然后就先截个图看看。

2捕获

以上测试图片中的最重要的信息就是在2020.7.27这天19:17的时候,一个1m长的物体会有3.89m长的阴影。

那么我们回到照片,利用人身高和其阴影构成的比例,来推测大致可能的时间段。就取这个人的影子和身高的比例。

3捕获

算出是4.13左右。于是对这个网站的参数进行调整,发现当2020.2月下午的时候,能够出现这样的比例,最终我觉得在2020.2.1215:18的时候,是最符合这张照片的时间。

看了一下答案,发现是2020.2.1114:07,两个答案已经非常非常接近了!

License plate number

这题给出了以下这张图片,需要我们给出图片拍摄的地点。

EZiAKpQWoAE1OcV

咋一看发现了两条比较明显的线索,一条是“Blumen”,另一条是车牌号。首先搜索Blumen,结果搜出了好多在德国的花店,不过和照片上的店完全不同,貌似是一条死胡同,网上叫这个英文名的东西太多了,那么我们将目光集中到车牌号。

首先wiki一下了解国外车牌号的取名方式,尤其是要关注一下车牌号的样式,估计照片上的是欧洲车。

但是那个WEL是什么意思呢?

使用google dork的手段搜索intext:"WEL" License plate number。发现该网站上有我想要的信息WEL - Weilburg, Hesse

虽然不能确定这辆车是不是在Weilburg,但是至少可以先从这个地方继续尝试。

捕获

这张地图的范围让人绝望。下一步怎么办?

我们回归照片,发现五个比较有价值的点:

  • 烟囱,说明周围有工厂之类的;
  • 人行横道标志,说明这里有个路口;
  • 房子侧面的花纹;
  • 那个挂着“Blumen”的店家,还有*auber,第一个并不知道是什么字母,大概看起来可能有fez,全部试了试,发现是z
  • 根据阴影的走向和北半球阳光的照射方向来推断路的走向,我猜测这张照片是在接近中午的上午时候拍的,因此这条路很可能是东西走向。

最后直接google map搜索blumen zauber,发现了这个地点。

1捕获

嗯。。之前的推理基本吻合,除了后面那个“烟囱”其实是一个城堡的塔楼……

Berlin Hotel

这题比较难,但也更有意思,而且非常的经典。网上有writeup,第一份漂亮的writeup在这个网站上,这里自己也写一份。

题目要求:图片如下,图上的飞机是747-8F,从伦敦飞往香港,拍摄者位于旅店中,那天是2019.10.30

EIJGkc1WsAAOkoI

这里先整理一下信息,看看能否发现一些新的线索。

1、飞机从伦敦飞往香港,说明拍摄地点是在北半球,这条线路大体上走的是直线;

2、看起来阳光不是很猛,天空也很干净,应该是在早晨或者是下午的时候拍摄的,两棵树几乎没有晒到阳光;

3、拍摄者没有面对太阳,暂时无法确定太阳的大概位置(东南西北);

4、对面可能是公寓或者旅店。

没什么特别的线索,那么就必须调查飞机的情况,然后很可能需要从飞机的路线上再一点点缩小范围,直至确定目标。

利用此网站调查飞机的历史情况,由于要开通会员(7天免费,记得取消订阅),所以这里干脆将相关的数据直接下载下来了。这里找数据没什么特别的技巧,不细说了。这里是相应的文件。

先在那个网页上随便看一看发生了什么,根据太阳所能照射到的区域,大致能够缩减不小的范围。

1捕获

再用google earth打开一看,就能够观看飞机的曲线。

捕获

由于轨迹的特征,不难感觉出这个飞机正向拍摄者飞来,但是东南西北的估计就稍微有点难受。而太阳高度角在照片中也没办法计算,究竟该怎么破局?

1、想到飞机飞行的时间,我们能够确定这张照片拍摄的时候应该是在早上。利用此网站进行相关的搜索,尝试了几个城市之后发现德国、波兰两个国家存在城市满足这个时间段且在飞机路径上。

2、根据太阳当时能够照射到的范围的变化,我们完全可以断定这架飞机是从西飞到东(可能有一定的偏移),所以这架飞机的轨迹可以说能够起到一个类似于“指南针”的作用。

但还是有点懵,地图上从西到东的部分多了去了,接下来该怎么办?

大概观察了一下从地上看飞机的轨迹,拍摄者必须在飞机轨迹的北边,在南边的话就会拍出像下图这样的照片。

3捕获

所以范围缩小了一大半。可能的范围还剩下德国和波兰的北边部分,但其面积还是很大。再猜测一下,拍摄地在德国的可能性较大,因为到波兰的时候太阳光可能较为猛烈了。于是优先考虑德国境内。

3、拍摄者所在的城市必然被飞机轨迹穿过,否则是不可能看到飞机的。

于是我列出了被飞机轨迹穿过(且部分城区在轨迹的北边)、在德国境内的所有比较有名的城市——柏林、沃尔夫斯堡。其他城市暂且不考虑。先从首要嫌疑地柏林开始探索。

4捕获

我们先在柏林附近随便取些点,把模拟的飞行轨迹和照片上的转到平行的状态。依据此,可以构造出一片可能的地区。

4、去google map上面搜索berlin hotel,发现了二十页的查询结果,相当恐怖,但是利用刚刚调整出来的平行状态,我们能够确定一个范围从而筛掉大部分旅店。

差不多就像下面这样——四个地标中间部分是可能的范围。

0捕获

于是只要对其中的旅店挨个试即可。但是由于搜索显示不全的缘故而且范围的划定还是存在着一定的问题,我整了半天都没有找到。。最后参考了答案,是H+ Hotel Berlin Mitte

7捕获

真不知道那个大佬是怎么从这么多旅店里面找出来的,而且柏林未必是存在答案的地方,面对可能存在的巨大工作量还能如此耐心,实在佩服。

另外一种更加具有可操作性的方法,即使用QGIS呈现地图和相关的飞行轨迹,并且使用quickOSM插件完成对目标地点周边的hotel的撒点,接着划定可能的区域,对其中的每一个旅店创建一个楔形缓冲区,再利用google map完成对其中的旅店的枚举。方法略繁琐,具体可参见这里

mirrored picture

这题也是一道难题,题目要求找到图片拍摄的地点。

Eds6lBsXgAE4Yht

这是一张让人摸不着头脑的照片。仔细观察其中的细节,似乎找不出什么明显的突破口。

看到左下角的杆子上写着奇怪的字符,好像能看懂却又看不懂。这到底是写的是啥?

某大佬就说出其中的trick——镜像。

0Eds6lBsXgAE4Yht

之后的结果非常有意思,我们能够辨认出那个右下角的那串字母是WAS?L,然后搜索发现是WASEL,应该和起重设备有着比较大的关系,如下图。

捕获

根据左边建筑物上面模糊的“de”,我们将两者皆作为关键词搜索。发现了十一家开在莱茵河周边的子公司,这是它的官网。可是这两者应该没有特别的联系,毕竟其所属的物体完全不同。到了这里,思路再次断掉了。我们甚至不知道自己之前的操作有何意义,不过应该能够有种感觉——拍摄地点在欧洲,这条河可能是莱茵河(因为这些公司几乎都分布在莱茵河流域,相关的大型设备出现在这片区域的概率理应高一些)。

这里大神给出了两种不同的思考点:

  • 对那家含有de的公司进行fuzz搜索;
  • 根据桥(照片中存在三辆车同向行驶,所以至少双向六车道)、河、岸来断定位置。

这两种方法都不是百分百能够出结果的,相对来说,后者的风险更大。

我使用了对de的后面2/3位模糊的字符进行fuzz,尝试了dekpadekradekadeutadeuka,最终找到了deuka Feedmill Deutsche Tiernahrung Cremer,下面的截图可以看到上面的红色牌子。

2捕获

由于周围的某座桥是双向六车道的,所以契合了照片。

1捕获

黄线的延伸线附近就是拍摄地点。

3捕获

回顾一下这道题,其实最关键的地方在于盲猜“de”后面的几个字母,不然根本无解。