打靶日记——pWnOS1

2025-04-15 1 0

前期信息收集

首先进行主机发现,如果扫不到靶机可以把自己的IP网段改到 10.10.10.0/24 因为PWnOS靶机好像是静态的IP

打靶日记——pWnOS1插图

对靶机进行端口扫描,找到了 22 80 139 445 10000 这几个端口

打靶日记——pWnOS1插图1

再对端口对应的服务进行更详细的扫描,在用nmap自带的漏洞脚本进行漏洞扫描时发现了10000端口存在可利用漏洞(甚至CVE编号都给出来了)

打靶日记——pWnOS1插图2

打靶日记——pWnOS1插图3

web渗透

由于刚刚在扫描的时候发现了10000端口有漏洞所以我们先去看看10000端口是什么和这个漏洞该怎么用,打开10000端口发现是一个登录页面

打靶日记——pWnOS1插图4

然后再去搜一下CVE-2006-3392是什么东西,发现是webmin的任意文件读取漏洞,而且在exploit上面好像有现成的利用脚本

打靶日记——pWnOS1插图5

于是我们直接到kali去找漏洞的利用脚本,发现有两个脚本可以对任意文件读取漏洞进行利用

打靶日记——pWnOS1插图6

下载熟悉一点的php脚本进行使用,发现还要加参数

打靶日记——pWnOS1插图7

加参数后运行还是失败了,用ai解析了一下报错发现是少了一个php的扩展

打靶日记——pWnOS1插图8

打靶日记——pWnOS1插图9

安装后使用,成功读取目标文件

打靶日记——pWnOS1插图10

尝试能不能进一步读取shadow文件,结果成功读取shadow文件,到此我们可知用脚本进行文件读取时的权限很可能是root权限

打靶日记——pWnOS1插图11

按说这里直接把得到的密码拿去John里面破解就行了但是真的太慢了(而且确实好像也没爆破出来),既费时间又费电脑于是这里决定使用红队笔记大佬的方法去做, 「红队笔记」靶机精讲:pWnOS1.0 - 选择hard模式再次用完全不同的方法实现这台靶机的渗透测试。_哔哩哔哩_bilibili

打靶日记——pWnOS1插图12

因为我们前面可以实现真正意义上的任意文件读取还拿到了靶机上的用户的用户名而且靶机又开启了 ssh 服务而且版本为 4.6p1 有秘钥的脆弱性漏洞,那我们就可以尝试读取靶机上用户的ssh免密登录文件拿到公钥(路径一般不会被更改 /home/用户名/.ssh/authorized_keys),如果有的话就可以去进行秘钥碰撞去得到私钥,用户一共有四个可以进行尝试

打靶日记——pWnOS1插图13

首先尝试第一个用户的,成功得到用户的公钥

打靶日记——pWnOS1插图14

然后去找一个私钥库进行碰撞,这里用到的是 PRNG 伪随机数生成,PRNG的随机数生成并不是真正意义上的随机数而是基于种子生成,由于这样的生成方法使得伪随机数生成的速度快和可重现性高,而在kali里的Exploit-DB中就有多种生成方法与现成的私钥库,这里使用倒数第三个(5622.txt)专门针对 ssh 的 PRNG 利用方法

打靶日记——pWnOS1插图15

下载下来后先让我们去下载对应的公私钥库

打靶日记——pWnOS1插图16

下载并解压后来到目录中先复制我们得到的公钥的前几十位(最好多一点),然后去存放秘钥对的目录下搜索

打靶日记——pWnOS1插图17

找到对应的公钥文件打开查看发现与我们得到的公钥相同

打靶日记——pWnOS1插图18

而这个公钥对应的私钥就是把后缀名去掉的文件,就此我们找到了 vmware 用户的 ssh 私钥

打靶日记——pWnOS1插图19

然后就是用得到的私钥进行ssh登录,发现还是找我们要密码

打靶日记——pWnOS1插图20

在大佬的解释下知道了是因为公钥类型接受没统一的问题,所以给一个公钥接受类型的参数,成功得到vmware用户的shell

打靶日记——pWnOS1插图21

PS:这种方法只能用在特定的openssh的特定用户上并不是说没次都能这样用,这里也只是展示此方法的使用方法与思路

提权1

