Vulnhub靶机
Vulnhub靶机下载:/
官网地址:https://download.vulnhub.com/dc/DC-2.zip
Vulnhub靶机安装:
下载好了把安装包解压 然后使用VMware 打开即可。
DC-2:找到 5 个 flag
环境准备
攻击机:kali
靶机:DC-2
同一网卡
DC-2 靶机渗透
信息收集
kali里使用netdiscover发现主机(快一点)
netdiscover -i eth0 -r 192.168.0.0/24
当然也可以用 nmap探测整个虚拟机网段存活主机,发现靶机ip:
nmap -sP -PI -PT 192.168.0.1/24
确认ip后,可以探测一下开放的端口信息及服务(注意这个靶场要全端口探测不然会漏掉 ssh-7744,后面会用到):
nmap -sCV 192.168.0.131 -p-
发现开了一个 80 和 7744 的 ssh 服务,并提示无法重定向到http://dc-2/,浏览器访问一下
这里需要在 hosts 文件绑定一下域名
kali 里在/etc/hosts
windows 在C:\Windows\System32\drivers\etc
重新访问http://dc-2/
发现为为 wordpress4.7.10,网站下有个 flag 栏,点击查看
发现第一个 flag1
你通常的 wordlists 可能不起作用,所以,也许你只需要使用 cewl 。
密码越多越好,但有时你就是无法赢得所有的密码。
以一个人的身份登录以查看下一个标志
如果找不到,请以另一个用户登录。
cewl 是一个字典生成工具使用参考https://www.codercto.com/a/44828.html
暴力破解
这里先使用wpscan 扫描一下wordpress的账户或漏洞,kali 自带有
wpscan --url dc-2 -e
注:kali 使用 wpscan 更新 一般会报错
Scan Aborted: Unable to get https://data.wpscan.org/metadata.json.sha512 (Couldn’t resolve host name)
参考https://blog.csdn.net/weixin_41705627/article/details/107296312解决
可以直接尝试替换 kali 下载源为阿里云,update 一下
发现三个用户名 :admin tom jerry
利用使用 wpscan(或hydra) 及cewl爬取的密码字典及自己的用户名字典进行暴力破解
先利用 cewl 爬取网站生成一个密码字典,写入 dc2.txt,并三个用户名保存为 user.txt
cewl -w dc2.txt -d 5 -m 4 http://dc-2
#d代表爬取深度
利用 wpscan 爆破账号密码
wpscan --url dc-2 -U ./user.txt -P ./dc2.txt
[SUCCESS] - jerry / adipiscing
[SUCCESS] - tom / parturient
竟然知道了用户密码,尝试登录后台
登录后台
利用目录扫描工具发现其后台登录地址
dirsearch -u http://dc-2/
发现其后台地址http://dc-2/wp-login.php
在 jerry 用户下发现 flag2 提示
如果你不能利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个入口。
rbash 逃逸
tom账户 发现并没有什么可用的信息,根据提示,尝试前面端口扫描发现的 ssh,利用这两个账号尝试登录 jerry 没成功
tom 成功进入 shell
但是发现好多命令都不能执行,ls 可以,有个 flag3.txt 却读取不了 emmm
查看一下环境变量
ls usr/bin 查看个执行哪些命令
发现 vi 可以执行,利用 vi 查看 flag3.txt
可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力而死。
根据提示尝试切换 jerry 用户试试
命令还是不能执行,竟然这个环境变量不行,那换一种呢
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
也不行,想着 vi 可以用,那看看能不能利用 vi 提权https://gtfobins.github.io/
尝试一下,随便编辑一个文件
#按esc键后输入,然后回车
:set shell =/bin/sh
#再按esc键后输入,然后回车
:shell
命令仍不能执行,在这里卡住了,后来百度发现 vi 建立的 shell 可以编辑环境变量,那么再次尝试修改环境变量
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
发现成功
GIT 提权
根据上个 flag 提示切换 jerry 用户进行提权
切换后发现 jerry 也只是个普通权限,回到 jerry 根目录发现 flag4
很高兴看到你已经走了这么远——但你还没有到家。
你仍然需要获得最终的旗帜(唯一真正重要的旗帜!!)
这里没有提示——你现在要靠自己了。:-)
走吧,git 离开这里!!!
这里提示需要利用 git,输入命令,发现 git 存在
gtfobins 上搜索 git 提权方式
sudo git -p help config
#执行第一条命令后输入
!/bin/sh
成功提权到 root 用户
获取 flag
靶场总结
- wpscan工具使用(wordpress 靶场以及实际中非常常见)
- rbash 逃逸并提权(vi 进入 /bin/sh, 更改环境变量)
- 学会 git 提权