首页 > 其他分享 >云服务器遭到黑客入侵植入木马病毒排查过程

云服务器遭到黑客入侵植入木马病毒排查过程

时间:2024-05-09 17:34:00浏览次数:13  
标签:植入 false cn rx 黑客 服务器 null true 木马病毒

1、问题说明

在一个安静的下午,突然手机上面接收到云服务器厂商发的一条短信。短信内容为服务器疑似被木马病毒入侵,监测到病毒文件。然后我就使用FinalShell登录服务器准备进去看一看,刚登陆进去FinalShell左边监控程序显示cpu占用100%。服务器正常来说cpu只会在3%~9%之间,突然这个CPU占用率这么高,我就知道服务器真的被黑客入侵了。

2、排查过程

发现被入侵之后,首先需要做的就是查看系统中哪一个程序占用的cpu较高。所以需要通过Linux的 top 命令进行查看。

top -c

输入上面命令,发现第一行的程序文件运行cpu占用特别大

通过上面可以清楚看到程序的运行目录,然后我发现这个程序文件是我没有见过的,也就是说我的服务器遭到黑客入侵后他在 /tmp/.local/.-/ 目录里面给我植入了病毒脚本文件。然后我就进入 /tmp 目录下面查看

通过 ls 命令查看,目录中没有发现上面那个 .local 文件。这里就要注意了,在Linux中创建一个新的文件夹,并在文件夹的名称前面加上一个点(.),例如前面的 ".local"。这样该文件夹就会被视为隐藏文件夹了,所以我们要使用 ls -a 命令把隐藏文件也查看出来。重新输入命令:

ls -la

通过执行上面命令就可以发现 .local 文件夹了,然后就一鼓作气直接进入存放文件的目录。

进入之后发现有两个文件,通过名字可以看出应该一个是运行程序,另一个是配置文件。查看一下文件大小:

发现是一个大小在6.7兆的程序文件和一个几KB的配置文件,先把文件下载到本地。下载下来后我们后面在查看文件内容。目前我们首先需要把cpu占用率降下来确保服务器可以正常运行。

3、处理

通过问题排查我们已经找到了黑客存放在服务器里面的病毒文件了。接下来就可以直接把 .local 文件目录删除掉,通过删除命令进行删除:

rm -rf /tmp/.local

执行命令后,再次查看 /tmp 目录。发现文件已经别删除了。

删除之后,然后在杀死该程序的运行进程。执行命令:

kill -9 30737  #30737 PID 使用top -c 命令可以查看

杀死进程后,通过 top 命令再次查看下是否还有cpu占用高的进程。

可以发现cpu占用率都不高,已经降下来了。这就说明病毒已经被处理掉了。然后在通过FinalShell左边查看CPU占用率一直稳定在 4%~6%之间。

通过上面的处理服务器已经可以正常访问了。最后还需要检查一下linux的定时任务配置信息看看黑客是否修改了定时任务脚本让程序周期性的下载病毒文件。通过 crontab 查看配置信息:

crontab -l

如果输出内容为空,说明黑客没有新增新的定时任务。下面输出的是云服务器自带的安全监控工具,没有影响。

4、门罗币

通过上面的排查和处理病毒已经被清理干净了。接下来来看看下载到本地的病毒文件java程序和conf.json文件。java程序是经过加密过的所以看不到植入的程序内容,但是conf.json配置文件没有经过加密,是以明文方式显示的。内容如下:

{
    "api": {
        "id": null,
        "worker-id": null
    },
    "http": {
        "enabled": false,
        "host": "127.0.0.1",
        "port": 0,
        "access-token": null,
        "restricted": true
    },
    "autosave": true,
    "background": true,
    "colors": true,
    "title": true,
    "randomx": {
        "init": -1,
        "init-avx2": -1,
        "mode": "auto",
        "1gb-pages": false,
        "rdmsr": true,
        "wrmsr": true,
        "cache_qos": false,
        "numa": true,
        "scratchpad_prefetch_mode": 1
    },
    "cpu": {
        "enabled": true,
        "huge-pages": true,
        "huge-pages-jit": false,
        "hw-aes": null,
        "priority": null,
        "memory-pool": false,
        "yield": true,
        "asm": true,
        "argon2-impl": null,
        "argon2": [0, 1],
        "cn": [
            [1, 0],
            [1, 1]
        ],
        "cn-heavy": [
            [1, 0],
            [1, 1]
        ],
        "cn-lite": [
            [1, 0],
            [1, 1]
        ],
        "cn-pico": [
            [2, 0],
            [2, 1]
        ],
        "cn/upx2": [
            [2, 0],
            [2, 1]
        ],
        "ghostrider": [
            [8, 0],
            [8, 1]
        ],
        "rx": [0, 1],
        "rx/wow": [0, 1],
        "cn-lite/0": false,
        "cn/0": false,
        "rx/arq": "rx/wow",
        "rx/keva": "rx/wow"
    },
    "log-file": null,
    "donate-level": 1,
    "donate-over-proxy": 1,
    "pools": [
        {
            "algo": null,
            "coin": null,
            "url": "3.34.130.68:8080",
            "user": null,
            "pass": null,
            "rig-id": "proxied-miner",
            "nicehash": false,
            "keepalive": false,
            "enabled": true,
            "tls": false,
            "sni": false,
            "tls-fingerprint": null,
            "daemon": false,
            "socks5": null,
            "self-select": null,
            "submit-to-origin": false
        }
    ],
    "retries": 5,
    "retry-pause": 5,
    "print-time": 60,
    "dmi": true,
    "syslog": false,
    "tls": {
        "enabled": false,
        "protocols": null,
        "cert": null,
        "cert_key": null,
        "ciphers": null,
        "ciphersuites": null,
        "dhparam": null
    },
    "dns": {
        "ipv6": false,
        "ttl": 30
    },
    "user-agent": null,
    "verbose": 0,
    "watch": true,
    "pause-on-battery": false,
    "pause-on-active": false
}

