今天我们来学习一下DC-6这个靶机!!!
1.实验环境
攻击机:kali2023.2
靶机:DC-6
2.1扫描网段
2.2扫描端口
这次是比较经典的一个22端口,一个80端口!!!首先我们应该想到 爆破 22端口,但是这边的话咱们先看一下对方的网页再说吧!!!
3.1查看对方的网页
发现看不了,然后跳转到一个 wordy 什么玩意儿,这个咱们之前遇到过 ,需要改一下 /etc/hosts 中的配置!!!
然后我们就能成功访问到了!!!
3.2发现用户登陆界面
3.3尝试扫描一下用户名有哪些
发现以下用户名,然后我这里首先想到的就是能不能爆破一下!!!
3.4尝试爆破
这里我一开始没有看提示,直接拿bp爆破的,速度特别慢,用了一天一夜都没爆完,后来我看玩提示发现他告诉我们该用哪个字典了!!!
然后咱们就是创建一个用户名文件,再把他告诉我们的那个字典拿过来,用wpscan爆破一下即可!!!
这里成功拿到一个账号密码,到这里真的很晕前面走错了方向,浪费了两天时间,而且这里吐槽一下 bp 爆破起来真的好慢,大家也很慢吗?还是我这里的设置有问题!!!
4.1登录寻找线索
这里我没发现什么可以利用的东西,然后搜了一下,大家看一下导航侧栏最下面那两个东西,那个是wp的插件,网上说这玩意儿的插件的漏洞贼多,于是我搜了一下!!!
4.2尝试搜索插件漏洞
我都试了一下,发现第三个是可以用的!!!
4.3利用漏洞获取shell
这个玩意儿的漏洞的用法是我也是大概搜了一下!!!
自己创建一个html文件,然后把这部分复制进去,然后把里面的一些参数改成自己的即可!!!
然后开启 kali 的阿帕奇服务,将这个文件上传上去,然后开启自己的监听端口,再执行以下这个html文件就可以反弹一个shell了!!!
5.1美化shell
5.2寻找线索
会发现 home 目录下的文件夹里有东西
这个东西我们执行不了,因为只有jens或者 devs组里里的人才可以执行!!!
然后我们继续找其他文件夹里看有没有什么东西,发现了另外一个账号密码!!!
5.3登录graham
登上来以后看一下它属于哪个组!!!
会发现他是这个组的,说明他可以执行刚刚那个文件!!!
5.4 sudo -l
sudo 后发现她虽然不能以 root 用户执行什么东西,但是却可以以jens身份执行那个文件,其实这里我跟没有想到要去 sudo 因为我觉得肯定不是拿这个用户来进行提权。这里的哈也是看到提示才用了一下这个命令!!!
大家以后每切换一个普通用户就去尝试执行一下这个命令,说不定会有意外收获呢!!!
5.5切换到 jens
然后思考了一下,他这里其实就是想让我们用一种新的方法来切换用户,以前我们都是这样直接切换到 root 用户,那我们现在用这个命令切换到另外一个普通用户他不是同一个道理吗?
我们知道那个可执行文件是一个 shell 脚本 ,那我们如果在里面追加一条打开shell的命令并执行,那么他不是就可以给我们得到一个命令执行者的shell了吗?
这样我们就拿到 jens 的shell 了,这个方法还是听巧妙的,比起我们以往直接通过账号密码来切换普通用户!!!
5.6准备提权
这个时候我们几乎已经把所有条件用完了,所以猜测是通过这个jens用户来提权!!!
果然是这样!!!
6.1namp提权
原理的话大家可以去搜一下,自己理解理解,我大概看了一下就是利用了 nmap 可以执行自己写的脚本的特性,本身这个特性是用来让大家 执行更加丰富的扫描指令的,但是如果咱们把脚本的内容改一下,改成提权的相关指令,然后我们现在又可以以root权限运行,那我们不是就能轻松拿到 root的shell了吗?
6.2 namp脚本编写
现在大家只要了解一下 nmap 的脚本怎么写即可!!!用的是一种叫做 lua 的语言写的!!!
nmap脚本的后缀是 .nes !!!
这个的意思就是写了一句话追加到 root.nse这个脚本中去,然后这句话的意思是在nmap脚本的规则下打开一个shell
6.3运行脚本提权
运行这个脚本就会发现为我们打开了一个 root 的shell 到这里就提权成功了!!!
7.1拿下 flag
8.1总结
做完感觉这个靶机还是很有意思的,并且它其实不难,但是这个思路真的很有意思。
首先他的关键点在于让我们通过wp插件的漏洞去拿到webshell
其次就是普通用户间的博弈,以往我们都是通过账号密码看来进行切换,而这次是通过sudo普通用户来切换
然后最后的提权还是用的sudo,确实也听巧妙的,这次我愿称之为将 sudo 进行到底!!!
~~~~~持续更新中