一、操作目的和应用场景
1、 目的
在Linux系统中,利用可执行文件的capabilities实现权限提升。
2、 简介
Capabilities机制是在Linux内核2.2之后引入的,原理很简单,就是将之前与超级用户root(UID=0)关联的特权细分为不同的功能组,Capabilites作为线程(Linux并不真正区分进程和线程)的属性存在,每个功能组都可以独立启用和禁用。其本质上就是将内核调用分门别类,具有相似功能的内核调用被分到同一组中。
这样一来,权限检查的过程就变成了:在执行特权操作时,如果线程的有效身份不是root,就去检查其是否具有该特权操作所对应的capabilities,并以此为依据,决定是否可以执行特权操作。
二、平台及工具版本
host系统:kali linux 2020
虚拟机管理程序:virtualbox
虚拟机:CentOS 7
三、操作步骤
(一)Linux Capabilities管理
1、 Linux系统管理Capabilities的工具
Linux系统中主要提供了两种工具来管理capabilities:libcap和libcap-ng。
libcap提供了getcap和setcap两个命令来分别查看和设置文件的