前言
suid基本使用
Suid 是什么命令?
suid 是管理员用户(root)可以对命令文件进行赋权 让其在低权限用户下下也可以保持root权限的执行能力
我现在是管理员我 使用网站用户查找信息的时候总是被阻拦没权限
查找的内容不完整 这个使用我们给与 find suid权限
之后再执行
发现权限有了
sudo基本使用
sudo一般就是对不能执行的文件赋予权限让其能执行 但是缺点就是sudo 名字之后需要 输入密码
那如果web管理员对于这个高强度的密码不想输 想摸鱼 就会让他执行命令的时候不需要密码
配置 sudo权限文件
配置上我们的用户 调用su的时候就不需要密码
安全原因:就是root权限配置的命令文件可以衍生出其他的命令执行主要是反弹本命令所继承的root权限
linux : 查找命令 find awk cp
需要用户权限 权限不够的时候
需要赋予find 一个 sudo 或者 suid 命令去执行
find 这个命令也有参数 从而导致参数执行出其他的命令来
chmod u+s /bin/find
find / -name xiaodi -exec 'whoami'\;
靶场练习
DC: 1 ~ VulnHub
先配置网络
开启扫描这个网段
发现网站
一看是drupal 直接msf利用
拿到权限之后 先判断自己所处的位置 是webshell 需要拿到root 一个细节就是 sudo只能作用于 普通用户-》root 所以这边要使用 suid
手工测试:
两种表示方法
使用字符串表示:
find / -perm -u=s -type f 2>/dev/null
find / -perm -g=s -type f 2>/dev/null数字表示
find / -perm -4000 -ls 2>/dev/null4开头表示 -u=s解释 : -perm 是查找参数 -u=s 就是普通用户拥有 suid权限> :输出到
/dev/null 空的shell
这个命令要满足利用 :1、他是可以反弹shell给本机的 2、他是有高权限的
https://gtfobins.github.io/ 「提取命令的利用」(好用的命令利用网站 但是需要魔法去访问)
/usr/bin/find . -exec /bin/sh -p \; -quit
上边这个需要手动结束循坏 然后输入命令/usr/bin/find . -exec '/bin/sh' \
自动化项目 :
注意有个知识点就是有的 检测工具是py或者java写的 这些能不能启用主要看靶机内有没有这些环境
https://github.com/rebootuser/LinEnum
https://github.com/carlospolop/PEASS-ng
靶场2
guid命令进阶 sudo命令入门
环境:https://www.vulnhub.com/entry/toppo-1,245/
这个虚拟机的配置
这是因为他是一个磁盘 所以我们先新建一个虚拟机
然后一直点下一步到这个选磁盘 然后选上我们下载的磁盘
出现这个页面表示成功了
扫描网段发现主机
但是他的网页是什么信息也没有只能进行扫描
dirsearch -u http://192.168.248.138
没有dirsearch的可以apt-get install 下载
扫到一个/admin 直接访问
ted
12345ted123
但是这个网站没有后台所以我猜测是ssh连接 看一下他这个web是开放了这个协议的
sudo入门
发现是个普通用户 进行提权
然后使用网站
进行执行 发现报错了但是这个有个技巧就是 如果awk不需要密码就能执行那就不需要加sudo前缀
suid玩法
想到这个我们想到什么呀? 反弹shell啊
[~]#棱角 ::Edge.Forum*