跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Linux rootkit 排查思路总结

Linux Rootkit 排查不能只靠一个工具或一步操作,得从用户态到内核态分层推进,兼顾自动扫描和人工验证。核心思路是:找异常、验一致性、溯加载路径、查持久化痕迹。 用户态隐藏行为排查 多数Rootkit先在用户空间下手,手法直接但易留痕: 系统命令被替换 :用
ls -la /bin/ps /usr/bin/top /bin/ls
查看文件大小、时间戳、inode 是否异常;对比
sha256sum
与可信镜像或 AIDE 数据库中的哈希值 环境变量劫持 :检查
/etc/profile
、
/etc/profile.d/*.sh
、
/etc/bashrc
中是否追加了别名(alias)或覆盖了命令路径(如
alias ps='/tmp/.x/ps'
) LD_PRELOAD 或 /etc/ld.so.preload :运行
echo $LD_PRELOAD
;查看
cat /etc/ld.so.preload
是否非空;再用
ldd $(which ps)
确认实际加载的共享库链 /proc 下的挂载隐藏 :执行
cat /proc/$$/mountinfo | grep '/proc/[0-9]\+'
,重点看是否有
bind
类型挂载指向
/tmp
、
/dev/shm
或隐藏目录;再用
ls -lai /proc/[0-9]*
找大小为 0 或明显偏小的 PID 目录 内核态隐蔽痕迹检测 内核级Rootkit更难发现,需借助内存分析或系统底层比对: 通义灵码 Linux版 通义灵码 Linux版是阿里云推出的一款AI智能编码助手,专为Linux开发者设计。它支持在Linux操作系统下的JetBrains IDEs、Visual Studio Code等主流集成开发环境中运行。该工具基于通义大模型,提供代码智能生成、实时续写、单元测试生成、代码优化以及研发智能问答等功能,旨在帮助Linux用户在编码过程中提升效率。 下载 模块隐藏 :运行
lsmod
后,再对比
ls /sys/module/ | wc -l
,若后者显著更多,说明有模块被从链表中摘除;同时检查
dmesg | grep -i 'module\|insmod'
是否有可疑加载记录 系统调用表劫持 :使用
cat /proc/kallsyms | grep sys_call_table
获取地址,再通过自定义模块或
volatility
的
linux_check_syscall
插件,验证关键函数(如
sys_getdents64
、
sys_openat
)指针是否指向异常地址 VFS 层隐藏 :若
ps aux
和
ls /proc
显示不一致,或
find /proc -maxdepth 1 -name '[0-9]*' | wc -l
远少于
ps -eo pid= | wc -l
,很可能存在 VFS 层脱链或目录项过滤 自动化工具交叉验证 单一工具可能漏报或误报,建议组合使用并关注输出细节: rkhunter :首次运行后必须执行
sudo rkhunter --propupd
初始化文件属性库;后续用
sudo rkhunter -c --enable all --disable none
全面扫描,重点看
/var/log/rkhunter.log
中 “Warning” 和 “Suspicious” 条目 chkrootkit :轻量快速,适合初筛;注意它不依赖特征库更新,但对新型劫持(如 LD_PRELOAD + 自定义 so)检出率有限;若输出含 “INFECTED” 或 “TESTING”,需人工跟进对应进程或文件 AIDE :部署越早越好;在系统干净时运行
sudo aide --init
,生成基线;之后定期
sudo aide --check
,重点关注
/bin
、
/usr/bin
、
/sbin
、
/usr/sbin
下命令是否被修改 辅助线索与上下文印证 很多Rootkit会伴随其他入侵迹象,结合排查能提高命中率: 异常高CPU或内存占用 :用
top -b -n1 | head -20
快速抓取,再用
ps -eo pid,ppid,comm,%cpu,%mem --sort=-%cpu | head -10
定位可疑进程;注意名称伪装成
kthreadd
、
crypto
、
sshd
(但非 root 用户启动)等 SSH 后门痕迹 :检查
/root/.ssh/authorized_keys
和各用户家目录下的同名文件;用
grep -r "ssh-rsa\|ssh-ed25519" /home/*/\.ssh/ 2>/dev/null
批量扫描;比对
/var/log/secure
中成功登录 IP 与业务白名单是否一致 定时任务与启动项 :检查
crontab -l
、
sudo crontab -l
、
/etc/crontab
、
/etc/cron.d/*
;查看
systemctl list-unit-files --state=enabled
中非系统服务项;检查
/etc/init.d/
下可疑脚本

相关文章