靶机渗透——linux提权

优秀项目

主机信息收集

https://github.com/rebootuser/LinEnum

漏洞探针

https://github.com/The-Z-Labs/linux-exploit-suggester

自动提权工具

https://github.com/AlessandroZ/BeRoot

综合类探针

https://github.com/liamg/traitor

在线命令提权查找网址

linux

https://gtfobins.github.io/

windows

https://lolbas-project.github.io/

常见的提权方式

SUDO提权

判断依据:
1、sudo的版本
2、sudoedit -s / 报错存在
在这里插入图片描述
根据不同的内核选择不同的选项,然后执行即可

Docker提权

前提条件:
1、有docker服务
2、用户在docker组内
在这里插入图片描述
原理:
启用就调动了sudo权限,挂载只是调用了shell环境

rsync(未授权)提权

rsync是linux的一款数据备份工具,默认开启873端口
类似windows的ftp服务
参考文章:
https://blog.csdn.net/m0_62207170/article/details/129365067

练习靶场:
vulhub
https://vulhub.org/#/environments/rsync/common/

数据库提权mysql

提权方式有:
1、手工
手工提权的一般适用于出网,且比较复杂一点,如下,参考xiaodi视频:
在这里插入图片描述

2、自动
优秀项目:
MDUT 2.0数据库利用工具+自动提权
https://github.com/SafeGroceryStore/MdUT

注意:默认root用户的数据库是不出网的,可以用webshell工具设置一下,进行连接,具体可以看user表中,root是否为% ,如果是了还不是不能连接上的话,那就是说明数据库配置文件已经是可以连接上了,但是存在防火墙过滤,这时候就要用到隧道穿透的方法

参考vulnhub靶场:
https://www.vulnhub.com/entry/raven-2%2C269/
参考文章:
https://blog.csdn.net/kukudeshuo/article/details/118888664
https://blog.csdn.net/m0_56190544/article/details/132797943
参考视频:
小迪2022第104天

定时任务提权

这个方法提权需要两个前提条件:
1、能够复制suid权限
2、得要用本地用户权限,如果是web权限,就设置不了

方法:
1、定时任务权限配置不当,导致定时文件被覆盖
2、定时任务配合suid—本地提权

参考文章:
https://blog.csdn.net/qq_61553520/article/details/130976591

环境变量提权

例如:
linux中存在ps命令
攻击者手动把/tmp目录下的/bin/bash复制到/tmp/ps
shell执行bash suid执行就是直接提权为root

如何找:
1、先获取所有具有suid的程序
2、排除系统自带的一些命令
3、看运行结果,猜测是干嘛的
4、思考程序有没有执行一些环境变量命令(ps、ping、su、sudo)
5、尝试通过suid提权命令复制原有的执行命令(先添加一个环境变量)

感觉这个也要配合suid权限执行

方法:
环境变量文件配合suid文件—本地提权:
在这里插入图片描述
即可实现提权

SUID提权

手工探测,搜索具有suid权限的所有命令

find / -perm -4000 -type f 2>/dev/null

常见的suid可以提权的命令
在这里插入图片描述这里有个注意点,就是虽然其他的命令可能也有suid权限,可是这些命令并不能执行攻击者所需要的而已指令,所以没有什么可以利用的价值。
就比如
执行命令find 1 -exec whoami ;
这个-exec就可以执行攻击者想要执行的任意代码,并不是所有的suid命令都可以像这样带参执行的。

利用suid提权,可以执行反弹
在这里插入图片描述为了避免这个问题,可以使用python反弹(前提是具有python环境)
参考网站
https://forum.ywhack.com/shell.php

suid的提权原理
find
linux查找文件命令
由于管理员查找文件为了这个文件查找的结果更多
赋予了find查找程序suid rooti权限
而且find可以加-exec参数进行其他命令的组合
那么exec后面的命令就会以root去执行

内核漏洞提权

脏牛提权

练习靶场vulnhub的lampiao。

dirtypipe

新管道缓冲区结构的“flags”成员在 Linux 内核中的 copy_page_to_iter_pipe 和 push_pipe 函数中缺乏正确初始化的方式存在缺陷,因此可能包含陈旧的值。非特权本地用户可通过利用此漏洞,可覆盖重写任意可读文件中的数据,从而可将普通权限的用户提升到特权 root。CVE-2022-0847 的漏洞原理类似于 CVE-2016-5195 脏牛漏洞(Dirty Cow),但它更容易被利用。漏洞作者将此漏洞命名为“Dirty Pipe”

参考文章
https://blog.csdn.net/weixin_45794666/article/details/123359070

sudo提权

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。换句话说通过此命令可以让非root的用户运行只有root才有权限执行的命令。
那是不是每一个新创建的用户都可以使用sudo提升命令的权限呢?如果不是那么哪些用户可以使用此命令呢?要想使一个用户具有使用sudo的能力,需要让root用户将其名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息注册到/etc/sudoers文件中,即完成对该用户的授权(此时该用户称为“sudoer”)才可以执行root权限的操作
在一定的时间段内,再次执行sudo的命令时不再询问密码。在Linux/Unix中,/etc/sudoers文件是sudo权限的配置文件储存了一些用户或组可以以root权限使用的命令

参考文章
https://www.cnblogs.com/vir-k/p/16301456.html

polkit提权

Linux Polkit工具集是Linux系统在安装过程中自带的系统工具集,其中包括大量运维常用工具,主用于在类 Unix操作系统中控制系统范围权限,通过定义和审核权限规则,实现不同优先级进程间的通讯。polkit存在本地权限提升漏洞,该工具集中的pkexec在特定情况下无法正确处理调用参数计数,因此会尝试将环境变量作为命令执行。攻击者可以通过控制环境变量, 利用该漏洞通过精心设计环境变量诱导pkexec执行任意代码,具有低权限的攻击者可以利用此漏洞绕过pkexec自带的安全保护措施,获取目标机器的ROOT权限,对主机安全造成严重威胁。

参考文章
https://blog.csdn.net/ximenjianxue/article/details/122804972

利用方法;
在这里插入图片描述
执行后,可以直接提权成功!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值