挖矿病毒通常会采用一些技术手段来隐藏自己的行为,比如通过伪装成系统进程、使用内核模块隐藏进程,或者利用其他复杂的技术隐藏其活动。因此,使用常规的命令如 fuser
或 lsof
可能无法检测到这些进程,尤其是在它们使用了高级隐藏技术的情况下。
为了捕获这些挖矿病毒的创建目录行为,你可以尝试以下几种高级方法:
1. 使用 auditd
进行内核级别的审计
auditd
是 Linux 内核中的审计系统,可以记录文件系统变化、进程执行等详细信息。通过配置 auditd
,你可以监控特定目录(比如 /root
)的创建目录行为,并记录下相关的进程信息。
步骤:
-
安装
auditd
(如果未安装):sudo apt-get install auditd audispd-plugins # Ubuntu/Debian sudo yum install audit # CentOS/RHEL
-
添加审计规则:
监控/root
目录下的创建目录行为:auditctl -w /root -p wa -k monitor_root
这条命令的意思是:
-w /root
:监控/root
目录。-p wa
:监控写入和属性变化。-k monitor_root
:为该规则设置一个键(标识符),方便在日志中查找。
-
查看审计日志:
查看审计日志,可以使用ausearch
或直接查看/var/log/audit/audit.log
。ausearch -k monitor_root
这将显示所有与
/root
目录相关的审计日志,包含创建目录的进程信息。
示例输出:
type=PROCTITLE msg=audit(1630453321.123:456): proctitle=/path/to/malicious_program
type=SYSCALL msg=audit(1630453321.123:456): arch=x86_64 syscall=mkdir success=yes exit=0 a0=0x7ffd8f43c9f0 a1=0x168 a2=0x1b6 a3=0x7ffd8f43c9f0 items=1 ppid=1234 pid=5678 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=1 comm=malicious_program exe=/path/to/malicious_program key=monitor_root
在这个日志中,你可以看到:
ppid=1234
:父进程 ID。pid=5678
:进程 ID。exe=/path/to/malicious_program
:执行程序的路径。
2. 使用 strace
跟踪系统调用
strace
是一个可以跟踪进程系统调用的工具。如果挖矿病毒在运行,你可以使用 strace
来跟踪其行为,查看它是否在调用 mkdir
或其他与目录创建相关的系统调用。
使用方法:
- 找到可疑进程(例如,通过 CPU 使用率高或者通过网络连接发现可疑活动)。假设可疑进程的 PID 是
12345
。 - 使用
strace
跟踪该进程:
这条命令会跟踪进程strace -p 12345 -e trace=mkdir,openat,creat -s 1024 -f
12345
中的mkdir
、openat
、creat
等系统调用,并输出相关信息。
示例输出:
mkdir("/root/.someHiddenDir", 0755) = 0
这将显示病毒进程创建目录的具体路径。
3. 使用 systemtap
或 ftrace
进行内核函数跟踪
如果 auditd
和 strace
都无法捕获挖矿病毒的行为,你可以使用更高级的工具如 systemtap
或 ftrace
直接在内核级别进行函数跟踪。
使用 systemtap
:
-
安装
systemtap
:sudo apt-get install systemtap # Ubuntu/Debian sudo yum install systemtap # CentOS/RHEL
-
编写
systemtap
脚本:
创建一个简单的systemtap
脚本,监控mkdir
系统调用:probe syscall.mkdir { printf("%s (PID %d) created directory: %s\n", execname(), pid(), argstr) }
-
运行
systemtap
脚本:sudo stap mkdir_trace.stap
这将输出所有创建目录的系统调用,并显示进程名称和 PID。
4. 检查是否有 Rootkit
一些挖矿病毒会使用 Rootkit 技术隐藏进程。你可以使用工具如 chkrootkit
或 rkhunter
来检查系统是否存在 Rootkit。
安装和使用 chkrootkit
:
sudo apt-get install chkrootkit # Ubuntu/Debian
sudo yum install chkrootkit # CentOS/RHEL
sudo chkrootkit
安装和使用 rkhunter
:
sudo apt-get install rkhunter # Ubuntu/Debian
sudo yum install rkhunter # CentOS/RHEL
sudo rkhunter --check
总结
挖矿病毒通常会采取一些高级技术来隐藏自己的行为,因此常规的工具可能无法有效检测。以下是一些更为有效的检测手段:
- 使用
auditd
监控文件系统变化,并记录进程信息。 - 使用
strace
跟踪可疑进程的系统调用。 - 使用
systemtap
或ftrace
进行内核级别的函数跟踪。 - 使用 Rootkit 检测工具(如
chkrootkit
和rkhunter
)检查系统是否被植入 Rootkit。
通过这些方法,你应该能够更有效地捕获挖矿病毒创建目录的行为并找到相关的进程信息。如果问题依然存在,可能需要进一步分析系统中的异常活动或考虑备份数据并重装系统。
标签:systemtap,审查,sudo,mkdir,文件系统,内核,install,进程,root From: https://www.cnblogs.com/komore/p/18572473