查看原文
其他

数个机构 MongoDB 被攻击,数据库被删

2017-01-07 陈皓 云头条

更多的黑客蜂拥而至,被劫持的MongoDB数据库数量随之增加。




由于现在涉嫌企图劫持MongoDB的黑客团伙从一个增加至三个,预计更多的团伙会在接下来几天纷纷加入其中,MongoDB管理员们在数据库管理实践方面将结结实实地上一堂课。


这个周一,Bleeping Computer网站爆出新闻:一个自报家门是Harak1r1的黑客/团伙接管了管理员帐户没有设置密码的连接至互联网的MongoDB数据库。


这个团伙导出数据库的内容,将所有表换成名为WARNING(意为“警告”)的一个表,里面有一封勒索信,要求中招数据库的所有者往比该团伙的特币钱包打入0.2个比特币(约合200美元)。


在我们刊发这篇文章时,Harak1r1已劫持了1800多个MongoDB数据库,11个受害者如数支付了赎金,以换回文件。


随着时间的推移,Harak1r1劫持了更多的数据库,劫持的MongoDB数量一度超过3500个,目前高峰时期超过800个。


在这些受害者当中,黑客甚至钓到了一条“大鱼”:艾默里医疗集团(Emory Healthcare),这是一家总部位于美国的医疗保健组织。


据MacKeeper安全研究团队声称,Harak1r1把艾默里医疗集团洗劫一空,阻止该集团访问200000多个医疗记录。


第二个团伙加入进来


来自harak1r1的攻击又持续了两天,但是随着全球信息安全媒体开始竞相报道这个话题,两个跟风者浮出水面,开始如法炮制。


第二个团伙化名为0wn3d,他们采用的手法是,把劫持而来的数据库表换成名为WARNING_ALERT的表。


据在圣诞节前后最早发现第一个被黑MongoDB数据库的研究人员维克托·格弗斯(Victor Gevers)声称,这第二个团伙已劫持了930多个数据库。


不像Harak1r1,这第二个团伙来得更贪婪一点,索要0.5个比特币(约合500美元),但是这还是没有阻止许多公司支付赎金;0wn3d的比特币钱包显示,至少三个受害者已乖乖支付了赎金。


发现第三个团伙


一天后,同样由格弗斯发现了第三个黑客,使用0704341626asdf这个化名,似乎已攻陷了740多台MongoDB服务器。


这个黑客/团伙索要0.15个比特币(约合150美元),他使用了一封内容更长的勒索信,他在信中告诫受害者:如不配合,他们的数据库内容将发布到互联网上。


此外,这个威胁分子似乎对受害者要求更苛严,限定数据库所有者必须在72小时内支付赎金。


支付赎金并不意味着受害者就可以拿回数据。


据格弗斯声称,由于这三个团伙开始使用内容更多样的勒索信和不同的比特币地址,让他得以跟踪查明这些团伙活动的思路在慢慢模糊起来。


此外,在这些攻击更新颖的变种当中,黑客们似乎懒得拷贝中招的数据库。在最近的几次攻击中,格弗斯表示,骗子们索性删除了数据库的内容,照样索要赎金,希望没人检查日志,没人发现他们的所作所为。


争夺MongoDB的地盘战刚开始


但是坏消息并不仅限于此。据格弗斯声称,这些团伙如今在争抢同一块地盘,其中许多人在改写对方的勒索信。


因此导致出现了这种情况:数据库的所有者把赎金付错对象,结果付给不该支付的团伙,对方自然无法归还内容。


格弗斯近日告诉Bleeping Computer网站:“这引起了坏人的注意,更多的玩家加入进来,打算趁机浑水摸鱼。这是件坏事。”


这位研究人员补充说:“虽然如此,但是这可能不会促使MongoDB的所有者开始修复门户敞开的MongoDB数据库。”他提到,大量未受到保护的MongoDB服务器连接到互联网上。


格弗斯补充道:“Shodan上的MongoDB总数量仍在增加,ZoomEye显示有90000多台服务器的门户敞开。AWS安全团队接到了潮水般涌入的帮助请求。”他本人忙于为遭到这些攻击的公司提供技术援助。


攻陷指标(IOC)


这张表现在出现在谷歌文档(Google Docs)上,现在由尼尔·梅里根(Niall Merrigan)和维克托·格弗斯共同管理。


下面这张表总结了与MongoDB勒索攻击有关的所有详细信息。这张表极有可能不完整。如果你有任何新的详细信息,欢迎联系我们。


团伙名称

电子邮件地址

比特币地址

勒索

金额

被替换数据

库的名称

已知的IP地址

Harak1r1

harak1r1@sigaint.org

