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

记一次用WPScan辅助渗透WordPress站点的更多相关文章

  1. WPScan使用完整攻略:如何对WordPress站点进行安全测试

    转载自FreeBuf.COM 严正声明:本文仅限于技术探讨,严禁用于其他目的. 写在前面的话 在这篇文章中,我将告诉大家如何使用WPScan来对WordPress站点进行安全测试. WPScan是Ka ...

  2. 针对WordPress站点思路

    一.使用WPscan 1).简介 WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题.我们还使用了 ...

  3. 写一个php小脚本辅助渗透测试

    因为一个注入要爬行一些数据,然后写的一个小脚本,能写脚本来辅助渗透,也算是里程碑.哈哈哈 <?php $num = 1; while ($num <= 39) { $web_url = & ...

  4. 使用WPScan破解wordpress站点密码

    我这里使用的Kali Linux,它默认安装了WPScan. 在使用WPScan之前,先更新它的漏洞数据库: # wpscan –update 扫描wordpress用户 wpscan -–url [ ...

  5. 记一次织梦cms渗透测试

    记一次织梦cms渗透测试 0x01 前言 本次测试的整个流程:枚举用户名-针对性暴破-登录后台-后台编辑php文件getshell. 0x02 过程 1.登录功能模块存在用户名枚举缺陷,利用此权限先枚 ...

  6. Ubuntu下搭建本地WordPress站点

    想在本地搭建WordPress博客站点作测试用?本教程一步一步教您在Linux上搭建一个LAMP(Linux, Apache, MySQL, PHP)服务器并部署WordPress博客. 请注意在复制 ...

  7. 过程记录:搭建wordpress站点

    过程记录:搭建wordpress站点 前提:现在aws中搭建好LNAMP环境和网络mysql数据库,即为下载的wdcp和aws的rds 1.获取WordPress安装包(中文版) https://cn ...

  8. SEO优化:WordPress站点地图(html和xml)插件Baidu Sitemap Generator

    前阵子分享了<如何实现纯代码制作网站地图的html和xml版本>,不过不是每个人都喜欢用纯代码来折腾博客的.今天,boke112就给大家分享一款国人柳城制作的包含html和xml两个版本的 ...

  9. 利用Wamp在本地搭建一个wordpress站点

    原文链接:利用Wamp在本地搭建一个wordpress站点 有时候我们会想搭建一个自己的站点,可是由于只是想自己访问,就不是很想为这个站点在买一个服务器和域名,那我们可能首先就想到把自己电脑当做服务器 ...

随机推荐

  1. Spark ML逻辑回归

    import org.apache.log4j.{Level, Logger} import org.apache.spark.ml.classification.LogisticRegression ...

  2. Ant使用及项目实践

    1.简介 Ant 是一个 Apache 基金会下的跨平台的基于 Java 语言开发的构件工具.这是一个基于开放的操作系统构建和部署的工具,该工具需要从命令行执行. 2.特点 Ant 是基于 Java ...

  3. charles系列破解激活办法(最高charles4.2都可以激活)

    // Charles Proxy License // 适用于Charles任意版本的注册码,谁还会想要使用破解版呢. // Charles 4.2目前是最新版,可用.   Registered Na ...

  4. 记一次ubuntuyu源码安装node.js

    1.官网下载源码 2.下载后解压,在终端打开,并进入文件夹 3../configure 这一步可谓是一波三折,先是没有Python 安装Python 又说没有G++,安装G++后终于成功执行./con ...

  5. 3.2Python数据处理篇之Numpy系列(二)--- ndarray数组的创建与变换

    目录 (一)ndarray数组的创建 1.从列表以元组中创建: 2.使用函数创建: (二)ndarray数组的变换 1.维度的变换: 2.类型的变换: 目录: 1.ndarray数组的创建 2.nda ...

  6. 4、爬虫之mongodb

    mongodb 简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品 ...

  7. CPU的内部架构和工作原理-原文

    CPU从逻辑上可以划分成3个模块,分别是.和,这三部分由CPU内部总线连接起来.如下所示: 控制单元:控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register). ...

  8. session、cookie 记住登录状态的实现

    Cookie的机制 Cookie是浏览器(User Agent)访问一些网站后,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能. Cookie的Domain和Path属性标识 ...

  9. pek (北大oj)3070

    思路:矩阵快速幂, 二分加速 #include<cstdio> #include<cstring> #define ll long long #define mod 10000 ...

  10. 【转】BAT批处理中的字符串处理详解(字符串截取)

    下面对这些功能一一进行讲解. 1.截取字符串 截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符.举例说明其基本功能: @echo off set ...