由于前面我们的文件包含利用文件是用root权限去进行文件读取的所以我们可以用 vmware 账户写一个 shell 然后文件包含直接得到 root 权限,因为 webmin 是用Perl 语言写的一套系统所以我们要搞一个 Perl 的shell,这里因为我不会 Perl 语音所以给出两种方法(会的可以自己写),第一种是用 msfvenom 生成一个 perl 的shell

打靶日记——pWnOS1插图22

第二种是用kali自带的 perl 的 shell

打靶日记——pWnOS1插图23

我直接用的是kali自带的shell(记得改ip和监听端口然后把后缀改成可执行的cgi文件),先在本机上开一个服务器(php的python的perl的都行)

打靶日记——pWnOS1插图24

然后在靶机 wget 去下载目标文件(记得下到一个有执行权限的目录下然后给下好的文件执行的权限)

打靶日记——pWnOS1插图25

开启监听端口后包含文件得到root权限的shell

打靶日记——pWnOS1插图26

打靶日记——pWnOS1插图27

提权2

由于扫描时看到软件的版本都比较老所以想到可能 bash 的版本 <= 4.1,结果看到bash的版本确实 < 4.1,所以可以使用 bashshock 进行提权

打靶日记——pWnOS1插图28

这里用固定的语句去检查是不是存在 bashshock 漏洞,通过检测语句发现存在 bashshock 漏洞

打靶日记——pWnOS1插图29

打靶日记——pWnOS1插图30

在进行网络利用时我们要在靶机上写一个文件用来启动子进程(开一个新的 bash 环境)

打靶日记——pWnOS1插图31

然后我们要用刚刚的文件包含漏洞去实现执行并为我们当前的用户给上 sudo 的所有权限,一般是在数据包的包头写入利用语句,但是我们刚刚是直接用的脚本,所以这里我们需要去看看刚刚的利用脚本是怎么实现的,读代码后发现是在http://靶机IP:服务端口/unauthenticated与读取文件的路径之间加了大量的/..%01来达到任意文件读取的(原理我也没看可以百度一下)打靶日记——pWnOS1插图32

所以在搞清楚逻辑后我们也可以有样学样的来对这个漏洞进行利用在http://10.10.10.129:10000//unauthenticated 后面加大量的 /..%01 来进行利用,这里并不用加脚本上的那么多加个十几个基本上就行了,发现可以成功利用漏洞

打靶日记——pWnOS1插图33

然后就是包含我们刚刚·写的文件然后在数据包包头上加上我们的 payload 就行了,这里可以用 burp 想装一下高手的(比如我)也可以用 curl 命令进行执行

curl http://10.10.10.129:10000/unauthenticated/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/home/vmware/a.cgi -A '() { :; }; /bin/echo "vmware ALL=(ALL)NOPASSWD:ALL" >> /etc/sudoers' 
这里写入/etc/sudoers里面的是vmwareALL=(ALL)NOPASSWD:ALL不用ALL=(ALL):ALL的原因是我们没有 Vmware用户的密码如果用ALL=(ALL):ALL那么一会用sudo的时候还要输入密码

打靶日记——pWnOS1插图34

执行后在vmware用户的界面查看语句是否执行成功,发现成功提权并获得root权限

打靶日记——pWnOS1插图35

提权3

前面的两种提权都是建立在文件包含可以执行包含出来的文件,如果不能执行那么我们则要换一种提权方式,由于系统较为老旧我们这里可以看看能不能使用内核提权发现内核版本为2.6.22(十几年前的老东西)应该可以进行内核提权

打靶日记——pWnOS1插图36

根据大佬讲的进行内核提权的时候要多试而且搜索脚本的时候不要搜的太准确如2.6.22搜2.6.2就差不多了。然后要多试几个相近的不成功也不彻底排除等试过几个后还可以再次尝试没有成功的脚本,这里我就不一个个试了直接用 linux/local/5092.c 这个脚本进行提权,用和前面上传 shell 一样的方式上传脚本,编译后直接使用,提权成功

打靶日记——pWnOS1插图37


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

【内网渗透基础(一)】信息收集
微软警告:Windows Server 2025 重启可能导致部分域控制器连接中断
常用组件hutool的潜在Gadget分析
谷歌Chrome 136将修复存在20年的已访问链接隐私漏洞
2025年CISO应对勒索软件威胁指南
爬虫自动化之定制浏览器随机指纹

发布评论