13zaxGVjj9MNc2jyvDRhLyYpkCh323MsMq
1MMA6YD99vAfzKqhrb3dY91KpSZV6TMd2x
14VaE8NpTBTvx8k4SmteYKwPiu2YeWmuhh

0.2个

比特币

WARNING

92.99.14.92.99.14.3

Mongo3l1t3

mongo3l1t3@sigaint.org         

1j4ocBecBanTwjLsxLfiE7iWjMJGHdZGB

0.2个

比特币

WARNING

193.107.145.20

0wn3d

0wn3d@protonmail.com

15b7bS8tUg8NpzX2FRJQskEFjWRDg9gy6f

0.5个

比特币

WARNING_ALERT

185.106.120.159

0704341626asdf

0704341626asdf@signaint.org

18eUPJLM79zdXKYWZSzT29fBQScFwU81VR         

0.15个

比特币

PWNED

95.211.184.210


*** 1月6日,Mongoel1t3团伙后来居上,攻击势头超过Harak1r1攻击。这回,攻击者没有导出数据库,没有拷贝就直接更换数据库。


以上为云头条翻译自外媒新闻,以下为陈皓解读。


从 MONGODB “赎金事件” 看安全问题(作者:陈皓、左耳朵耗子)


今天上午(2017年1月7日),我的微信群中同时出现了两个MongoDB被黑掉要赎金的情况,于是在调查这个事的过程中,我发现了这个事。这个事件应该是2017年开年的第一次比较大的安全事件吧,发现国内居然没有什么报道,国内安全圈也没有什么动静(当然,他们也许知道,只是不想说吧),Anyway,让我这个非安全领域的人来帮补补位。


事件回顾


这个事情应该是从2017年1月3日开始的,是由安全圈的大拿 Victor Gevers (网名:, 的Chairman),他在2016年12月27日,他发现了一些在互联网上用户的MongoDB没有任何的保护措施,被攻击击把数据库删除了,并留下了一个叫 WARNING 的数据库,这张表的内容如下:


{    "_id" : ObjectId("5859a0370b8e49f123fcc7da"),    "mail" : "harak1r1@sigaint.org",    "note" : "SEND 0.2 BTC TO THIS ADDRESS 13zaxGVjj9MNc2jyvDRhLyYpkCh323MsMq AND CONTACT THIS EMAIL WITH YOUR IP OF YOUR SERVER TO RECOVER YOUR DATABASE !" }


基本上如下所示:


MongoDB ransom demand (via Victor Gevers)

说白了就是黑客留下的东西——老子把你的MongoDB里的数据库给转走了,如果你要你的数据的话,给我0.2个的比特币(大约USD200)。然后,他的twitter上不断地发布这个“赎金事件”的跟踪报道。与此同时,中国区的V2EX上也发现了相关的攻击问题 《

然后,在接下来的几天内,全球大约有1800个MongoDB的数据库被黑,这个行为来自一个叫 Harak1r1 的黑客组织(这个组织似乎就好黑MongoDB,据说他们历史上干了近8500个MongoDB的数据库,几乎都是在祼奔的MongoDB)。


不过,这个组织干了两天后就停手了,可能是因为这事已经引起了全球科技媒体的注意,产生了大量的报道(如果你在Google News里查一下“”,你会看到大量的报道(中文社区中,只有)),他们也许是不敢再搞下去了。


不过,很快,有几个copycats开始接着干,


马上跟进的是 own3d ,他们留下的数据库的名字叫 WARNING_ALERT,他们至少干掉了 930个MongoDB,赎金0.5个比特币(USD500),至少有3个用户付费了


然后是0704341626asdf,他们留下的数据库名字叫PWNED,他们至少干掉了740个MongoDB,赎金0.15个比特币(USD150),看看他们在数据库里留下的文字——你的MongoDB没有任何的认证,并且暴露在公网里(你TMD是怎么想的?)……



0704341626asdf group ransom note (via Victor Gerves)


就在这两天,有两个新的黑客也来了


  • 先是kraken0,发现到现在1天了,干了13个MongoDB,赎金 0.1个比特币。

  • 然后是 3lix1r,发现到现在5个小时,干了17个MongoDB,赎金0.25比特币。


BBC新闻也于昨天报道了这一情况——《》,现在这个事情应该是一个Big News了。


关于MongoDB的安全


安全问题重来都是需要多方面一起努力,但是安全问题最大的短板就是在用户这边。这次的这个事,说白了,就是用户没有给MongoDB设置上用户名和口令,然后还把服务公开到了公网上。


是的,这个安全事件,相当的匪夷所思,为什么这些用户要在公网上祼奔自己的数据库?他们的脑子是怎么想的?


