前言
了解常见的提权手法并总结常见手法,以及基于lin.security靶场复现部分手法
仅供个人学习,如有冒犯请尽快联系
提权手法以及复现
汇总
- sudo提权
- SUID提权
- 其他提权
因为提权的手法太多所以我们这边就先介绍较为常见的三个
sudo提权
sudo权限是root把本来只能超级用户执行的命令赋予普通用户执行,这里的命令指的是系统命令,对于linux来说一切皆是文件,所以系统命令也是一个文件。
简单理解为“以管理员身份运行”,但是在此过程中我们的身份并不是管理员(root)
先输入sudo -l
查看支持sudo提权的命令
这边也是跳了很多支持sudo提权的命令语句
我们用/bin/ash,/bin/bash,/bin/sh尝试提权
可这种情况下我们还是不能直接读root用户才能读的文件,如图,x即用户的密码,保存在/etc/shadow中
所以我们用一个有root权限的用户:insecurity,这个用户的密码是md5加密过的,解密后尝试登陆insecurity账户
这时我们就有了root权限,可以查看/etc/shadow
用户名和密码就都保存在这里了
SUID提权
SUID是一种对二进制程序进行设置的特殊权限,和sudo类似,在运行相应程序时会拥有临时的root权限,也就是仅在运行时拥有root权限,且只在此程序拥有root权限,程序外则无,若是对一些特殊命令 (命令也是程序的一种)设置了SUID,那么将会有被提权的风险,常用的SUID提权命令有nmap、vim、find、bash、more、less、nano和cp等
先用find命令寻找具有SUID权限的文件
find / -user root -perm -4000 -print 2>/dev/null
/bin目录下包含了用户命令文件,也就是说find的命令匹配到的/bin目录里的命令大多都可以进行提权操作,在执行相关命令的同时拥有root权限
这边我们用find命令提权
先touch
任意一个文件
然后
find 任意已有文件名 -exec whoami ;
到这里提权完毕