vulnhub靶机pWnOs

文章介绍了通过端口扫描发现Webmin服务,并利用其文件读取漏洞和PerlCGI执行权限,创建反弹shell以提升权限的过程。提到了nmap的漏洞扫描功能,以及在权限分析和密码破解中的应用。在未注意到Webmin以root权限运行的情况下,作者未能完成提权,但认识到这是一个关键点。文章强调了了解软件权限和Linux运行环境的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

端口扫描

这里经验判断可以猜测10000端口是webmin,可以用web页面来管理服务器,并且能执行系统命令,有密码可以进去直接写反弹shell。

这里学习到了一个点,webmin是一个perl语言写的框架,并且perl语言的执行文件后缀是cgi

详细信息扫描

 这里也可以看到10000就是webmin

漏洞发现

这里利用nmap自带vuln脚本可以进行简单的漏扫,可以看到在webmin这里扫到一个漏洞

 是一个文件读取漏洞,具体信息看第一个链接,部分代码如下。

$z = "/..%01";
for ($i=0;$i<60;$i++) {
        $z.="/..%01";
}

$target = $http."://".$host.":".$port."/unauthenticated".$z."/".$file."";

可以看到这里是请求/unauthenticated这个目录,然后以/..%01/..%01/的形式去绕过../

漏洞利用

 

 可以看到存在包含漏洞,且我们的权限很高,可以读取shadow文件

这里我没有留意,属于是长记性。一般网站权限以apache为例,运行时多以www-data这个用户来执行系统命令,对于这个网站用户来说权限不算特别高。而我们能读取shadow这个文件说明了用户的权限是非常高的,且很有可能是root。以后做题时候要注意。

unshadow二和一以后john去爆破

可以得到一组密码 /vmware/h4ckm3

提权

这里ssh链接要指定参数-oHostKeyAlgorithms=ssh-rsa,ssh-dss

进入内网后照常三步走,suid,uname,/home都没有找到明显可利用点。那么就尝试去找数据库文件。我的思路到这里就断了。

就像前文提到的,我没有注意webmin是root目录,于是去看了别人的wp

 

那么到这里我们起始就可以建立一个思路了

既然webmin是root权限运行,那么我们如果能在webmin下触发一个反弹shell就可以得到root权限,而webmin是有文件包含漏洞的,我们这边也有一个系统权限,可以得到全部的系统路径。所以我们的思路就是在系统可写的地方写一个反弹shell,然后利用webmin去包含这个文件来出发反弹shell。

 此外还提到了,webmin是一个perl语言编写的架构,perl语言的执行文件是cgi。那么我们就可以在可写处添加一个cgi的反弹shell,然后回到webmin去包含这个文件。

这里可以用kali自带的webshell,在/usr/share/webshell/perl下

 这里选第二个即可,然后将后缀改为cgi,放到可以写的目录。

去webmin包含

 

 这里注意修改脚本的ip,默认是127.0.0.1

总结

本次靶机整体难度算简单,但是对于webmin这个组件不熟悉,且对于网站运行权限不敏感导致导致最后没有做出来。今天回去以后学习一下webmin这个组件,并补充一些linux运行权限的知识。

其他漏洞

这里在访问index1这个文件这里可以看到爆出了php include错误,这个是因为php配置中打开了dispaly_error,这个选项在开发调试中可以很好的帮助我们发现错误,但是在项目上线后如果没有及时关闭那么就可能出现敏感信息泄露。

这里在connec这个参数处存在文件包含,不过我比较纳闷为啥www也是root所有者,但是读不了shadow呢?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值