今天在工作中,同事的java日志全是乱码,我在排查过程中发现居然中了挖矿病毒!?????what 我直接懵逼了,该环境是虚拟机,用于内部测试服务用到也没连接外网咋会中病毒呢???
当我把他kill掉后发现他会立刻重启,ok看来应该是有什么脚本来操作,先去查一下计划任务
crontab -l
*/3 * * * * bash /usr/lib/sys/kexecc
发现有个陌生的计划任务 根据提示去对应的目录下发现以下几个文件
看到这个x我就什么都明白了。只要把这几个文件干掉应该是没什么问题了。
但是问题来了
我作为root用户居然没权限,这下懵逼了一会.
我也想用以下其他的思路,删除计划任务、更改病毒脚本内容。。。结果都不行会突然冒出来,或者就是没权限修改文件......
在这里有个运维大佬提醒了一下我用lsattr命令查一下.大概如以下
好吧找到问题了,有一个小i 意思是无法做任务操作,那现在要做的就是把这个给去掉i,然后把病毒脚本删除掉~
chattr -i /.
把i去掉后就成功删除了病毒脚本
下面科普下这俩个命令把,之前学过,但很久没用就容易忘记了,在这里记录一下
chattr
语法格式:chattr 参数 文件名
常用参数:
-R 递归处理所有子文件
-v 设置文件或目录版本
-V 显示执行过程详细信息
+ 开启文件或目录的指定隐藏属性
-- 关闭文件或目录的指定隐藏属性
= 设置文件或目录的指定隐藏属性
常用权限:
权限 作用
i 无法对文件进行任何修改
a 仅允许补充内容,无法覆盖/删除内容
S 文件内容在变更后立即同步到硬盘
s 彻底从硬盘中删除,不可恢复
A 不再修改这个文件或目录的最后访问时间
b 不再修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用dump命令备份时忽略本文件/目录
c 默认将文件或目录进行压缩
u 当删除该文件后依然保留其在硬盘中的数据
t 让文件系统支持尾部合并
x 可以直接访问压缩文件中的内容
参考示例
给指定文件添加隐藏属性:
[root@linuxcool ~]# chattr +i File.cfg
从指定文件移除隐藏属性:
[root@linuxcool ~]# chattr -i File.cfg
给指定目录添加隐藏属性,递归操作:
[root@linuxcool ~]# chattr -R +i /Dir
从指定目录移除隐藏属性,递归操作:
[root@linuxcool ~]# chattr -R -i /Dir
lsattr
语法格式:lsattr [参数] 文件名
常用参数:
-a 显示目录中的所有文件
-d 仅显示目录名称
-D 显示属性的名称及默认值
-E 显示从用户设备数据库中获得的当前值
-F 设置用户定义格式
-l 显示设备的逻辑名称
-R 递归处理所有子文件
-V 显示版本信息
参考示例
查看指定文件上的隐藏属性:
[root@linuxcool ~]# lsattr File.cfg
-----a------------ File.cfg
仅查看指定目录本身上的隐藏属性:
[root@linuxcool ~]# lsattr -d /root
------------------ /Dir
查看指定目录中全部文件上的隐藏属性:
[root@linuxcool ~]# lsattr -a /root
------------------ /root/.
------------------ /root/..
------------------ /root/.bash_logout
------------------ /root/.bash_profile
------------------ /root/.bashrc
------------------ /root/.cshrc
------------------ /root/.tcshrc
-----a------------ /root/File.cfg
------------------ /root/.cache