V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
irblu
V2EX  ›  Linux

服务器被黑了,有个不知名进程 cpu 占用率 97%, kill 了没多久又启动

  •  1
     
  •   irblu · 2019-05-02 01:07:28 +08:00 · 14086 次点击
    这是一个创建于 1792 天前的主题,其中的信息可能已经有所发展或是发生改变。

    应该咋办?怎样知道这程序是怎样启动的,有什么应对措施?

    45 条回复    2019-05-08 12:16:25 +08:00
    emeab
        1
    emeab  
       2019-05-02 01:14:56 +08:00
    中毒了 是挖矿的 查下那个进程名
    irblu
        2
    irblu  
    OP
       2019-05-02 01:18:27 +08:00
    进程名是 vTtHH
    stx2012
        3
    stx2012  
       2019-05-02 01:18:41 +08:00 via Android
    是通过定时任务跑的,暂时解决办法是把定时任务功能关掉。永久解决办法是备份数据重新安装系统
    irblu
        4
    irblu  
    OP
       2019-05-02 01:19:47 +08:00
    用户列表如下,有没有可疑的用户?

    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:997:User for polkitd:/:/sbin/nologin
    libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    chrony:x:997:995::/var/lib/chrony:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    tcpdump:x:72:72::/:/sbin/nologin
    syslog:x:996:994::/home/syslog:/bin/false
    centos:x:1000:1000:Cloud User:/home/centos:/bin/bash
    www:x:1001:1001::/home/www:/sbin/nologin
    mysql:x:1002:1002::/home/mysql:/sbin/nologin
    git:x:1003:1003::/home/git:/bin/bash
    emeab
        5
    emeab  
       2019-05-02 01:21:24 +08:00
    more /var/log/cron log 查一下日志
    irblu
        6
    irblu  
    OP
       2019-05-02 01:24:44 +08:00
    太真实了,早上在 V2EX 回帖宣传一下网站,就被人暴力破解了
    irblu
        7
    irblu  
    OP
       2019-05-02 01:28:32 +08:00
    @emeab

    /var/log/cron
    ::::::::::::::
    Aug 10 11:30:01 VM_0_12_centos CROND[18805]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh >
    /dev/null 2>&1 &)
    Aug 10 11:31:01 VM_0_12_centos CROND[18864]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh >
    /dev/null 2>&1 &)
    Aug 10 11:32:01 VM_0_12_centos CROND[18918]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh >
    /dev/null 2>&1 &)
    Dec 10 15:23:19 VM_0_7_centos crond[869]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 13% i
    f used.)
    Dec 10 15:23:19 VM_0_7_centos crond[869]: (CRON) INFO (running with inotify support)
    Dec 10 15:23:25 VM_0_7_centos crontab[3078]: (root) LIST (root)
    Dec 10 15:23:25 VM_0_7_centos crontab[3074]: (root) REPLACE (root)
    Dec 10 15:23:26 VM_0_7_centos crontab[3185]: (root) LIST (root)
    Dec 10 15:23:26 VM_0_7_centos crontab[3193]: (root) LIST (root)
    Dec 10 15:23:26 VM_0_7_centos crontab[3190]: (root) REPLACE (root)
    Dec 10 15:23:27 VM_0_7_centos crontab[3594]: (root) LIST (root)
    Dec 10 15:23:27 VM_0_7_centos crontab[3593]: (root) REPLACE (root)
    Dec 10 15:24:03 VM_0_7_centos crond[869]: (root) RELOAD (/var/spool/cron/root)
    Dec 10 15:24:03 VM_0_7_centos CROND[10075]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh >
    /dev/null 2>&1 &)
    Dec 10 15:24:06 VM_0_7_centos crontab[10117]: (root) LIST (root)
    Dec 10 15:24:06 VM_0_7_centos crontab[10121]: (root) LIST (root)
    Dec 10 15:24:06 VM_0_7_centos crontab[10120]: (root) REPLACE (root)
    Dec 10 15:24:06 VM_0_7_centos crontab[10147]: (root) LIST (root)
    Dec 10 15:24:06 VM_0_7_centos crontab[10149]: (root) REPLACE (root)
    Dec 10 15:25:01 VM_0_7_centos crond[869]: (root) RELOAD (/var/spool/cron/root)
    emeab
        8
    emeab  
       2019-05-02 01:30:13 +08:00
    usr/local/qcloud/stargate/admin/start.sh 是这个脚本不 你看下这个的内容
    irblu
        9
    irblu  
    OP
       2019-05-02 01:32:28 +08:00
    @emeab

    #! /bin/sh

    # create by hetiulin

    umask 0022
    unset IFS
    unset OFS
    unset LD_PRELOAD
    unset LD_LIBRARY_PATH
    export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'

    if [ -w '/usr' ]; then
    myPath="/usr/local/qcloud/stargate"
    else
    myPath="/var/lib/qcloud/stargate"
    fi
    agent_name="$myPath/sgagent"

    check_user()
    {
    if [ "root" != "`whoami`" ]; then
    echo "Only root can execute this script"
    exit 2
    fi
    }

    check_alive()
    {
    status=`ps ax | grep "$agent_name" | grep -v "grep" |wc -l`

    if [ $status -ne 0 ]; then
    # process exist
    echo "stargate agent already exist"
    exit 1
    fi
    }

    ### Main Begin ###

    check_user
    check_alive
    cd $(dirname $0)
    $agent_name -d

    ret=$?
    if [ $ret -eq 0 ]
    then
    echo "stargate agent run succ"
    else
    echo "stargate agent run failed, errcode: $ret"
    fi
    exit $ret

    ### Main End ###
    emeab
        10
    emeab  
       2019-05-02 01:38:10 +08:00
    @irblu 不是这个 这个只是腾讯云监控脚本
    emeab
        11
    emeab  
       2019-05-02 01:39:24 +08:00
    去看看定时任务有没有什么奇怪的
    emeab
        12
    emeab  
       2019-05-02 01:41:34 +08:00
    https://www.anquanke.com/post/id/171523 按照这个来看看能不能成功吧
    msg7086
        13
    msg7086  
       2019-05-02 02:34:43 +08:00   ❤️ 1
    被黑了,第一步是重装系统,第二步是看哪里没做好。
    irblu
        14
    irblu  
    OP
       2019-05-02 03:13:32 +08:00   ❤️ 1
    重装电脑了,吸取经验,root 密码用强密码,关掉 22 端口
    zhuzhibin
        15
    zhuzhibin  
       2019-05-02 03:18:19 +08:00 via iPhone
    @irblu 好像有点暴力 关闭 ssh
    Ayersneo
        16
    Ayersneo  
       2019-05-02 03:26:11 +08:00 via Android
    @zhuzhibin 关 22 不代表关 ssh 啊
    ochatokori
        17
    ochatokori  
       2019-05-02 03:38:42 +08:00 via Android
    你得先确定是不是被 ssh 被暴力破解啊
    你说宣传了网站被黑也有可能是你的网站后端程序有越权漏洞

    不过已经重装了也晚了
    建议这个也检查一下
    emeab
        18
    emeab  
       2019-05-02 05:19:16 +08:00 via iPhone
    @irblu redis mysql 都不要对外开放接口
    nine
        19
    nine  
       2019-05-02 05:28:48 +08:00
    看看 redis 里有没有 cron 任务
    xiadong1994
        20
    xiadong1994  
       2019-05-02 05:55:23 +08:00 via iPhone
    @irblu 用 private key 登陆也被破?
    luozic
        21
    luozic  
       2019-05-02 06:06:14 +08:00 via iPhone
    redis mysql 等开源 /闭源的大软件一堆 只要开了端口就能被 fuck 的 0day 漏洞。
    gowk
        22
    gowk  
       2019-05-02 06:23:55 +08:00 via Android
    HuasLeung
        23
    HuasLeung  
       2019-05-02 07:39:43 +08:00 via Android
    分享个人了链接之前要做好个人网站防护
    xdlucky
        24
    xdlucky  
       2019-05-02 07:41:45 +08:00 via iPhone
    密码还能开?全改密钥呀
    catalina
        25
    catalina  
       2019-05-02 07:49:27 +08:00
    首先装个 htop 用 tree,看看这个进程是谁启动的,pstree 也行。找到后再思考怎么处理。
    JaguarJack
        26
    JaguarJack  
       2019-05-02 08:24:48 +08:00 via iPhone
    只能查进程 找 shell 了
    tankren
        27
    tankren  
       2019-05-02 08:42:57 +08:00
    还好我的小服务器在反代后面,路由器还有 pfsense
    Yapie
        28
    Yapie  
       2019-05-02 08:43:07 +08:00 via Android
    害怕。。。我的服务器就跑了一个脚本,记录所有用户执行的命令,这样出了问题就好查一些了。
    randyo
        29
    randyo  
       2019-05-02 09:03:41 +08:00 via Android
    @irblu 还用什么强密码,应该禁止密码登录,改成密钥。
    zhouzm
        30
    zhouzm  
       2019-05-02 09:27:13 +08:00
    挖矿木马大多是利用中间件的漏洞,只要被扫描到马上就会被感染,暴力破解 ssh 密码的概率比较小的。建议楼主把 cve 补丁都打全
    jinliming2
        31
    jinliming2  
       2019-05-02 09:55:13 +08:00 via iPhone
    软件系统及时升级,所有业务服务都不要 root 权限启动,非业务端口尽量全加防火墙关闭或限制外部访问,并且最好改到高位不常用端口上。
    rafa
        32
    rafa  
       2019-05-02 11:19:46 +08:00 via iPhone
    redis 没有设置密码吧?被矿了,我周二也遇到了,https://blog.netlab.360.com/systemdminer-propagation-through-ddg/
    lihongjie0209
        33
    lihongjie0209  
       2019-05-02 11:35:21 +08:00
    之前有台生产服务器被挖矿了, 也是一直杀不掉。

    最后追踪和分析脚本发现这个程序会不断的生成一个挖矿程序( bash )脚本并运行, 而且二者还会相互唤起。


    我最后的解决方案就是把 bash 脚本的权限设置为不可编辑状态,那么在生成的时候就会直接报错,这样就阻止了相互唤起, 剩下的就是清理程序和定时任务。


    最后: 生产服务器还在跑, 也没有重装,但是把一些安全漏洞修复了。


    总结:
    主要问题也是对方的脚本有漏洞,生成脚本之前没有检查可编辑状态。能找到这种漏洞也是看人品了,如果自己解决不了,那么就直接重装吧
    soros1990
        34
    soros1990  
       2019-05-02 12:13:24 +08:00
    rkhunter --checkall 检查下看看
    nian8
        35
    nian8  
       2019-05-02 12:36:31 +08:00 via Android
    长了一波知识
    adrianXu
        36
    adrianXu  
       2019-05-02 22:32:52 +08:00
    先看 crontab 哇
    chengkai
        37
    chengkai  
       2019-05-03 15:40:24 +08:00
    被黑经历,分享一篇文章 ,也许对你有帮助 https://www.jianshu.com/p/97b9dc47b88c
    cnrting
        38
    cnrting  
       2019-05-03 16:17:50 +08:00 via iPhone
    @irblu 哈哈,莫名想笑
    flywithbug
        39
    flywithbug  
       2019-05-03 21:45:36 +08:00
    。。。 你被启动了定时任务。
    os7blue
        40
    os7blue  
       2019-05-04 00:11:49 +08:00
    这么真实得嘛
    rootww21
        41
    rootww21  
       2019-05-05 10:49:30 +08:00
    redis 无密码?
    opsonly
        42
    opsonly  
       2019-05-05 11:04:29 +08:00
    1、查找异常的定时任务,删除攻击脚本
    2、查看 /boot 下的异常文件,并删除
    opsonly
        43
    opsonly  
       2019-05-05 11:11:06 +08:00
    Hardrain
        44
    Hardrain  
       2019-05-05 11:48:16 +08:00
    rootkit 很难彻底清理干净
    建议备份数据+重装系统
    flypen
        45
    flypen  
       2019-05-08 12:16:25 +08:00
    遇到了类似的情况,供参考: https://zhuanlan.zhihu.com/p/65023864
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3274 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:51 · PVG 21:51 · LAX 06:51 · JFK 09:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.