Mongodb未授权访问

园长 (但愿你是狗,牵你一起走。@z7y @小胖子 噢,最怕你是狗喔,我最怕你不走。@saline @Anonymous 从前 @z7y 有个表弟 @VIP 后来死了。) | 2014-12-21 23:09

Mongodb默认不需要配置auth导致未授权访问问题令人堪忧。

前年的时候写了个Mongodb未授权扫描工具发现了一些企业Mongodb未授权访问问题(测试发现包括一些游戏厂商),但在数量上还不太严重。

近期Mongodb问题越演越烈,上周对10812个国内IP进行探测时候发现了接近4000个未授权访问IP。

Mongodb未授权访问安全隐患,互联网40%高命中率!

漏洞验证方法:

利用mongo-java-driver-2.12.4.jar

MongoClient client = new MongoClient(host,port);

或:

private boolean loginTest(String host,int timeout){
  try {
    byte[] b = new byte[]{0x3f,0x00,0x00,0x00,(byte) 0x97,0x75,(byte) 0xbc,0x60,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xd4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x64,0x6d,0x69,0x6e,0x2e,0x24,0x63,0x6d,0x64,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x10,0x6c,0x69,0x73,0x74,0x44,0x61,0x74,0x61,0x62,0x61,0x73,0x65,0x73,0x00,0x01,0x00,0x00,0x00,0x00};
     InetSocketAddress address = new InetSocketAddress(host,27017);
    Socket socket = new Socket();
    socket.connect(address,timeout);
    socket.setSoTimeout(timeout);
    OutputStream out = socket.getOutputStream();
    out.write(b);
    socket.shutdownOutput();
    BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
     String str = "";
    StringBuilder sb = new StringBuilder();
    while((str=br.readLine())!=null){
      sb.append(str);
    }
    return sb.toString().contains("local");
  } catch (Exception e) {
    return false;
  }
}

这里似乎有一份邪红色团队的“全球Mongodb未授权访问探测报告"同样说明了问题的严重性:

Mongodb unauthorized access vulnerability global probing report

[+] Author: f1,2,4
[+] Team: FF0000 TEAM <http://www.ff0000.cc>
[+] From: HackerSoul <http://www.hackersoul.com>
[+] Create: 2014-12-10
Introduction
Domain list
Proof of Concept
Scan results
IP location
Evil hackers

[原文地址]

各种吐槽:

1#

xiaoxin (己所不欲,勿施于人) | 2014-12-21 23:11

园长也这么疯狂的扫

2#

