找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3063

积分

0

好友

427

主题
发表于 2025-12-20 04:44:54 | 查看: 74| 回复: 0

Singularity Rootkit示意图

Singularity 是一个针对现代 6.x 系列 Linux 内核设计的高级内核模块(LKM)Rootkit。其核心能力建立在 ftrace 基础设施之上,通过精巧的系统调用挂钩技术实现深度的系统隐身,为研究内核安全与对抗提供了新的视角。

该 Rootkit 在内核层运行,能够提供一系列复杂的隐藏与规避功能:

  • 进程隐藏:使目标进程对系统监控工具完全不可见。
  • 文件与目录隐藏:支持基于模式匹配的文件系统对象隐藏。
  • 网络隐形:隐藏 TCP/UDP 连接与监听端口。
  • 权限提升:提供多种方式即时获取 root 权限。
  • 日志净化:实时过滤内核日志 (dmesg) 与系统日志 (journalctl) 中的敏感信息。
  • 自我隐藏:从内核模块列表 (lsmod) 和 /sys/module 目录中移除自身。
  • 远程访问:支持通过 ICMP 协议触发的反向 Shell,并具备自动隐藏功能。
  • 反探测:拦截 eBPF 系统调用以对抗基于 eBPF 的检测工具,并使用 io_uring 机制进行 I/O 操作,同时能阻止新的内核模块加载。
  • 审计规避:在网络链路层对源自隐藏进程的审计消息进行过滤。

核心特性详解

Singularity 集成了多项先进技术以实现其强大的隐身与规避能力:

  • 环境触发的权限提升:可通过预定义的信号或环境变量触发,实现权限提升。
  • 完整的进程隐藏:不仅从 /proc 文件系统隐藏,还能规避绝大多数系统监控工具的扫描。
  • 模式化文件隐藏:基于通配符模式,灵活隐藏文件系统中的文件与目录。
  • 网络连接隐蔽:对 netstatss 等网络状态工具以及底层数据包分析器隐藏连接。
  • 内核日志实时过滤:动态清理 dmesgjournalctl 中的 Rootkit 活动痕迹。
  • 自动清理内核污染标志:在触发内核污染标志后,自动将其恢复正常状态。
  • eBPF 检测绕过:通过挂钩 BPF 系统调用来阻止基于 eBPF 的安全检测工具加载和运行。
  • io_uring 保护:利用异步 I/O 接口 io_uring 执行操作,避免同步 I/O 路径上的监控。
  • 模块加载防护:防止系统中加载新的内核模块,巩固自身地位。
  • 日志掩蔽:全方位过滤内核消息与系统日志。
  • 规避传统检测工具:能够绕过 unhidechkrootkitrkhunter 等经典 Rootkit 检测器的扫描。
  • 自动化子进程追踪与隐藏:通过内核追踪点(tracepoint)挂钩,自动隐藏由被隐藏进程创建的所有子进程。
  • 多架构支持:支持 x86_64 (x64) 和 IA-32 (ia32) 架构。
  • 网络层过滤:实现网络数据包级别的过滤,并提供原始套接字(raw socket)保护。
  • 全面的文件I/O防护:防止通过所有变体的文件读写操作(如 readwritesendfile 等)暴露隐藏文件。
  • 审计消息过滤:在网络链路上过滤审计消息,规避基于审计子系统的检测机制。



上一篇:Spring Cloud Feign首次调用延迟分析与Ribbon饥饿加载优化
下一篇:Ubuntu家庭网关5个月实践:从OpenWRT迁移到带宽优化全记录
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-8 07:51 , Processed in 0.333830 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表