• 记一次挖矿病毒分析


    前言

    上午接到同事通知,有客户中了挖矿病毒,所以通过 ssh 登陆服务器检查,简单记录后遂有此文。

    阶段一:从发现脚本到删除脚本

    1、使用top命令查看系统运行情况,发现多个名为sustse的进程占用 cpu 资源过高。

    阶段一:从发现脚本到删除脚本

    2、使用whereis sustsewhich sustse命令查找此命令位置,发现未找到。

    阶段一:从发现脚本到删除脚本

    3、使用find / -name sustse命令查找文件是否存在,此时找到文件在/var/tmp/sustse下面,且同目录下面有另外两个文件

    阶段一:从发现脚本到删除脚本

    阶段一:从发现脚本到删除脚本

    发现这个文件时我就比较干脆,结束进程,删除文件.但是没一会进程有出现了。

    阶段二:从脚本再次出现到彻底清除

    1、使用命令ps -anx | grep sustse查看与sustse相关的进程。此时我就懵了为啥删除了文件,还会出现呢。突然想起来之前打 CTF 是用的一种利用定时任务启动的后门。

    阶段二:从脚本再次出现到彻底清除

    2、使用命令crontab -l查看是否有定时任务,发现里面有这个一条。

    阶段二:从脚本再次出现到彻底清除

    3、我比较直接,记录下来后直接删除,然后删除文件,结束进程。等待一会看看进程是否会再次启动。一段时间后发现挖矿脚本已经被清除。

    阶段二:从脚本再次出现到彻底清除

    阶段三:脚本分析

    脚本下载地址:http://www.tionhgjk.com:8220/mr.sh

    1、脚本内容一

    阶段三:脚本分析

    结束部分进程,删除一些文件。具体目的没有搞懂,这里做个猜测会不会是之前版本的地址发生了变化,现在要干掉这些;

    删除一些文件。

    2、脚本内容二

    阶段三:脚本分析

    判断文件是否存在,如果存在就验证sustse文件的MD5值判断这文件是不是他的。如果不存在就给变量 DIR 赋值为”/var/tmp”

    阶段三:脚本分析

    判断命令curlwget是否存在。

    3、脚本内容三

    阶段三:脚本分析

    downloadIfNeed函数判断是否需要下载sustse文件,如果需要就调用 download 函数。

    4、脚本内容四

    阶段三:脚本分析

    download 函数判断 sustse3文件是否存在或者sustse3文件的 MD5值是否符合,不符合或者文件不存在就调用 download2;

    download2函数,判断系统是不是64位,如果是就从http://www.tionhgjk.com:8220/tte2下载,下载位置在/var/tmp/sustse;

    验证 sustse 的MD5值,如果 MD5值符合,就改名为sustse3。

    5、脚本内容五

    阶段三:脚本分析

    judge 函数下载 http://www.tionhgjk.com:8220/wt.conf 到/var/tmp/wc.conf;

    使用nohup 启动 sustse,且在后台运行;

    judge2函数,使用nohup 启动 sustse,且在后台运行。

    6、脚本内容六

    阶段三:脚本分析

    使用 crontab 创建定时任务。

    查看sustse运行配置文件

    查看sustse运行配置文件

    发现有一个 GitHub 地址,查看之后发现是门罗币的挖矿程序。查询tionhgjk.com的注册信息发现域名的注册日期是2018-10-06T19:45:40.00,但是没有找到更多信息。

    至此结束!

  • 相关阅读:
    .NET基础 一步步 一幕幕[循环、逻辑语句块]
    .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]
    .NET 基础 一步步 一幕幕 [.NET 系列预热]
    .NET 基础 一步步 一幕幕 [前言]
    前端面试题五
    前端面试题四
    ActiveMQ 的客户端选项
    ActiveMq 高级特性的使用
    企业环境中部署 ActiveMQ
    在其他平台上使用 ActiveMQ
  • 原文地址:https://www.cnblogs.com/nul1/p/11964245.html
Copyright © 2020-2023  润新知