记一次用WPScan辅助渗透WordPress站点

简介: 记一次用WPScan辅助渗透WordPress站点

记一次用WPScan辅助渗透WordPress站点

一、什么是WPScan?

WPScan 是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto ,它是一款非常棒的 Web 服务器评估工具,我们认为这个工具应该成为所有针对 WordPress网站进行的渗透测试的一部分。 Wordpress 作为三大建站模板之一,在全世界范围内有大量的用户,这也导致白帽子都会去跟踪 WordPress 的安全漏洞,Wordpress 自诞生起也出现了很多漏洞。 Wordpress 还可以使用插件、主题。于是 Wordpress 本身很难挖掘什么安全问题的时候,安全研究者开始研究其插件、主题的漏洞。通过插件、主题的漏洞去渗透Wordpress 站点,于是 WPScan应运而生,收集 Wordpress 的各种漏洞,形成一个 Wordpress 专用扫描器。该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的 Wordpress 站点暴力破解用户名密码。

WPScan已经被预安装在以下Linux系统中:

二、WPScan的安装和使用

由于 Windows 不支持 WPScan 。最新版本的 WPScan 可以在 LinuxMac 上下载使用:

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 Linux
  • WPScan工具(Kali Linux里面已经预装好了)
  • CentOS 7
  • WordPress环境(预先在CentOS 7里面搭建好了环境)

渗透过程

1、更新漏洞数据库

在使用WPScan之前,先更新它的漏洞数据库:

wpscan --update


img_62a8e1f787afa05c2c313640bc9ce5c8.png


我们直接查看下当前版本:


img_f3f77578cb58fcc23a08f3db386d302c.png


2、扫描WordPress漏洞

接下来使用下面的命令来扫描可能存在的漏洞网站:

wpscan ––url [wordpress url]

这里我直接用我自己的站点为例子进行演示

wpscan --url http://angelkitty.xin/

效果如下:


img_cf4071c83b438fb93c85fd41777d6d3e.png

3、扫描wordpress用户

我们可以对其用户进行枚举:

wpscan ––url [wordpress url] –-enumerate u


img_bec52b11a67f4a74ed8c557abaf40145.png


4、暴力破解
wpscan ––url [wordpress url] ––wordlist [path to wordlist] ––username [username to brute force] ––threads [number of threads to use]

既然当前有两个用户 angel_kittytest ,我们直接把两个均枚举出来

wpscan -u 119.23.243.4 -e u --wordlist /root/桌面/password.txt

这里我也有个问题一直没解决,就是用 url 去指定域名和用 username 去指定用户均不太好使,直接就 302 调整爆出了 password ,连字典都没去查,也不知道咋回事,查了 wpscanIssue ,可能是 wpscan 升级了以后,新版本和老版本命令上有所差异,具体以后分析一下 wpscan 的源码,所以演示出这个效果弄了整整一天。

img_7e085115fa528c11f4d5d286bc6ac290.png

演示效果如下:

img_6ea87d305fc5776f9d85684eeb4ec712.png


视频演示


也欢迎大家关注我的bilibili账号:Angel_Kitty,不定期发送一些演示视频教程


四、WordPress的防护措施


如果你想要避免WordPress用户列表被列举,不要把用户名作为昵称,并且不要使用已经被大众知道的用户名。最好的方式是选择一个包含随机字符的名字做用户名并且使用其他名字作为昵称。 WPScan 扫描 URL 来获取用户名,所以如果你不使用这个用户名,你肯定不会被 WPScan 搜索到。


防止暴力破解的最好方式是限制一个 IP 地址的尝试登录次数。 WordPress 有很多插件可以实现这个功能。我使用的一个插件叫: Brute Force Login Protection

目录
相关文章
|
5月前
|
PHP
Wordpress 站点健康-缺少一个或多个推荐的模组
Wordpress 站点健康-缺少一个或多个推荐的模组
|
Kubernetes 数据可视化 数据库
docker搭建图形化界面portainer1.24.2,快速搭建wordpress5.7.2站点
docker搭建图形化界面portainer1.24.2,快速搭建wordpress5.7.2站点
359 0
docker搭建图形化界面portainer1.24.2,快速搭建wordpress5.7.2站点
|
数据安全/隐私保护
WebIDC搭建WordPress站点
WebIDC搭建WordPress站点
110 1
WebIDC搭建WordPress站点
|
应用服务中间件 数据库 数据安全/隐私保护
10分钟搭建Wordpress博客站点
10分钟搭建Wordpress博客站点
133 1
10分钟搭建Wordpress博客站点
使用CSDN云服务搭建一个WordPress 个人站点(视频教程)
目录 前言 视频教程 文字版教程 云主机体验地址 官方文档 前言 六一儿童节体验了一下CSDN云主机相关的服务,感觉最近官方最近变化很大,业务范围很广,这里简单体验了一下云主机,给大家分享一点心得,希望对大家有所启发。文章是6月1号写的,这里做一个整理。 视频教程 文字版教程
134 0
使用CSDN云服务搭建一个WordPress 个人站点(视频教程)
|
弹性计算 关系型数据库 MySQL
CDN
|
缓存 网络协议 前端开发
全面加速Wordpress站点:从文章页到管理后台
使用阿里云服务和几个插件,提高wordpress站点每个环节的访问速度。
CDN
924 0
全面加速Wordpress站点:从文章页到管理后台
|
数据库
wordpress修改后台站点地址后无法打开的解决办法
wordpress修改后台站点地址后无法打开的解决办法
171 0
wordpress修改后台站点地址后无法打开的解决办法
|
小程序 Linux Windows
Wordpress建站笔记2—站点的基本准备
基于wordpress搭建站点的基础准备工作列举和样例操作方法
125 0
|
5月前
|
安全
SiteGround如何设置WordPress网站自动更新
iteGround Autoupdate功能会自动帮我们更新在他们这里托管的所有WordPress网站,这样做是为了保证网站安全,并且让它们一直保持最新状态。他们会根据我们选择的设置自动更新不同版本的WordPress,包括主要版本和次要版本。在每次自动更新之前,他们都会为我们的网站做一个完整的备份,这样如果有什么问题,我们可以轻松地恢复到之前的状态。在本文中,我们将介绍如何在SiteGround中设置WordPress网站自动更新。
533 0
SiteGround如何设置WordPress网站自动更新