Linuxchkrootkit后门检测全攻略
时间:2026-04-09 09:28:34 117浏览 收藏
chkrootkit虽是Linux系统中便捷的rootkit初筛工具,但其能力有限——仅能识别已知签名和典型行为,对LD_PRELOAD劫持、内核模块脱链、syscall表篡改等高级隐蔽后门完全失效;它不校验文件哈希、不分析内存、不扫描非常规路径,甚至自身可能被劫持而输出虚假结果;真正可靠的检测必须依赖rkhunter交叉验证、内存快照分析(如Volatility/LiME)、手动日志与进程溯源,并严格遵循以root权限运行、避开noexec挂载点、审慎解读INFECTED/WARNING/TESTING三类信号等关键实践——记住:chkrootkit安静,不代表系统安全;它只是入侵检测漫长链条上的第一道微弱探照灯。

chkrootkit 是轻量、无依赖的 rootkit 初筛工具,但它不等于“查完就安心”——它只检测已知签名和典型行为模式,对 LD_PRELOAD 劫持、内核模块动态注入、或自定义 syscall 表 patch 几乎无感。必须搭配其他手段交叉验证。
运行 chkrootkit 前必须确认权限和路径
chkrootkit 必须以 root 权限运行,否则 /proc/kcore、/dev/mem、/sbin/ 等关键路径无法读取,导致大量 TESTING 而非 INFECTED 或 not infected 结论,误判率陡增。
- 始终用
sudo chkrootkit,不要省略sudo;若提示command not found,先确认是否真已安装:which chkrootkit - 某些最小化系统(如 Alpine、部分容器镜像)默认不含 chkrootkit,需手动编译或换用
rkhunter - 避免在挂载了 noexec 的文件系统(如
/tmp)中执行,chkrootkit 会尝试释放临时二进制并执行,Permission denied错误会导致跳过关键测试项
读懂输出里真正危险的三类标记
INFECTED 是最高优先级信号,但不是唯一依据;WARNING 和 TESTING 同样需要人工跟进,尤其当它们反复出现在同一模块(如 bindshell、sniffer、ifconfig)时。
INFECTED (PORTS:12345):说明检测到监听端口的隐藏后门进程,立刻用ss -tulpn | grep :12345和lsof -i :12345双向确认 PID,再查/proc/PID/exeWARNING: promiscuous mode detected:网卡混杂模式开启,可能为嗅探器,检查ip link show | grep PROMISC,比对物理网卡是否应有此模式TESTING大量出现(尤其在chkwtmp、chklastlog模块):往往因日志文件被清空、wtmp/lastlog权限异常或被硬链接替换,需手动运行ls -l /var/log/wtmp /var/log/lastlog和stat /var/log/wtmp
chkrootkit 不报错 ≠ 系统干净
它不校验二进制哈希、不扫描内存、不解析内核模块符号表,因此以下情况完全逃逸:
- 攻击者用
LD_PRELOAD=/tmp/.x/libc.so替换ps输出,chkrootkit 自身也会被劫持——此时它的输出本身已不可信 - 内核模块未列在
lsmod中(已被从module_list脱链),chkrootkit 的chkproc模块无法感知 - 后门程序不在
/bin、/usr/bin下,而藏在/dev/shm/.a或/proc/self/fd/123这类非常规路径,chkrootkit 默认不递归扫描 - 它不检查
/etc/ld.so.preload内容,也不验证echo $LD_PRELOAD,而这正是用户态 rootkit 最常用入口
发现可疑输出后必须做的三件事
别急着删文件或 kill 进程——先固化证据,再隔离验证。
- 立即保存完整输出:
sudo chkrootkit 2>&1 | tee /tmp/chkrootkit-$(date +%s).log - 同步运行
sudo rkhunter --check --sk(跳过键入交互),比对两者的Warning条目是否重叠;若仅 chkrootkit 报INFECTED而 rkhunter 完全静默,大概率是误报(如自定义监控 agent) - 对报出的可疑路径(如
/usr/bin/.sshd),不要直接rm,先做:ls -lai /usr/bin/.sshd、file /usr/bin/.sshd、strings /usr/bin/.sshd | head -20,再决定是否保留副本取证
真正棘手的后门往往让 chkrootkit 安静得反常——它擅长发现“显性钩子”,但对“静默脱链”或“内存马”无能为力。一旦怀疑深度入侵,优先抓内存快照(volatility 或 LiME),再回溯 /proc/[0-9]*/ 底层数据,而不是反复跑 chkrootkit。
终于介绍完啦!小伙伴们,这篇关于《Linuxchkrootkit后门检测全攻略》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
229 收藏
-
104 收藏
-
204 收藏
-
276 收藏
-
439 收藏
-
158 收藏
-
151 收藏
-
356 收藏
-
434 收藏
-
474 收藏
-
495 收藏
-
430 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习