一、WPScan是什么
WordPress Security Scanner by the WPScan Team
它是一款针对WordPress的安全扫描器,由WPScan团队开发并维护。
二、WPScan能做什么
其基本功能大致有以下几点:
-
检查WordPress版本
-
枚举已安装插件、以及详细信息
-
枚举已安装主题、以及详细信息
-
枚举用户名
-
依赖 wpvulndb.com 提供的数据,枚举已知漏洞
-
暴力破解用户密码
三、WPScan怎么用
一般情况下,对自己的网站进行安全性测试,做下述几件事:
- 枚举带漏洞的插件
- 枚举带漏洞的主题
- 枚举用户,并进行暴力破解
前两项是防止插件和主题为站点引入漏洞,第三项是为了防止弱口令攻击。
3.1 获取站点基本信息
我们可以直接使用 --url
参数指定目标站点,如下:
wpscan --url http://www.xxx.com
此时,WPScan会输出一些我们“感兴趣”的信息:
- 从HTTP Headers里提取的信息(一般是服务器信息,如nginx、apache等)
- XML-RPC的启动情况
- readme文件
- WP-Cron定时任务的启动情况
- WordPress版本
- 当前应用的主题及其版本
- 易被攻击的插件
- 易被攻击的主题
3.2 枚举站点所有主题和插件
使用 -e
参数指定 ap
和 at
wpscan --url http://www.xxx.com -e ap,at
此时,WPScan的结果中,将包含所有的插件和主题信息。
3.3 枚举站点用户名
使用 -e
参数指定 u
wpscan --url http://www.xxx.com -e u
这样,WPScan的结果中,将包含前十个用户的用户名。
如需更多的枚举,则可以修改命令为:
wpscan --url http://www.xxx.com -e u1-20
此时,将枚举20个用户名。
3.4 针对用户暴力破解其密码
使用 -e
参数指定 u
,并配合 -P
参数指定密码字典
wpscan --url http://www.xxx.com -e u -P wordlist.txt
此时,WPScan将对枚举出的用户使用 wordlist.txt
文件中指定的密码进行暴力破解。如果破解成功,则会在结果中输出,如下:
......
[+] Performing password attack on Xmlrpc against 56 user/s
[SUCCESS] - aaa / 12345678
[SUCCESS] - bbb / 12345678
[SUCCESS] - ccc / 123456789
......
这就是分别破解出了用户 “aaa”、“bbb”、“ccc” 三人的密码。
至于密码字典怎么来的,可以直接百度找“弱口令top1000”之类的东西,这个比较容易获得。
四、提升站点安全性
我们可以使用WPScan发现我们WordPress网站的弱点,并针对性加以修复:
- 定期更新WordPress以及其中的插件和主题
- 卸载易受攻击的插件和主题
- 卸载不使用的插件
- 提醒或者强制用户使用强密码
五、WPScan帮助文档
设置代理、自定义数据集等功能,WPScan也是支持的。请自行参阅WPScan的帮助文档