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文件目录下的脚本赋予权限并执行。
- run文件
输出字段是一段base64编码的Perl语言,解码后得到1952行病毒代码。
最后添加了自动登录的SSH公钥达到长期控制目标系统的目的。
端口扫描函数:
DDoS攻击代码:
- 结束竞品进程—stop文件
结束存在竞争性关系的进程rsync、sync、Perl、ps、pool、nginx、ecryptfs和xmr,将结果输出到隐藏文件out下,最后删除out。
5 病毒清除
- 修改登录密码,删除被修改的远程自动登录密钥;
- 已Kill掉病毒进程;
- 删除病毒所在的~/.configrc5文件夹;
- 关闭不使用的端口。
- 删除以下文件,结束相应进程
/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
参考: