Calamity(lxd之linux容器错误权限的提权)
Calamity(lxd之linux容器错误权限的提权)
参考资料:
1 |
|
得到一个用户权限的shell
lxd提权
https://reboare.github.io/lxd/lxd-escape.html
【kali运行】
1 |
|
【目标shell运行】
1 |
|
提权原理
lxd是ubuntu容器管理软件,可以看作和docker一样。
lxd组和docker组一样,有不安全的地方。
本地容器的普通用户在任何情况下都不应该被允许访问lxd,因为这样十分容易被入侵。
首先,我将检查您的用户是否是该组的成员,因为如果您安装了该用户并且是sudoer,则很可能是您。 安装后,lxd会自动将每个用户添加到lxd组中。考虑到sudoer自动具有root访问权限,这可以认为是可以的,但它忘记了sudo具有适当的审核功能,并且确实需要密码来执行root所需的任何操作。 实际上,仅安装lxd等效于在sudoers文件中添加以下内容。
1 |
|
如果某人获得了对管理员帐户的访问权限,那么他们将立即获得完全的root访问权限,而无需输入密码。
考虑一个ssh私钥逃逸到该用户下运行的野外服务或过时的服务,突然之间,一个仍然没有破解admin帐户密码的攻击者就具有完全的root访问权,这都是因为您安装了lxd。
我并不是在反对lxd组的存在,只是在不通知用户的情况下增加了攻击面。 发现此问题的原因在于用户没有意识到该组赋予其帐户的权力,
并且在删除了sudo特权的同时,没有进行lxd访问。
lcd运行用户使用全部权限,无需使用sudo
而lxd必需要root权限来执行程序。所以可以通过lcd来提权。