让我们去看一下Shodan上可以看到的有多少个在暴露在公网上而且没有防范的MongoDB?我了个去!4万7千个,还是很触目惊心的(下图来自我刚刚创建的 




那么,怎么会有这么多的有对象显露的MongoDB?看了一下Shodan的报告,发现主要还是来自公有云平台,Amazon,Alibaba,Digital Ocean,OVH,Azure 的云平台上有很多这样的服务。不过,像AWS这样的云平台,有很完善的默认安全组设置和VPC是可以不把这样的后端服务暴露到公有云上的,为什么还会有那么多?



这么大量的暴露在公网上的服务是怎么回事?有人发现(参看这篇文章《》 ),MongoDB历史上一直都是把侦听端口绑在所有的IP上的,这个问题在5年前(2011年11月)就报给了MongoDB (),结果2014年4月才解决掉。所以,他觉得可能似乎 MongoDB的 2.6之前的版本都会默认上侦听在0.0.0.0 。


于是我做了一个小试验,到我拉Ubuntu 14.04上去 apt-get install mongodb(2.4.9版),然后我在/etc/mongodb.conf 文件中,看到了默认的配置是127.0.0.1,mongod启动也侦听在了127.0.0.1这台机器上。一切正常。不过,可能是时过境迁,debain的安装包里已加上了这个默认配置文件。不管怎么样,MongoDB似乎是有一些问题的。


再到Shodan上看到相关的在公网裸奔的MongoDB的版本如下,发现3.x的也是主流:



虽然,3.x的版本成为了主流,但是似乎,还是有很多人把MongoDB的服务开到了互联网上来,而且可以随意访问。


你看,我在阿里云随便找了几台机器,一登就登上去了,还都是3.2.8的版本。



真是如那些黑客中的邮件所说的:WTF,你们是怎么想的?


后续的反思


为什么还是有这么多的MongoDB在公网上祼奔呢?难道有这么多的用户都是小白?这个原因,是什么呢?我觉得可能会是如下两个原因:


1)一是技术人员下载了mongod的软包,一般来说,mongodb的压缩包只有binary文件 ,没有配置文件 ,所以直接解开后运行,结果就没有安全认证,也绑在了公网上。也许,MongoDB这么做的原因就是为了可以快速上手,不要在环境上花太多的时间,这个有助于软件方面的推广。但是,这样可能就坑了更多的人。

2)因为MongoDB是后端基础服务,所以,需要很多内部机器防问,按道理呢,应该绑定在内网IP上,但是呢,可能是技术人员不小心,绑在了0.0.0.0的IP上。


那么,这个问题在云平台上是否可以更好的解决呢?


关于公网的IP。一般来说,公有云平台上的虚拟主机都会有一个公网的IP地址,老实说,这并不是一个好的方法,因为有很多主机是不需要暴露到公网上的,所以,也就不需要使用公网IP,于是,就会出现弹性IP或虚拟路由器以及VPC这样的虚拟网络服务,这样用户在公有云就可以很容易的组网,也就没有必要每台机器都需要一个公网IP,使用云平台,最好还是使用组网方案比较好的平台。


关于安全组。在AWS上,你开一台EC2,会有一个非常严格的安全组——只暴露22端口,其它的全部对外网关闭。这样做,其实是可以帮用户防止一下不小心把不必要的服务Open到公网上。按道理来说,AWS上应该是帮用户防了这些的。但是,AWS上的MongoDB祼奔的机器数量是最多的,估计和AWS的EC2R 基数有关系吧(据说AWS有千万台左右的EC2了)


最后,提醒大家一下,被黑了也不要去付赎金,因为目前来说没有任何证据证明黑客们真正保存了你的数据,因为,被黑的服务器太多了,估计有几百T的数据,估计是不会为你保存的。下面也是Victor Gevers的提示:



(全文完)


相关阅读:

中高端IT圈人群,欢迎加入!

三大NoSQL数据库HBase、Cassandra和MongoDB大比拼|「云头条」

超过650TB MongoDB 数据在互联网上裸奔

替换 MongoDB 存储引擎的那几个不眠夜

云的便利性在扼杀开源数据库

排名前十的SQL和NoSQL数据库

16款开源大数据数据库:总有一个适合你

为什么开源图形数据库大行其道?

新兴的NoSQL数据库Cassandra,你知之几何?

Salesforce因数据中心电力故障导致数据库故障而停运12个小时

开源正在蚕食数据库市场

Gartner发布2016年数据仓库和数据管理解决方案魔力象限

Gartner:微软、甲骨文和AWS是三大数据库领导厂商

数据库 RethinkDB 的公司倒闭了


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存