原文:How I accidentally found a huge data leak during a college lecture
译者:杰微刊兼职翻译刘晓鹏
作者:Sijmen Ruwhof
几个星期以前,我给荷兰的温德斯海姆应用科学大学(Windesheim University of Applied Sciences)做了一个客座演讲。我毕业于温德斯海姆应用科学大学,并与之前的导师一直保持联系。最近,有一个导师告诉我,很多学生想了解更多的关于信息安全和黑客相关的知识,所以邀请我去做一次客座演讲。当然可以!为了让演讲更生动有趣,我在我的演讲加入了一个黑客攻击的演示。
当我开始演示时,我请同学们说出一个公司的名字,然后我来对该公司的的安全进行审查,我觉得这样会更有趣。然后我发现,接下来的结果让我非常吃惊,为了保护公司的安全,我不得不改变演示的方向。
攻击联合利华(HackingUnilever)?
其中,一个学生提到了联合利华,在荷兰这是一个众所周知的公司,所以我觉得审查这家公司的安全性将是件很酷的事情。当然,是在法律允许的范围内。我开始对联合利华网站的HTTP头进行分析,随后,我打开了Shodan网(是一款强大到能够搜索全球所有联网设备的搜索引擎公司,甚至包括服务器、网络摄像头、打印机、路由器等)。
Shodan网搜索联合利华的结果
Shodan是黑客的一大搜索引擎。它扫描绝大部分连接到互联网的设备和服务,并创建一个数字地图。我键入“联合利华”,得到几个结果。第一个搜索结果立即引起了我的注意:
显然,它有一个未受保护的数据库连接到互联网上,并且有相当多的数据在里面(13.2GB!),而在这些数据中,“联合利华”一词出现了。哦,我的天啦!这个黑客攻击演示真的存在!我从来没想过要结束这方面的信息!Shodan网从数据库索引的具体内容是什么?
我点击详细信息按钮,Shodan网给了我一些更多的信息:
我发现这个MonggoDB服务器至少包含两个数据库,它们分别名为uniever和uniever_test。我觉得这可能真的很危险,我决定中断联合利华的黑客演示。不要教你的学生太多!;-)
善后:我是否应该报告该安全漏洞?
两个星期后的现在,它觉得有让这个未受保护的数据库连接到互联网是不对的。联合利华甚至可能都没有意识到他们整个数据库服务器都没有配置密码。我真的应该帮助他们解决这个安全漏洞。所以,我开始更加深入的挖掘并进行评估。
连接到数据库
数据库服务器的MongoDB正在运行,为了验证Shodan网发现的结果,我需要连接到MongoDB服务器的软件。我没有安装MongoDB客户端,所以我在谷歌上搜索MongoDB客户端,第四结果引导我安装一个叫做MongoVue的客户端,安装后打开软件,然后点击连接按钮:
然后,我填写Shodan网给我的IP地址:
然后点击保存按钮。在下一个屏幕上,我只点击链接按钮,看看将会发生什么:
看起来我现在好像已经可以不受限制地访问该服务器中的37个数据库了!
天啦!
这看起来联合利华貌似不是唯一受此安全漏洞影响的公司。这是一个更大的问题!我需要找到联系人,以便准确地解决这个问题,因此,我点击数据库表来查找更多的信息。这个数据库没有配置用户名和密码来保护它,所以,我认为这是一个公共数据库;-)
然而在数据库中,我发现了个人的详细信息,诸如姓名,电子邮件地址和私人的聊天记录。我不准确的确定到底有多少数据泄密。但是,这些信息不应该在互联网中完全不受保护!数据库服务器出现了与多个会议演示有关的事情。遗憾的是,乍看起来,我找不到更多的线索来判断这数据库属于谁。
注:在上面的屏幕截图中你能看到安装的是MongoDB2.6.7版本。这是一个过时的版本,它包含一个中等的拒绝服务安全风险。
回到Shodan网
联合利华不是报告这个问题的公司,因为他们仅只是一个受害者。所以,我返回到Shodan,看看是否能找出更多有用的易受攻击的服务器的信息。
快速查看MySQL服务器
它看起来好像是另一个能在网上公开访问的数据库(MySQL)。目前尚不清楚它是否具有密码配置。不管怎么样,只要有一个可以直接通过互联网访问的数据库服务器,安全性就算很差的。
知道MySQL版本号(5.6.21)后,我仔细的进行观察,注意到它包含几个安全漏洞:
其中有一个漏洞甚至到了CVSS 7.5的评级!这意味着他是一个高安全风险,应立即修补。当我在寻找服务器的所有者时,我没有将我的研究扩展到MySQL服务器。
访问相应服务器的网站
我离开了那个特定的数据库服务器,然后访问连接的网站(服务器广播TCP端口为80端口):
显然,高技术性的数据,关于(代理)服务器的状态是对外公开的。从安全的角度来看,这种机密的信息决不应该发表。
检索域名所有权信息
从上述结果中查看域名[已删除].is-savvy.nl,我认为对于寻找该域名所有者的信息(通过whois命令)来说,这是一个很好的起点:
以上数据并没有给我更进一步的信息。由于域名以.nl结束,进一步的详细信息只能通过请求访问SIDN网站。SIDN网站维护管理.nl域名。这是他们关于is-savvy.nl的记录:
啊哈,现在我们取得了一些进展!拥有者是是Savvy Congress。
访问Savvy Congress的网站
我访问他们的网站,并立即注意到他们开发的软件可以在会议中使用。例如与观众聊天:
这是有意义的。我注意到聊天记录都与会议相关,所以我十分肯定他们使用的是MongoDB作为数据库服务器软件。
Shodan网搜索更脆弱的数据库服务器
我很好奇,看看Savvy Congress是否有更脆弱MongoDB服务器,我Shodan网搜索savvy。从结果中提取了以下信息:
这13个数据库(总计156.6 GB)都有没有密码配置,能够自由访问。11个数据库在同一个IP地址范围(x.x.238.*)内,IP地址是递增的。
执行Nmap
我不知道Shodan网是否在互联网的索引服务有进一步的努力,所以我执行了Nmap命令来快速扫描端口,看在IP范围内是否能够找到这11个脆弱的服务器中有更多MongoDB服务器的信息:
幸运的是,我找不到更多的服务器,所以,Shodan的索引要做得相当好:-)
联系Savvy Congress
因为我现在知道数据库服务器是没有保护的,也知道有什么安全影响——是时候联系所有者揭示我收集的情报了。在2016年4月15日,我两次打电话给Savvy Congress,但不幸的是,两次都被“防火墙”接待。所以我给只好他们寄去了我的调查结果。
第二天,我得到了一个友好的答复,他们说,这些服务器的确是开放的,但是他们是一个旧的开发集群的一部分。他们还送给我一件漂亮的T恤来表示对我揭示之一漏洞的感激:
如果脆弱的服务器实际上是开发机器,而我看到的生产数据可能是从从生产环境中复制到开发数据库中的。这不是一个明智的举动,因为这些运行环境通常都比生产系统更加不安全。
最后,末尾的两个不安全的托管MongoDb数据库IP地址(x.x.148.216和x.x.43.136),不属于Savvy Congress。
寻找其他业主
我发现在x.x.43.136 的6.6 GB的数据库属于Droisys。LinkedIn表示,他们公司有246到500名雇员在金融部门工作。数据库可能用于交易和价格。不能真的确定它到底是什么。我找到了数据库中的几个droisys电子邮件地址,并决定用这些地址来通知他们:他们的数据库暴露在互联网上了。遗憾的是,我还没有收到任何答复。因为我没有收到电子邮件的回复,我发邮件的地址应该依然存在。是droisys忽略我了吗?
最后的话
公司往往不扫描他们互联网基础设施的安全漏洞,就不会意识到他们是多么的脆弱。所以在我的工作中经常会发出一些不幸的警告。
你只能希望他们被一个在他们的安全状况方面投入了时间和精力的友好黑客联系上,并且在网络罪犯到来之前通知他们存在漏洞。
另外,如果你使用MongoDB数据库,请使用一个安全性高的密码,并把它放在防火墙后面;-)谢谢!
显著事件的时间线
本文链接的网站
1.NOS.nl
2.Softpedia.com
3.Sisteminformasi.biz
4.Hacker News
5.Silicon.fr
6.Reddit.com
7.OpenQuery.com.au
告诉大家一个好消息,我们搞了一个"抢楼大战活动",每天都有大红包送出,有兴趣的亲可以关注哟~活动真实有效!