RedFree (‮11:11 11-11-1112 |※(器杀制自) | 2014-12-21 23:12

园长 牌扫描大法好!

3#

Noxxx | 2014-12-21 23:17

一大波刷洞即将袭来

4#

debbbbie (深藏功与名~~) | 2014-12-21 23:22

具体有什么危害。。。难道不需要验证帐号密码直接操作吗???

5#

_Thorns | 2014-12-21 23:27

一大波刷洞即将袭来 ...

6#感谢(1)

园长 (但愿你是狗,牵你一起走。@z7y @小胖子 噢,最怕你是狗喔,我最怕你不走。@saline @Anonymous 从前 @z7y 有个表弟 @VIP 后来死了。) | 2014-12-21 23:34

@RedFree 刚又撸了一次,10812个ip,去重后成功登陆的有4127个。

7#

only_guest (PKAV-誓与AV抢宅男!) | 2014-12-21 23:39

@园长 这一万多个IP是指的初次扫描后筛选出的存在mongodb的IP吧?总共的被扫描IP数是多少呢?

8#

园长 (但愿你是狗,牵你一起走。@z7y @小胖子 噢,最怕你是狗喔,我最怕你不走。@saline @Anonymous 从前 @z7y 有个表弟 @VIP 后来死了。) | 2014-12-21 23:48

@only_guest 这1万IP是开放27017并识别为Mongodb的IP,ip列表来自xx 全是国内的 主要来自北京、杭州和广州。

9#

RedFree (‮11:11 11-11-1112 |※(器杀制自) | 2014-12-21 23:50

@园长 如果是10812个ip有4127个可以成功登陆,这已经很严重了。因为这些只是公网ip,放到内网去扫描成功率会更高。以前是没有多少人了解Mongodb,随着知识的普及它呈现的问题会更多。

10#

sin (Original sin) | 2014-12-21 23:55

意思是10812个配置有Mongodb数据库的ip,未授权可以登录的有4127个吧。40%概率!太大了

11#

YY-2012 (#)<alert("dan")>(#) | 2014-12-22 00:01

10812怎么找的?

12#

0x12 (帽子掉了|多逛,少说话。|小学生) | 2014-12-22 00:04

撸得漂亮

13#

Demon (证道) | 2014-12-22 00:04

的确令人堪忧,我们邪红对此数据进行深度挖掘发现了许多有意思的东西.

14#

刘海哥 (www.smd5.org) | 2014-12-22 00:35

扫扫更健康!

15#

浮生 | 2014-12-22 02:34

新产品的上线,总是要经过阵痛,才能更加完善

16#

老黑 | 2014-12-22 08:08

C段 B段一扫 一大堆 呵呵

17#

浮萍 | 2014-12-22 08:12

这么严重

18#

Coffee (高三加油~) | 2014-12-22 08:45

官方为什么更新不修改默认配置?

19#

咖啡 | 2014-12-22 08:45

希望此类洞别给分

20#

爱上平顶山 (IT民工 职业搬砖 挖坑 丝一枚 神马都不会~) | 2014-12-22 08:57

@园长 看到没 这才是好的 鄙视主站刷分的~

21#

爱上平顶山 (IT民工 职业搬砖 挖坑 丝一枚 神马都不会~) | 2014-12-22 08:58

@几何黑店

22#

sky (z7y首席收银员) | 2014-12-22 09:06

@爱上平顶山 园长不发威,你们当他是 hello cat?

23#

围剿 | 2014-12-22 09:18

good

jb

24#

by灰客 | 2014-12-22 09:38

求一个能链接的。。

想看看效果

25#

Z-0ne (一个很懒的人) | 2014-12-22 09:45

这确实是个问题,公网要配个服务一会儿就被搞了

26#

null (#) | 2014-12-22 09:48

import pymongo

client = pymongo.MongoClient("localhost", 27017)

27#

Mody | 2014-12-22 10:00

@null 园长的socket更快哦

28#

FenQing | 2014-12-22 10:15

园长发的东西都有料啊

29#

xfkxfk | 2014-12-22 10:22

园长的这1W多个IP扫描池时都开启了mongodb的IP,之前做过一次测试,全球排名100W的站点,只测试成功登陆的3000左右

30#

xfkxfk | 2014-12-22 10:22

园长的这1W多个IP扫描池时都开启了mongodb的IP,之前做过一次测试,全球排名100W的站点,只测试成功登陆的3000左右

31#

小手冰凉 | 2014-12-22 10:26

不能利用岂不是蛋碎 而且多年面前就出过这个 http://news.cnblogs.com/n/121155/

32#

ztaosony | 2014-12-22 10:28

又是刷洞的节奏?

33#

小 葛 (http://sechome.cn/) | 2014-12-22 10:29

具体咋利用.0.00

34#

爱捣蛋的鬼 | 2014-12-22 10:50

es也有未授权访问, 不过es里面数据大多不是敏感数据

35#

龍 、 | 2014-12-22 12:00

园长也这么疯狂的扫

36#

RainShine (等一个人三年是愚蠢的)(抱歉我本不应该等的。) | 2014-12-22 12:11

[i][b]我擦,一撸一大堆啊……园长又疯狂了……[/b][/i]

37#

reality0ne | 2014-12-22 12:35

。。其实吧,好多nosql都有这个问题。。默认都是无密码的。。

38#

专业种田 | 2014-12-22 13:42

都自动化了,不错。

39#

jusker (后悔有什么用,着手当下) | 2014-12-22 13:48

园长大牛专业拉拖拉机工具

40#

hack雪花 (This is a test"></textare) | 2014-12-23 13:21

@xfkxfk 怎么用求教

41#

Sura、Rain | 2014-12-24 13:11

有什么用呢,大部分都是日志,很少有敏感数据 ,用mongodb的都是做大数据分析的

42#

360网站卫士 (专业爆腾讯漏洞30年) | 2014-12-24 14:47

@Sura、Rain http://linux.im/2014/12/18/mongodb_unauthorized_access_vulnerability_sinaweibo_app_accessToken.html

43#

Sura、Rain | 2014-12-24 22:40

@360网站卫士 都说很少了,你能找出几个这样的服务器?

44#

360网站卫士 (专业爆腾讯漏洞30年) | 2014-12-25 12:47

@Sura、Rain 你去试试不就知道了?少?在这种大范围的泄露面前,少也会是多。

留言评论(旧系统):

yxaqw.com @ 2014-12-24 17:39:27

好牛B的漏洞,怎么用求教

本站回复:

-_-|||

佚名 @ 2014-12-26 23:30:16

核总 我在乌云想看一篇黑X产业的文章 您能给通过一下么 一直申请没有通过 id 月光光

本站回复:

最近上网上的少,隔段时间上去批量通过。