记一次用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

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

2、扫描WordPress漏洞

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

wpscan ––url [wordpress url]

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

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

效果如下:

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_kittytest ,我们直接把两个均枚举出来

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

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

演示效果如下:

视频演示

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

四、WordPress的防护措施

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学学习手札

(数据科学学习手札50)基于Python的网络数据采集-selenium篇(上)

  接着几个月之前的(数据科学学习手札31)基于Python的网络数据采集(初级篇),在那篇文章中,我们介绍了关于网络爬虫的基础知识(基本的请求库,基本的解析库...

17840
来自专栏web编程技术分享

用eclipse开发项目时遇到的常见错误,和配套解决方案(不定时更新)

30070
来自专栏程序员的诗和远方

使用compass自动拼css sprite

css sprite (css 雪碧)又叫css精灵,是一种图片拼合技术。多用在图标上,把几个图标拼成一个图片,页面加载的时候只需要load拼好的图片,然后使用...

28140
来自专栏Android开发指南

eclipse使用和快捷键

44090
来自专栏葡萄城控件技术团队

SoapUI实践:自动化测试、压力测试、持续集成

17020
来自专栏地方网络工作室的专栏

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(十四)在项目中使用 jQuery

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(十四)在项目中使用 jQuery 前情回顾 在上一篇博文中,我们讲到了,...

21470
来自专栏前端

前后端分离ueditor富文本编辑器的使用-Java版本

最近在写一个自己的后台管理系统(主要是写着玩的,用来熟悉后端java的知识,目前只是会简单的写点接口),想在项目中编写一个发布新闻文章的功能,想到了使用百度的u...

1.7K100
来自专栏张戈的专栏

解决WordPress升级4.2后调用国外图片导致大量404请求的问题

前几天就收到 WordPress 官方发来的预更新通知,告诉我本周会更新到 4.2。果然,昨天就收到了更新推送消息,随手就点击升级了,前台打开看了下没有看到明显...

375100
来自专栏程序员的SOD蜜

Vue.js 入门指南之“前传”(含sublime text 3 配置) 1,下载安装Node.js2,配置Vue环境3,Vue初探4,配置sublime Text

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指...

40890
来自专栏软件测试经验与教训

XSS漏洞总结

同源策略 影响源的因素:host,子域名,端口,协议 a.com通过以下代码:

69730

扫码关注云+社区

领取腾讯云代金券