• 请不要在回答技术问题时复制粘贴 AI 生成的内容
huoru
V2EX  ›  程序员

我的腾讯云小鸡子被黑了-_-

  •  1
     
  •   huoru · Oct 23, 2018 · 8017 views
    This topic created in 2942 days ago, the information mentioned may be changed or developed.

    其实应该不是被黑。。

    mongo 默认没有账号密码,而且允许外网访问; 这个『漏洞』我之前一直有看新闻意识到,但这是腾讯云很便宜买的小鸡子,而且目前没有啥重要东西放上面,改了 ssh 端口跟不允许密码账号登录后,就轻视了。

    知道之前需要测试 mongo 的东西时,9.30 号 在小机子上面把 mongo 启动起来,然后没有关。

    昨天晚上因为做给自己用的一个小网站( http://119.29.78.110:8000/books.html),凌晨 3 点才搞完,赶着先出样品,就用 python 的 simple server ( emm..那时急着睡觉,没有用 nginx,也因为机器不重要。。),用作前端的服务器; 然后 Flask 直接启动了一个后端服务,就先启起来了,然后睡觉了~

    今天早上上去一看,发现 mongo 数据库空了(反正抓来的数据,没影响 @——@),下面有一个 Warn 库

    > db.Warn.find()
    { "_id" : ObjectId("5bce24b3e581f3bc95d75f07"), "BitCoin" : "3P4hnQNpEpKPL1x3kKcwGcB5UUmZdRF2Um", "eMail" : "[email protected]", "Exchange" : "https://localbitcoins.com/", "Solution" : "Your Database is downloaded and backed up on our secured servers. To recover your lost data: Send 0.6 BTC to our BitCoin Address and Contact us by eMail with your server IP Address and a Proof of Payment. Any eMail without your server IP Address and a Proof of Payment together will be ignored.You are welcome!" }
    

    刚开始以为是 python simple server 的锅,然后就意识到,我外网可以直接连自己的 mongo 啊....

    以上,报告完毕。

    #明明我还吐槽过很多次 mongo 允许外网访问以及默认没有密码的-_-

    请问诸位还有啥漏洞要注意的吗? python simple server 应该没这么容易被攻破吧? 我要检查上面有没有挂马之类的,除了看 top,ps aux 之类的异常进程,还有啥办法吗~ (知道大佬都说被搞过,直接重装最安全;但上面没有敏感数据,先不重装,这样玩着:P, 像这样我对 mongo 这点印象更深刻了)

    53 replies  •  2018-10-24 01:16:13 +08:00
    iConnect
    iConnect
    Oct 23, 2018
    1
    自动端口扫描,人家不是故意来黑你的,只是路过你家发现门开着
    p2pCoder
    p2pCoder
    Oct 23, 2018
    2
    昨年 redis 也没设密码,被挖矿了
    Molita
    Molita
    Oct 23, 2018
    3
    门上没锁还不关门=。=
    baicheng10
    baicheng10
    Oct 23, 2018
    4
    Your Database is downloaded and backed up on our secured servers. To recover your lost data: Send 0.6 BTC to our BitCoin Address and Contact us by eMail with your server IP Address and a Proof of Payment. Any eMail without your server IP Address and a Proof of Payment together will be ignored.You are welcome!

    还好数据不重要。看到这个提醒莫名想笑,臭不要脸的。
    huoru
    huoru
    OP
    Oct 23, 2018
    5
    @Molita @iConnect @p2pCoder

    !!!!!!!!!!!!!

    我忘了说我的疑问了:
    1. 我知道是网络脚本扫描通用『漏洞』做的, 我是想知道, 脚本是如何获取所有新出现的 ip 的?
    2. 我的 mongo 是 9.30 就开了的,为什么昨天我把 python 后台跟 simple server 启动起来,才被人扫到?
    huoru
    huoru
    OP
    Oct 23, 2018
    6
    @baicheng10 可能就算是数据重要,我第一次这样子搭服务,还是会栽这个坑上 -_-
    lhx2008
    lhx2008
    Oct 23, 2018
    7
    mongo 默认允许外网访问吗,我还一直没调,不过调了只开 80 和 443
    baicheng10
    baicheng10
    Oct 23, 2018
    8
    扫描的网段,那些不要脸的,反正肉鸡多,慢慢搞。
    还会不断进行暴力破解,烦得要死。
    huoru
    huoru
    OP
    Oct 23, 2018
    9
    @lhx2008 是啊。
    当然,这个可能也正常,因为 psql 这些估计也是允许外网访问的,不过他们强制要你设置账号密码。
    lhx2008
    lhx2008
    Oct 23, 2018
    10
    看了下默认是本机的啊

    # network interfaces
    net:
    port: 27017
    bindIp: 127.0.0.1
    huoru
    huoru
    OP
    Oct 23, 2018
    11
    @baicheng10 所有网段的 ip,不停的遍历?
    Molita
    Molita
    Oct 23, 2018
    12
    有 IP 段吧,大概就这些遍历呗。猜测
    xavier007
    xavier007
    Oct 23, 2018
    13
    有 IP 段,比如这个 IP 段是 A 云,那个是 T 云,每天遍历扫一遍总有新收获
    xavier007
    xavier007
    Oct 23, 2018
    14
    以前内网没有隔离的时候,内网还可以自己扫
    LittleDust
    LittleDust
    Oct 23, 2018
    15
    小鸡子🐤。。小鸡子🐥。。好萌
    tribute
    tribute
    Oct 23, 2018 via Android
    16
    ipv4 拢共就那么多 ip,而且这种情况肉鸡应该很多,就算扫全 ip 也要不了多少时间吧。最重要的是服务提供商一般都有 B 类地址吧,扫循环扫一些 b 类地址总能扫到。v6 覆盖起来之后应该会好些
    flowfire
    flowfire
    Oct 23, 2018
    17
    0.6 BTC,一点都不贪 hhhh
    wildcat007
    wildcat007
    Oct 23, 2018
    18
    redis mysql 都有的
    mysql 直接删库,然后警告你 一定时限支付,否则彻底删除数据(其实已经删除了)
    redis 直接拿权限 写 crontab,继续自动扫描攻击 + 挖矿
    GrahamACER
    GrahamACER
    Oct 23, 2018
    19
    遭遇一模一样的现象……勒索的价格都一样
    最重要的是,腾讯没有自动备份,隔壁就有……
    当天晚上把所有服务都迁移到隔壁去了,开了防火墙做了登录 IP 限制
    mongo 上密码其实很麻烦,我用的方法是只有指定的 IP 能访问 mongo
    huoru
    huoru
    OP
    Oct 23, 2018
    20
    @bankroft 全扫描感觉不现实,25 亿呢。 所以会不会是扫描知名云的网段而已呢。
    kkhaike
    kkhaike
    Oct 23, 2018
    21
    腾讯云的 安全组 呢
    huoru
    huoru
    OP
    Oct 23, 2018
    22
    @GrahamACER 其实生产环境就直接限制内网访问(本来数据库这些东西就不用暴露出去)
    huoru
    huoru
    OP
    Oct 23, 2018
    23
    @kkhaike 木有用,是怎么样的呢?
    likuku
    likuku
    Oct 23, 2018
    24
    @kkhaike 腾讯云 有 安全组 这种云防火墙吗?

    想来 aws ec2 默认就是 安全组封锁一切通讯,保守但的确保证了默认安全,给的最佳实践也是首先从安全组开始,真是避免了很多踩坑。
    likuku
    likuku
    Oct 23, 2018
    25
    @ChristopherWu 快速扫描全网并不是听起来那般不可能...
    huoru
    huoru
    OP
    Oct 23, 2018
    26
    @likuku 默认把用户当傻蛋其实挺好的-_-
    GrahamACER
    GrahamACER
    Oct 23, 2018
    27
    而且当时并不全是 mongo 的锅,整个环境下所有的东西都没了
    我就发了个工单问腾讯对方是怎么拿到我的 root 权限的
    腾讯一直在强调 redis 的漏洞问题,回避这个 root 的问题……
    likuku
    likuku
    Oct 23, 2018
    28
    @ChristopherWu 不不,默认把当前网络环境当作家门口就恶魔成堆的凶险之地,挺好的。
    congeec
    congeec
    Oct 23, 2018 via iPhone❤️1
    29
    @ChristopherWu 快速遍历全球 ipv4 地址
    https://zmap.io
    fchypzero
    fchypzero
    Oct 23, 2018
    30
    @ChristopherWu 在不保证准确率的情况下,PING 就完事了。
    mytsing520
    mytsing520
    PRO
    Oct 23, 2018
    31
    1 小时就能扫遍全网所有 IP 地址的端口一次
    huoru
    huoru
    OP
    Oct 23, 2018
    32
    大佬们顺便回答一哈:


    我的 mongo 是 9 月 30 号 就开了的,为什么昨天我把 python 后台跟 simple server 启动起来,才被人扫
    y10210118
    y10210118
    Oct 23, 2018
    33
    自建 MongoDB 存在空密码或弱口令很容易被入侵,如果有备份数据或者快照可以恢复,做关键还是提前做好安全防护,看到有个挺好的文档可以参考下: http://bbs.qcloud.com/thread-42928-1-1.html。
    Les1ie
    Les1ie
    Oct 23, 2018❤️1
    34
    Les1ie
    Les1ie
    Oct 23, 2018
    35
    @ChristopherWu 被入侵是随机事件, 并不是你一打开就能够通知到别人你这里有未授权的
    PulpFunction
    PulpFunction
    Oct 23, 2018
    36
    想问一下数据库也是在本地服务器(本小鸡上)的吗
    FakeLeung
    FakeLeung
    Oct 23, 2018 via iPhone
    37
    是的,我的小博客也是因为芒果没有密码,导致所有博文丢失了。

    这些人是真的闲啊。。。。
    opengps
    opengps
    Oct 23, 2018❤️1
    38
    这么说吧,不是有些人闲的,在以前互联网起步时候,只能用本办法全网扫描抓肉鸡,之后经过了 idc 时代,现在云时代,普遍就多了个特征“机房流量”,对于机房的网段,已经被大量扫描器来来回回的扫描了,一旦有漏洞甚至是自动入侵的。根本不是人在盯着你机器是否有漏洞。
    所以很多服务器使用习惯已经需要变革了,最典型的就是外网端口,能不开就不开,必须开则尝试下修改,例如最基本的 22,3389 修改掉
    faceRollingKB
    faceRollingKB
    Oct 23, 2018
    39
    第一次租服务器的时候,一觉起来 ssh 有 2000+failed login,从那以后我都是直接防火墙设置 ip 白名单的
    faceRollingKB
    faceRollingKB
    Oct 23, 2018
    40
    80、443 开放,其他所有端口白名单
    ThirdFlame
    ThirdFlame
    Oct 23, 2018
    41
    就是 一轮一轮扫出来的。时间上仅是一个巧合。
    另外 上来的人直接清空了数据库,并没有做任何备份。 及时给钱 也不会恢复。(你这也不需要恢复,无所谓)
    huoru
    huoru
    OP
    Oct 23, 2018
    42
    @PulpFunction 是的。本机上。
    huoru
    huoru
    OP
    Oct 23, 2018
    43
    @opengps 恩~这个在公司里,用服务器时大概清楚~ 感谢回复
    Daming
    Daming
    Oct 23, 2018
    44
    你居然把自己的 IP 放出来了,不怕 ddos 吗
    huoru
    huoru
    OP
    Oct 23, 2018
    45
    @Daming 我是做给自己用的小网站。。。ddos 我没有任何价值啊 -_- ,除非是恶趣味
    huoru
    huoru
    OP
    Oct 23, 2018
    47
    @Daming 谢谢哈~ 被 ddos 了也没关系,正好可以学习一下 XD
    jinggoing
    jinggoing
    Oct 23, 2018
    48
    我早上起来也发现被删库了,留了一个 warn 库 里面也是勒索信息。直接把 MongoDB 重装设置成仅本地连接
    lllllliu
    lllllliu
    Oct 23, 2018
    49
    1. 安全组配置
    2. 防火墙配置
    3. Redis,Memcache 等记得要 auth,或者只允许 localhost 链接
    4. mysql 这种可以试着 ssl 链接
    Kaiv2
    Kaiv2
    Oct 23, 2018
    50
    腾讯云有安全组的吧?
    我用的阿里云需要手动进官网开启端口,还需要手机验证码
    SCaffrey
    SCaffrey
    Oct 23, 2018 via Android
    51
    @y10210118 #33 404 了
    moresteam
    moresteam
    Oct 23, 2018 via Android
    52
    在我们的方言中,小鸡子指的是第三条腿
    lycc
    lycc
    Oct 24, 2018 via Android
    53
    我觉得价格设为 0.01btc 或者更小倒是更有可能骗到人??
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   966 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 19:31 · PVG 03:31 · LAX 11:31 · JFK 14:31
    ♥ Do have faith in what you're doing.