V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ChristopherWu
V2EX  ›  程序员

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

  •  1
     
  •   ChristopherWu · Oct 23, 2018 · 7578 views
    This topic created in 2747 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
        1
    iConnect  
       Oct 23, 2018
    自动端口扫描,人家不是故意来黑你的,只是路过你家发现门开着
    p2pCoder
        2
    p2pCoder  
       Oct 23, 2018
    昨年 redis 也没设密码,被挖矿了
    Molita
        3
    Molita  
       Oct 23, 2018
    门上没锁还不关门=。=
    baicheng10
        4
    baicheng10  
       Oct 23, 2018
    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!

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

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

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

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

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


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

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