记一次用WPScan辅助渗透WordPress站点
2018-09-23 12:18
513 查看
记一次用WPScan辅助渗透WordPress站点
一、什么是WPScan?
WPScan是一个扫描
WordPress漏洞的黑盒子扫描器,它可以为所有
Web开发人员扫描
WordPress漏洞并在他们开发前找到并解决问题。我们还使用了
Nikto,它是一款非常棒的
Web服务器评估工具,我们认为这个工具应该成为所有针对
WordPress网站进行的渗透测试的一部分。
Wordpress作为三大建站模板之一,在全世界范围内有大量的用户,这也导致白帽子都会去跟踪
WordPress的安全漏洞,
Wordpress自诞生起也出现了很多漏洞。
Wordpress还可以使用插件、主题。于是
Wordpress本身很难挖掘什么安全问题的时候,安全研究者开始研究其插件、主题的漏洞。通过插件、主题的漏洞去渗透
Wordpress站点,于是
WPScan应运而生,收集
Wordpress的各种漏洞,形成一个
Wordpress专用扫描器。该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的
Wordpress站点暴力破解用户名密码。
WPScan已经被预安装在以下Linux系统中:
BackBox Linux
Kali Linux
Pentoo
SamuraiWTF
BlackArch
二、WPScan的安装和使用
由于Windows不支持
WPScan。最新版本的
WPScan可以在
Linux或
Mac上下载使用:
Debian/Ubuntu下安装:
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev git clone https://github.com/wpscanteam/wpscan.git cd wpscan sudo gem install bundler && bundle install --without test development
Fedora下安装:
sudo yum install gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel libcurl-devel git clone https://github.com/wpscanteam/wpscan.git cd wpscan sudo gem install bundler && bundle install --without test development
Archlinux下安装:
pacman -Syu ruby pacman -Syu libyaml git clone https://github.com/wpscanteam/wpscan.git cd wpscan sudo gem install bundler && bundle install --without test development gem install typhoeus gem install nokogiri
MAC OSX下安装:
git clone https://github.com/wpscanteam/wpscan.git cd wpscan sudo gem install bundler && bundle install --without test development
具体参考:https://wpscan.org/
常见参数选项:
--update 更新到最新版本 --url | -u <target url> 要扫描的WordPress站点. --force | -f 不检查网站运行的是不是WordPress --enumerate | -e [option(s)] 枚举.
Option:
u 枚举用户名,默认从1-10 u[10-20] 枚举用户名,配置从10-20 p 枚举插件 vp 只枚举有漏洞的插件 ap 枚举所有插件,时间较长 tt 列举缩略图相关的文件 t 枚举主题信息 vt 只枚举存在漏洞的主题 at 枚举所有主题,时间较长 可以指定多个扫描选项,例:"-e tt,p" 如果没有指定选项,默认选项为:"vt,tt,u,vp" --exclude-content-based "<regexp or string>" 当使用枚举选项时,可以使用该参数做一些过滤,基于正则或者字符串,可以不写正则分隔符,但要用单引号或双引号包裹 --config-file | -c <config file> 使用指定的配置文件 --user-agent | -a <User-Agent> 指定User-Agent --cookie <String> 指定cookie --random-agent | -r 使用随机User-Agent --follow-redirection 如果目标包含一个重定向,则直接跟随跳转 --batch 无需用户交互,都使用默认行为 --no-color 不要采用彩色输出 --wp-content-dir <wp content dir> WPScan会去发现wp-content目录,用户可手动指定 --wp-plugins-dir <wp plugins dir> 指定wp插件目录,默认是wp-content/plugins --proxy <[protocol://]host:port> 设置一个代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未设置默认是HTTP协议 --proxy-auth <username:password> 设置代理登陆信息 --basic-auth <username:password> 设置基础认证信息 --wordlist | -w <wordlist> 指定密码字典 --username | -U <username> 指定爆破的用户名 --usernames <path-to-file> 指定爆破用户名字典 --threads | -t <number of threads> 指定多线程 --cache-ttl <cache-ttl> 设置 cache TTL. --request-timeout <request-timeout> 请求超时时间 --connect-timeout <connect-timeout> 连接超时时间 --max-threads <max-threads> 最大线程数 --throttle <milliseconds> 当线程数设置为1时,设置两个请求之间的间隔 --help | -h 输出帮助信息 --verbose | -v 输出Verbose --version 输出当前版本
三、WPScan的辅助渗透WordPress站点演示
环境准备
Kali LinuxWPScan工具(Kali Linux里面已经预装好了)
CentOS 7
WordPress环境(预先在CentOS 7里面搭建好了环境)
渗透过程
1、更新漏洞数据库在使用WPScan之前,先更新它的漏洞数据库:
wpscan --update
我们直接查看下当前版本:
2、扫描WordPress漏洞
接下来使用下面的命令来扫描可能存在的漏洞网站:
wpscan ––url [wordpress url]
这里我直接用我自己的站点为例子进行演示
wpscan --url http://angelkitty.xin/[/code] 效果如下:
3、扫描wordpress用户
我们可以对其用户进行枚举:wpscan ––url [wordpress url] –-enumerate u
4、暴力破解wpscan ––url [wordpress url] ––wordlist [path to wordlist] ––username [username to brute force] ––threads [number of threads to use]
既然当前有两个用户angel_kitty和test,我们直接把两个均枚举出来wpscan -u 119.23.243.4 -e u --wordlist /root/桌面/password.txt
这里我也有个问题一直没解决,就是用url去指定域名和用username去指定用户均不太好使,直接就302调整爆出了password,连字典都没去查,也不知道咋回事,查了wpscan的Issue,可能是wpscan升级了以后,新版本和老版本命令上有所差异,具体以后分析一下wpscan的源码,所以演示出这个效果弄了整整一天。
演示效果如下:视频演示
也欢迎大家关注我的bilibili账号:Angel_Kitty,不定期发送一些演示视频教程四、WordPress的防护措施
如果你想要避免WordPress用户列表被列举,不要把用户名作为昵称,并且不要使用已经被大众知道的用户名。最好的方式是选择一个包含随机字符的名字做用户名并且使用其他名字作为昵称。WPScan扫描URL来获取用户名,所以如果你不使用这个用户名,你肯定不会被WPScan搜索到。
防止暴力破解的最好方式是限制一个IP地址的尝试登录次数。WordPress有很多插件可以实现这个功能。我使用的一个插件叫:Brute Force Login Protection。
相关文章推荐
- kali linux wpscan wordpress
- 一次真实的入侵-------记对一足球推荐站点的渗透
- 记一次完美的PHP+MYSQL+LINUX 站点 渗透 总结!
- 利用Wamp在本地搭建一个wordpress站点
- 重构一次后的EasyJWeb Tools辅助代码生成引擎功能及源码
- 辅助模块应用(auxiliary/scanner/portscan/tcp)
- 用于wordpress站点的nginx服务器配置(PHP)
- 重构一次后的EasyJWeb Tools辅助代码生成引擎功能及源码
- 记一次网站渗透乌龙引发的头脑风暴
- 再Docker中架设完整的WordPress站点全攻略
- 一次渗透测试过程--从外网进内网(原创)
- wordpress站点更换域名后的301重定向处理方案
- 记一次IIS站点出错的解决过程
- 黄聪:WordPress 多站点建站教程(一):怎样开启WordPress多站点功能,实现手机移动端主题开发,与主站用户数据共享
- 一次域渗透尝试
- 提升WordPress站点速度的八个建议
- 安装配置WordPress 3.0的多站点功能
- Kali Linux WPScan更新到2.9.3
- 对WordPress网站进行渗透测试 – 详解
- 小计一次linux下渗透方法