虽然说配置内容是明文的json格式,但是我也看不懂什么意思。然后就随便找几个字段值通过百度搜索了一下,然后就发现了一个新的知识盲区 " 门罗币-XMR ":

通过搜索发现这个病毒是一个挖矿脚本,服务器竟然被别人挖矿了... 然后就找到了一篇关于门罗币挖矿脚本的说明是B站上一个UP主写的。

以防万一后面找不到,把配置说明写到下面,原文访问地址连接:https://www.bilibili.com/read/cv8021937/

{
    "api": {                       //请注意json是数据文件,如果没必要只填地址和矿池端口就可以了。  //双斜杠是注释。
        "id": null,                //Windows可用管理员模式开启挖矿软件,算力会有一定程度上的提升。
        "worker-id": null          // 本人为门罗技术爱好者,希望可以和大家共同进步。
    },
    "http": {
        "enabled": false, //启用hhtp与否
        "host": "127.0.0.1",
        "port": 0,  //端口
        "access-token": null, //访问令牌
        "restricted": true  //受限制
    },
    "autosave": true, //自动保存
    "background": false,  //挖矿是可以选择是否隐藏窗口
    "colors": true, //颜色
    "title": true, //标题
    "randomx": {
        "init": -1,  //初始化
        "mode": "auto", //模式自动
        "1gb-pages": true, //1g大页面
        "rdmsr": true, //读寄存器
        "wrmsr": true, //写寄存器
        "cache_qos": false,  //缓存
        "numa": true,
        "scratchpad_prefetch_mode": 1  //草稿行预取模式
    },
    "cpu": {
        "enabled": true, //开启CPU与否
        "huge-pages": true, //大页面
        "hw-aes": null,
        "priority": null, //优先级
        "memory-pool": true, //内存池
        "yield": true, //返回数值
        "asm": true,  
        "argon2-impl": null, //密钥导出函数
        "astrobwt-max-size": 550,  //strobwt算法最大值
        "astrobwt-avx2": false,   //高级矢量扩展集
        "rx/keva": "rx/wow"
    },
    "opencl": {       //opencl和cuda都是显卡挖矿,显卡挖门罗不划算,显卡建议挖以太币
        "enabled": false,   //启用显卡与否
        "cache": true,
        "loader": null,
        "platform": "AMD",   //AMD平台
        "adl": true,
        "cn/0": false,
        "cn-lite/0": false
    },
    "cuda": {
        "enabled": false, //启用显卡与否
        "loader": null,
        "nvml": true,   //英伟达平台
        "cn/0": false,
        "cn-lite/0": false
    },
    "donate-level": 0,   //捐赠等级
    "donate-over-proxy": 0, //委托捐赠
    "log-file": null,   //日志文件
    "pools": [    //矿池
        {
            "algo": null,   //算法
            "coin": null,   //币种
            "url": "mine.c3pool.com:13333",   //矿池及端口
            "user": "8B5mvT1wDJXQK8o9gL1NABd1AyCpK7fZ6bpAADjG6ZqMKTuJ4q44JZSPyPZzcoXohXcXGDVUsY2LU8w7Tt6AwAjt83Y1HFe",  //自己钱包地址
            "pass": "4710~rx/0", //挖矿机器名字  ~rx/0为固定门罗算法挖矿  ~之前是机器名字,之后是币种算法
            "rig-id": null,
            "nicehash": false,
            "keepalive": false,  //保持在线
            "enabled": true, 
            "tls": false,   //传输层安全
            "tls-fingerprint": null,  //传输层安全指纹
            "daemon": false,
            "socks5": null,   //代理
            "self-select": null    //自选项
        }
    ],
    "print-time": 60,  //60秒显示一次在cmd里面
    "health-print-time": 60, //正常显示算力
    "retries": 5,   //重试
    "retry-pause": 5,  //重试暂停
    "syslog": false,  //系统日志  
    "tls": {      //传输层安全
        "enabled": false,  //启用传输层安全与否
        "protocols": null, //协议
        "cert": null,      //证书
        "cert_key": null,  //证书密钥
        "ciphers": null,   //密码
        "ciphersuites": null,  //密码套件
        "dhparam": null    //密钥交换
    },
    "user-agent": null,    //用户代理
    "algo-perf": {    //各个币种算法的算力大小
    },
    "pause-on-battery": false   //使用电池时是否暂停
} 

