定义
rkhunter 是一款主机型安全扫描工具, 用于检查运行 Unix 或其衍生系统的计算机中是否存在已知 rootkit、其他非预期工具以及被改动的文件[4][1]。它以命令行方式运行, 在系统本地完成检查, 不需要部署在网络边界上[1]。
该工具以单个 shell 脚本为主体, 配合若干文本格式的数据库与可选的 Perl 模块分发, 因此能够在大多数类 Unix 平台上运行[5]。为便于移植, 它采用 Bourne shell 编写[2]。项目以 GNU 通用公共许可证第 2 版发布, 属于自由与开源软件[1]。
原理
rkhunter 的核心思路是把当前系统状态与一份可信基准作对比。它计算重要文件的哈希值, 在线数据库中保存着这些文件在正常情况下的值, 两者不一致即视为异常[6][2]。哈希算法可选 MD5、SHA1、SHA256 等, 较新的版本默认使用 SHA256, 使用 prelinking 的系统则只能选 MD5、SHA1 或关闭哈希比对[7]。用户可用 --propupd 命令在系统发生合法变更后重建文件属性数据库, 也可让属性值改由 RPM、DPKG 等软件包管理器提供[8][7]。
除哈希比对外, 程序还检查若干类可疑迹象: rootkit 常创建的文件与默认目录、可执行文件被改动的权限、内核模块中的可疑字符串、系统目录里的隐藏文件, 并可选地扫描文本与二进制文件内部的内容[3]。此外还有网卡是否处于混杂模式、监听端口、软件版本以及针对特定应用的测试[9][10]。
程序的行为由 rkhunter.conf 主配置文件决定, 还可以存在 rkhunter.conf.local 本地配置文件与 rkhunter.d 目录, 命令行参数会覆盖配置文件中的同名选项[11]。检查结果默认写入日志文件, 并以绿、红、黄三色分别表示通过、告警与跳过, 也可用参数切换为单色输出[7]。
发展历程
2003 年, 开发者 Michael Boelen 发布 Rootkit Hunter 的首个版本, 时间可追溯到当年 12 月的 1.00 RC1 测试版[1][12]。触发他动手的原因是一次误报: 他和朋友用 chkrootkit 扫描一台刚装好 FreeBSD 5.0 且未联网的机器, 结果报告二进制文件被植入后门, 查代码后发现是 FreeBSD 新选项的保留关键字所致, 于是他决定另写一个脚本, 用作交叉验证时的第二意见[9]。
2006 年初, Boelen 将开发工作移交给一个开发团队, 此后由 8 名成员负责项目维护, 项目也迁至 SourceForge[2]。根据项目官网的说明, 自 2006 年起开发由 John Horne 与 unSpawn 带领的 Rootkit Hunter 开发团队继续[1]。
2018 年 2 月 20 日发布 1.4.6 版[13]。2023 年 12 月起, 项目由 Dogsbody Technology 提供赞助[1]。
应用
rkhunter 主要用于系统管理员和 IT 安全人员对服务器做主机层面的安全检查[12]。常见做法是在系统安装完成后先用 --propupd 建立文件基准, 再定期运行 --check; 配合 --cronjob 或计划任务, 可以让扫描在后台按周期自动执行, 并用只输出告警的方式减少干扰[8][7]。
该工具在主流发行版中得到广泛分发, 被收录进 Fedora、Debian 等系统的软件仓库, 也是 Kali Linux 等安全发行版预置工具集中的一员, 这种分发方式是其知名度的重要来源[2]。除 Linux 外, 它也可在 FreeBSD 等系统上运行, 官方手册页随 FreeBSD Ports 一同提供[14]。
局限
rkhunter 属于检测工具而非防护工具, 单独使用它并不能保证系统未被入侵, 官方及发行版文档均建议配合 chkrootkit 等其他测试一起使用[3]。它的判断依赖已知特征与可信基准, 对尚未收录的 rootkit 检出能力有限, 学术评估也指出此类工具在缺少可信对比数据时几乎无法发挥作用[15]。
由于检查以文件哈希比对为基础, 它需要持续更新数据库才能保持有效, 系统经过合法升级或定制后若不重建基准就容易产生误报, 因此使用者在检查结束后查看日志十分必要[8]。另外, 若攻击者已在系统内取得足够权限, 理论上可以篡改工具本身或其所依赖的命令与数据, 通过被污染的结果掩盖行迹[15]。
参见
-
chkrootkit —— 另一款常见的 rootkit 检测工具, 常与 rkhunter 搭配使用以交叉验证结果
-
rootkit —— 本工具的主要检测对象
-
Lynis —— 同一作者参与的安全审计工具, 侧重点在于安全评估而非恶意软件检测
-
软件包管理器 —— 可为 rkhunter 的文件属性检查提供可信的属性来源
-
哈希函数 —— 文件完整性比对所依赖的基础技术
参考资料
- An Intrusion Detection tool for Unix Clones [引用日期2026-10-14]
- rkhunter [引用日期2026-10-14]
- 套件:rkhunter(1.4.6-9) [引用日期2026-10-14]
- rkhunter-1.4.6-31.fc43 [引用日期2026-10-14]
- Files [引用日期2026-10-14]
- scaleway.com 上的网页 [引用日期2026-10-14]
- rkhunter(8) — rkhunter — Debian unstable [引用日期2026-10-14]
- rkhunter man | Linux Command Library [引用日期2026-10-14]
- Is there a rootkit hunter in your arsenal? [引用日期2026-10-14]
- rkhunter scans for rootkits, backdoors and local exploits [引用日期2026-10-14]
- rkhunter [引用日期2026-10-14]
- 'Rootkit Hunter 1.00 RC1 released' [引用日期2026-10-14]
- Rkhunter [引用日期2026-10-14]
- man [引用日期2026-10-14]
- acm.org 上的文件 [引用日期2026-10-14]