rkhunter

关注
义项:Rootkit 检测工具
rkhunter

rkhunter(Rootkit Hunter)是一款面向 Unix 及类 Unix 系统的开源入侵检测工具, 以主机本地检查的方式查找 rootkit、后门、嗅探器与本地提权程序[1]。它由 Michael Boelen 于 2003 年发起, 用 Bourne shell 编写以便移植, 并被 Fedora、Debian 等发行版收录[2]。程序通过比对文件哈希值、检索 rootkit 常用文件与隐藏文件、核查内核模块中的可疑字符串等方式给出告警, 采用 GNU 通用公共许可证第 2 版发布[1][3]。

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

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 的文件属性检查提供可信的属性来源

  • 哈希函数 —— 文件完整性比对所依赖的基础技术

参考资料

  1. An Intrusion Detection tool for Unix Clones [引用日期2026-10-14]
  2. rkhunter [引用日期2026-10-14]
  3. 套件:rkhunter(1.4.6-9) [引用日期2026-10-14]
  4. rkhunter-1.4.6-31.fc43 [引用日期2026-10-14]
  5. Files [引用日期2026-10-14]
  6. scaleway.com 上的网页 [引用日期2026-10-14]
  7. rkhunter(8) — rkhunter — Debian unstable [引用日期2026-10-14]
  8. rkhunter man | Linux Command Library [引用日期2026-10-14]
  9. Is there a rootkit hunter in your arsenal? [引用日期2026-10-14]
  10. rkhunter scans for rootkits, backdoors and local exploits [引用日期2026-10-14]
  11. rkhunter [引用日期2026-10-14]
  12. 'Rootkit Hunter 1.00 RC1 released' [引用日期2026-10-14]
  13. Rkhunter [引用日期2026-10-14]
  14. man [引用日期2026-10-14]
  15. acm.org 上的文件 [引用日期2026-10-14]
词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T18:44:38Z

历史版本

本条目引用的词条
软件包管理器 chkrootkit rootkit Lynis 哈希函数