然后我们根据脚本说明来看上面的conf.json文件。然后就发现了矿池及端口:

通过使用IP查询软件我们查看下IP地址所在地区,然后发现:

通过上图可以看到这个IP地址在韩国,虽说知道了IP地址。但是...然后呢,然后就没有然后了,到这里病毒排查过程就结束了。

5、总结

希望上面的内容对大家有所帮助,通过遇到的这个问题,让我也得到反思。以后在项目开发的同时也需要去关注如何增加服务器的安全性,以防止这些病毒的再次入侵。这次之所以让病毒入侵我觉得很大的可能是服务器开放了一些比较固定的一些中间件和软件端口号导致的。所以我们在部署中间件的时候最好要改一下中间件启动的默认端口号,或者不把任何端口号暴漏在公网下面。

公众号文章链接: https://mp.weixin.qq.com/s/vNXjss5-iobQB15WvMHCoA

标签:植入,false,cn,rx,黑客,服务器,null,true,木马病毒
From: https://www.cnblogs.com/sowler/p/18182447

相关文章

  • 黑客精神和白帽子
    在当今数字化的世界里,黑客精神和白帽子的角色变得愈发重要。本文将探讨黑客精神的本质,介绍白帽子的概念和职责。1、黑客精神所谓的“黑客精神”,主要指的是一种探索计算机软件和硬件极限,追求技术创新和完善的文化态度和哲学理念。黑客精神强调的是对知识的渴求,对于技术挑战的热......
  • 记一次“XMR门罗币挖矿木马病毒”处置
    一、背景概述故事的起因于26号下午做渗透测试时,登录跳板机发现CPU进程拉满到200%,qiao哥看了一眼直接说是XMR挖矿,这句话勾引起我的兴趣,由于应急是我的薄弱项也没有时间深入学习,所以有本篇应急分析文章。市面上存在很多关于XMR门罗币挖矿的教程,这些教程可能会被攻击者恶意利用来进......
  • 网络攻防中黑客常用的信息收集手段以及信息泄漏途径,详细方法以及工具介绍
    网络攻防中黑客常用的信息收集手段以及信息泄漏途径,详细方法以及工具介绍。网络攻防中的信息收集是黑客攻击前的重要步骤,其目的是通过各种手段获取目标网络的详细信息,以便为后续的攻击活动提供支持。信息收集的手段多种多样,包括但不限于网络扫描、社会工程学、数据挖掘等。......
  • 如何成为一名黑客?小白必学的12个基本步骤
    如何成为一名黑客?小白必学的12个基本步骤黑客攻防是一个极具魅力的技术领域,但成为一名黑客毫无疑问也并不容易。你必须拥有对新技术的好奇心和积极的学习态度,具备很深的计算机系统、编程语言和操作系统知识,并乐意不断地去学习和进步。如果你想成为一名优秀的黑客,下面是12......
  • 黑客入门教程(非常详细),从零基础入门到精通,看完这一篇就够了
    前言笔者本人17年就读于一所普通的本科学校,20年6月在三年经验的时候顺利通过校招实习面试进入大厂,现就职于某大厂安全联合实验室。我为啥说自学黑客,一般人我还是劝你算了吧!因为我就是那个不一般的人。首先我谈下对黑客&网络安全的认知,其实最重要的是兴趣热爱,不同于......
  • 深入理解PHP+Redis实现布隆过滤器(亿级大数据处理和黑客攻防必备)
    布隆过滤器极简概括英文名称BloomFilter,用于判断一个元素是否在一个大数据集合中,如果检测到存在则有可能存在,如果不存在则一定不存在。Redis官网对于布隆过滤器的说明:https://redis.io/docs/data-types/probabilistic/bloom-filter/使用场景防止缓存穿透:用于快速判断某个商......
  • [强网杯 2019]高明的黑客
    [强网杯2019]高明的黑客按照提示下载了www.tar.gz这个文件,解压后发现有三千多个php文件打开其中一个进行代码审计。认真看这些文件都是getshell文件。能把传入的变量执行系统命令。不过不可能都是有用的,随便打开几个会发现,传入的变量都变为空了,所以基本上无效。编写pyt......
  • 黑客(网络安全)技术自学——高效学习
    01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有W......
  • 程序员都能当黑客吗?IT男、码农和程序猿有啥区别?
    前言程序员是程序员,黑客是黑客,不能混为一谈。黑客就是找漏洞,利用漏洞达到自己的目的,这种漏洞用到的技术就很多了。IT相关从业者被认为目前最高薪的职业之一,他们的工作方式看似相同实际存在很多分支,今天就来跟大家讲讲程序员、码农、IT男、和黑客。程序员都能当黑客吗?程......
  • 自学黑客(网络安全),一般人我劝你还是算了吧
    一、自学网络安全学习的误区和陷阱1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多一般人如果想要把编程学好再开始......