一、起因
有些截图可能找不着了,看起来有点缺少,大概记录个思路。
客户找到说中病毒了,简单询问了下cpu正常,客户刚刚重启完服务器。
二、处置
netstat -anptl查看端口开放情况,发现有端口外连
微步查一下都是矿池IP,让客户先封禁这几个ip防止通信连接
先检查计划任务,攻击者在计划任务文件cron.d写了个命令pwnrig
简单分析下这个命令:
1.cp -f -r -- /bin/crondr /bin/-bash 2>/dev/null
恶意文件替换,将 /bin/crondr复制为 /bin/-bash,试图伪装成系统 Bash 二进制文件
-f:强制覆盖
-r:递归复制,用于确保复制成功,
--:防止文件名 -bash 被误解析为命令选项。
2../-bash -c -p 80 -p 8080 -p 443 -tls -dp 80 -dp 8080 -dp 443 -tls -d
执行恶意程序,执行上面复制的恶意文件-bash并传递参数。
-p 80/8080/443:可能指定监听的端口(HTTP/HTTPS 常用端口)。
-tls:可能启用 TLS 加密通信。
-dp:可能表示双重监听或数据端口。
-d:以守护进程(后台)模式运行。
3.rm -rf -- -bash 2>/dev/null
清理痕迹,删除临时复制的恶意文件 -bash,掩盖攻击行为。
按照逻辑顺序看看/bin/crondr这个文件内容,说明攻击者先把crondr文件落地再写计划任务运行,那么这个crondr文件可能就是挖矿文件,放进沙箱跑跑。
结合沙箱结果分析,存在创建计划任务、信息收集、系统敏感操作等行为。先删除cron.d中的命令文件,这里直接rm无法删除,会报错提示Operation not permitted
这里学会一个新知识。搜索一下发现是因为与该文件(目录)特有的属性是相关的,即文件(目录)属性就是定义为不能被修改的。对此我们可先用lsattr命令查看文件的属性:lsattr 文件名
在linux下,有些配置文件是不允许任何人包括root修改的,为了防止被误删除或修改,可以设定该文件的"不可修改位(immutable)",即文件属性为i。从上面可以看出当前文件有个i属性,有i属性的文件是不能修改的,更不可被删除,即使是root用户也不可。
既然知道了文件不能操作的原因是加了i属性,所以相应的解决方案就是把文件的i属性去除。
去除i属性命令:其中对于文件名,既可以是相对路径,也可以是绝对路径
chattr -i 文件名
a:如果对文件设置a属性,那么只能在文件中增加数据(只能采用输出重定向方式来增加数据,不能使用vi命令来增加数据),但是不能删除和修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除文件(当设定 a 之后,这个目录将只能增加数据,而不能删除,只有 root 才能设定这个属性)
参考:【运维】Linux如何解决root用户Operation not permitted_linux operation not permitted-优快云博客
因此,该文件只需要去除i属性和a属性即可删除
/bin/crondr文件使用上面方法也可删除
并且不光在一个计划任务文件夹中,几乎每个计划任务文件夹都存在恶意脚本,逐个清除
等待许久后查看端口和进程,并无异常,客户也没反馈说病毒复活,本次应急告一段落。
三、总结
虽然不是暴露在公网的机器,但服务器是弱口令,猜测可能是从别的服务器进来或者别的机器感染,然后在内网暴力破解蠕虫扩散。
也提醒各位不要因为是内网机器就设置弱口令,虽然很多地方内网都这样,但还是多加注意。
如写的有不足或遗漏的地方还请各位师傅多多指教。