Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Document-Linux-Privilege-Escalation — 利用名为"Dirty_Sock"(CVE-2019-7304)的漏洞,攻击Canonical的snapd守护进程REST API。 | Kitploit
工具/GitHubGitHub/coby-nguyen/document-linux-privilege-escalation
权限提升漏洞分析漏洞利用渗透测试学习与教育
GitHubcoby-nguyen/document-linux-privilege-escalation

Document-Linux-Privilege-Escalation

利用名为"Dirty_Sock"(CVE-2019-7304)的漏洞,攻击Canonical的snapd守护进程REST API。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
1年前尚未审核

Linux 权限提升(通过 snapd)

项目目标:

利用 Canonical 的 snapd 守护进程(Ubuntu Linux 中的默认服务)REST API 中的漏洞“Dirty_Sock”(CVE-2019-7304),获取 root 访问权限。

Ramil Mustafayev 的指南:https://kryptohaker.medium.com/linux-privilege-escalation-via-snapd-using-dirty-sock-exploit-and-demonstration-of-cve-2019-7304-892716cf99ca

设置:

此漏洞在 snapd 版本 2.37 之前的版本中被利用,原因是当对其 UNIX 套接字执行访问控制时,对远程套接字地址的验证和解析不正确。这也影响了当时的一些 Unix 和 Linux 发行版(例如 Ubuntu 16.04)。因此,为了实施此漏洞利用,我们需要 snapd 2.32 和 Ubuntu 16.04。

我从 https://launchpad.net/ubuntu/+source/snapd 获取了 snapd 2.32 的 Debian 软件包。

image

首先,我检查 Ubuntu 机器是否容易受到利用,使用命令 cat /etc/lsb-release(显示 Ubuntu 版本及其描述)和 uname -a(检查当前计算机和操作系统的信息)。然后,我们确认这台机器是可被利用的。

image

下一步是使用命令 systemctl start snapd 启动 snapd 服务(实际上,当攻击者利用此漏洞时,snapd 服务需要由管理员启动,否则他们无法成功启动它)。然后,我们可以检查 snapd 的版本以确保它存在漏洞。

image

接下来,我将使用命令 id(显示用户和组信息)和 tail /etc/passwd(/etc/passwd 文件用于跟踪每个注册用户)检查用户的权限。下面的结果显示,用户名为“coby”的攻击者是一个普通用户,对系统的访问权限最低。

image

利用:

要发起此攻击,我们将使用 dirty_sock 脚本,该脚本有两个版本,来自 https://github.com/initstring/dirty_sock。版本一需要出站互联网连接并运行 SSH 服务,而版本二可以直接运行,无需任何要求。

在本次利用中使用的 dirty_sockv2.py 中,应重点关注一些关键组件。该脚本中的第一个关键组件是变量 TROJAN_SNAP,它是一个 base64 编码的字符串,表示一个可安装的 snap 软件包。此软件包是一个空的“devmode” snap,其安装钩子中包含一个 bash 脚本,该脚本将创建一个新用户(“devmode”(开发者模式)是一种特殊的安装模式,允许 snap 绕过严格限制以进行开发和调试)。

image

该脚本中另一个重要的组件是 create_sockfile() 函数。此函数利用了“snapd 的 ucrednet.go”文件中的不安全解析,生成一个随机套接字文件并注入脏套接字 ;uid=0;,使我们能够覆盖 UID 变量。

image

为了实现此利用,我只需在终端中执行 dirty_sockv2.py。成功运行 dirty_sock 漏洞利用后,我们可以看到脚本自动创建了一个具有相同密码的 dirty_sock 账户。

image

然后,我检查 /etc/passwd 以查看注册用户列表,并发现创建了一个名为“dirty_sock”的新用户。

image

通过使用 su 命令,我可以使用发现的凭据登录“dirty_sock”账户。成功登录后,我可以检查该用户的权限,并看到它在 sudo 组中。这意味着攻击者已经获得了系统的完全控制权,并且可以以最高权限执行任何操作。

image

结论:

此漏洞的 CVSS 评分为 8.8(高严重性),意味着如果被利用,可能对系统造成巨大影响。此漏洞具有高严重性,因为它不需要高权限即可利用。当攻击者已经在系统上拥有一定的立足点(例如低权限用户)时,他们可以将权限提升至 root,这使得此漏洞成为一个严重的本地安全威胁,尤其是在多用户或云环境中。

下载工具