linux下 udf提权_Linux系统利用可执行文件的Capabilities实现权限提升

一、操作目的和应用场景

Capabilities机制是在Linux内核2.2之后引入的,原理很简单,就是将之前与超级用户root(UID=0)关联的特权细分为不同的功能组,Capabilites作为线程(Linux并不真正区分进程和线程)的属性存在,每个功能组都可以独立启用和禁用。其本质上就是将内核调用分门别类,具有相似功能的内核调用被分到同一组中。

这样一来,权限检查的过程就变成了:在执行特权操作时,如果线程的有效身份不是root,就去检查其是否具有该特权操作所对应的capabilities,并以此为依据,决定是否可以执行特权操作。

如果Capabilities设置不正确,就会让攻击者有机可乘,实现权限提升。

二、平台及工具版本

host系统:kali linux 2020

虚拟机管理程序:virtualbox

虚拟机:CentOS 7

三、操作步骤

(一)Linux Capabilities管理

1、 Linux系统管理Capabilities的工具

Linux系统中主要提供了两种工具来管理capabilities:libcap和libcap-ng。

libcap提供了getcap和setcap两个命令来分别查看和设置文件的capabilities,同时还提供了capsh来查看当前shell进程的capabilities。

libcap-ng更易于使用,使用同一个命令filecap来查看和设置capabilities。

2、 Capabilities的管理方法

(1)设置Capability

举个例子,安装wireshark软件后,默认情况下,普通用户无法对网卡实施抓包操作。这是因为普通用户不具备相应的权限。

8d61e97e6875a8bb5348656e7a2b083d.png

为解决此问题,可以为/usr/bin/dumpcap文件授予抓包相关的capabilities:

setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

d12bc99e5766d2aa3a3cdd845c637927.png

命令执行后重新启动wireshark,就可以抓包了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值