首页主机资讯Ubuntu Exploit攻击的原理是什么

Ubuntu Exploit攻击的原理是什么

时间2025-12-10 09:33:04发布访客分类主机资讯浏览1303
导读:Ubuntu Exploit 攻击的原理概览 在 Ubuntu 上,攻击通常沿着“发现入口 → 触发缺陷 → 权限提升 → 持久化/横向移动”的链路展开。由于 Ubuntu 默认允许非特权用户命名空间(如 kernel.unprivileg...

Ubuntu Exploit 攻击的原理概览

在 Ubuntu 上,攻击通常沿着“发现入口 → 触发缺陷 → 权限提升 → 持久化/横向移动”的链路展开。由于 Ubuntu 默认允许非特权用户命名空间(如 kernel.unprivileged_userns_clone),本地用户可借此访问更宽的内核攻击面;同时,桌面组件(如 accounts-daemon、gdm3)与系统服务(如 snapd)的本地逻辑缺陷,常被组合利用实现本地提权(LPE)。近年来,内核子系统如 nftablesaf_unix 也频繁曝出可被利用的漏洞,成为攻击者的重点目标。

典型攻击面与原理

  • 内核子系统缺陷
    nftables:作为内核包过滤的“基于寄存器的虚拟机”,由表/链/规则/表达式构成,表达式对象含函数指针表(vtable)。当解析/对齐/边界检查存在缺陷,或被kASLR绕过时,可劫持执行流实现 LPE。实战中常通过用户命名空间进入该攻击面。CVE-2023-35001 就是一例在 Pwn2Own 中展示的 nftables 提权路径。
    af_unix 引用计数/UAFTyphoonPWN 2025 披露的 Ubuntu 6.8.0-60-generic 内核问题源于补丁不匹配,导致 oob_skb 引用计数失衡,触发对已释放 sk_buff 的“释放后重用”。攻击者通过提升 unix_tot_inflight、配合 FUSE 暂停内核线程、再喷射受控对象,完成从释放到复用的“分离阶段”,最终劫持控制流获取 root

  • 用户态服务与桌面组件逻辑缺陷
    accountsservice + gdm3 竞态/权限降级:将用户主目录的 .pam_environment 链接到 /dev/zero 会让 accounts-daemon 陷入无限读取而占用 100% CPU 并发生权限降级;随后通过 SIGSTOP/SIGSEGVgnome-initial-setup 的配合,可在登录界面触发“创建管理员账户”对话框,从而无凭据获得 sudo 权限。该问题影响多个仍在维护的 Ubuntu 版本。
    snapd(Dirty Sock)本地 API 越权:默认安装的 snapd 通过 /run/snapd.socket(0666) 提供本地 REST API,早期版本在解析请求时将可控数据覆盖到 UID 检查变量,导致任意 API 调用。利用该缺陷可创建本地用户或侧载恶意 snap,进而获取 root

  • 容器/挂载与动态链接劫持
    OverlayFS 权限检查绕过 + LD_PRELOAD:通过两次 mount/unmountrename 操作,将 /etc/ld.so.preload 变为可写,写入恶意库实现 getuid 劫持,从而在运行 su 等 setuid 程序时提升为 root。该路径展示了“利用挂载命名空间与文件权限检查缺陷 + 动态链接器劫持”的经典组合。

常见利用步骤示意

  1. 信息收集与入口确认:查看 Ubuntu 版本/内核(如 cat /etc/os-release; uname -r),判断是否启用非特权用户命名空间,识别暴露的本地服务(如 snapd.socket)。
  2. 触发用户态缺陷:对 accounts-daemon/gdm3 场景,创建 ~/.pam_environment → /dev/zero 链接、挂起/崩溃守护进程并触发登录向导创建管理员;对 snapd,发送畸形请求绕过 UID 检查调用创建用户或安装 snap。
  3. 内核利用准备:若走 nftables/af_unix,先泄露 kASLR 或提升 inflight 计数,分离“释放—复用”窗口;必要时借助 FUSE 暂停关键线程,喷射目标 slab 对象完成占位与覆盖。
  4. 控制流劫持与提权:覆盖 vtable/函数指针 或伪造对象元数据,劫持执行到内核 rop/任意写原语,改写 cred 结构或执行 commit_creds(prepare_kernel_cred(0)),返回用户态即获 root
  5. 清理与持久化:删除临时文件/还原配置,添加 SSH 密钥systemd 服务 维持访问。
    以上路径在不同漏洞上细节各异,但其核心都是“缺陷触发 → 内存破坏/逻辑绕过 → 权限提升”。

防护要点

  • 及时更新内核与关键组件(如 snapd、accountsservice、gdm3、nftables);关注 USN 与安全公告,缩短暴露窗口。
  • 谨慎开启或限制非特权用户命名空间(如将 kernel.unprivileged_userns_clone 设为 0),仅对受控环境放开。
  • 强化本地服务的最小权限与输入校验:对 AF_UNIX 本地 API 实施严格的身份验证与边界检查,避免字符串解析导致的越权
  • 降低攻击面:移除不必要的 SUID 二进制,或在 seccomp/apparmor 中限制其能力;对 /etc/ld.so.preload 实施完整性保护与只读挂载。
  • 运行时监测:关注异常 CPU 占用(如 accounts-daemon 100%)、可疑 FUSE 挂载与异常 netlink/socket 行为,结合 auditd/eBPF 进行行为告警。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Exploit攻击的原理是什么
本文地址: https://pptw.com/jishu/767991.html
Ubuntu Exploit如何防范黑客利用 Ubuntu Exploit攻击是如何发生的

游客 回复需填写必要信息