【Linux系统恶意代码】“亡命徒(Outlaw)僵尸网络” Kswapd0挖矿病毒的发现与清除

1 原因

        由于账户密码设置较简单,受到境外ssh爆破攻击入侵系统,植入病毒。

2 病毒种类

        Kswapd0挖矿病毒。

        按照腾讯云报道,此次攻击为“亡命徒(Outlaw)僵尸网络”该僵尸网络最早于2018年被发现,其主要特征为通过SSH爆破攻击目标系统,同时传播基于Perl的Shellbot和门罗币挖矿木马。

3 病毒发现过程

        发现高内存占用的异常进程,该程序在.configrc5/a文件夹下。

        .configrc5文件夹内容。

        .configrc5/a/run这个脚本在后台运行了kswapd0这个可执行文件,把进程id写到bash.pid文件中

        目前文件中显示的进程id是976335,与发现的进程id不同,可能定时重新启动了多个进程。

        发现.configrc5/b/run脚本修改了ssh自动登录的rsa值,改为以下公钥:

AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw==

        该病毒进程应该有对外连接端口,境外IP。且该病毒进程添加了定时计划任务。

4 病毒行为分析

        系统被SSH暴力破解后,攻击者会在系统目录下添加.configrc5文件夹,文件结构内容如下,名为“a”的文件夹下存放开源门罗币挖矿程序kswapd0(xmrig)和启动脚本,名为“b”的文件夹下存放后门程序run和执行脚本。

4.1 a文件夹

  • Stop文件

        结束存在竞争性关系的挖矿程序cron、kswapd0等进程,并将结果保存在proc隐藏文件中,最后删除proc文件。

  • 判断系统架构—run文件

        执行stop脚本,睡眠10秒,列出当前工作的路径并输出到dir.dir的文件中,执行kswapd0挖矿程序,把最后运行的后台进程的PID写入到一个.pid文件中。

  • 查看CPU信息—a文件

        使用crontab命令删除当前用户的cron任务。将当前目录的路径保存到dir.dir文件中。获取保存在dir.dir文件中的路径,并将其赋值给变量dir。创建一个名为upd的脚本文件,并将一段脚本写入其中。该脚本会检查指定目录下的bash.pid文件是否存在,如果存在则读取其中的进程ID,并尝试向该进程发送信号。如果进程仍然存活,则退出脚本;否则,执行run脚本。定义了一个名为optimize_func的函数,用于优化系统性能。函数内部根据CPU类型使用wrmsr命令写入相应的MSR寄存器值,并设置vm.nr_hugepages参数以启用大页内存。判断当前用户是否为root用户,如果是,则调用optimize_func函数进行系统性能优化;否则,仅设置vm.nr_hugepages参数。修改upd文件的权限为可执行。修改当前目录下所有文件的权限为777。执行upd脚本。

  • 挖矿程序—kswapd0文件

        目前代码打开是乱码。

4.1 b文件夹

  • 执行后续脚本—a文件

        对a文件目录下的脚本赋予权限并执行。

  1. run文件

        输出字段是一段base64编码的Perl语言,解码后得到1952行病毒代码。

        最后添加了自动登录的SSH公钥达到长期控制目标系统的目的。

        端口扫描函数:

        DDoS攻击代码:

  • 结束竞品进程—stop文件

        结束存在竞争性关系的进程rsync、sync、Perl、ps、pool、nginx、ecryptfs和xmr,将结果输出到隐藏文件out下,最后删除out。

5 病毒清除

  1. 修改登录密码,删除被修改的远程自动登录密钥;
  2. 已Kill掉病毒进程;
  3. 删除病毒所在的~/.configrc5文件夹;
  4. 关闭不使用的端口。
  5. 删除以下文件,结束相应进程

        /tmp/*-unix/.rsync/a/kswapd0
        */.configrc/a/kswapd0
        /tmp/*-unix/.rsync/c/tsm64
        /tmp/*-unix/.rsync/c/tsm32
        /tmp/*-unix/.rsync/b/run(rsync)
        */.configrc/

        6. 检查cron.d中是否存在包含以下内容的定时任务,如有进行删除:

        /a/upd
        /b/sync
        /c/aptitude

参考:

典型挖矿家族系列分析一 丨Outlaw(亡命徒)挖矿僵尸网络 - 知乎 (zhihu.com)

Linux kswapd0进程CPU占用过高,病毒清理_linx kswapd0 100-CSDN博客

  • 22
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值