怎样用 WPScan,Nmap 和 Nikto 扫描和检查一个 WordPress 站点的安全性

介绍

数百万个网站用着 WordPress ,这当然是有原因的。WordPress
是众多内容管理系统中对开发者最友好的,本质上说你可以用它做任何事情。不幸的是,每天都有些吓人的报告说某个主要的网站被黑了,或者某个重要的数据库被泄露了之类的,吓得人一愣一愣的。

如果你还没有安装 WordPress ,可以看下下面的文章。

在基于 Debian 的系统上:

在基于 RPM 的系统上:

我之前的文章 如何安全加固 WordPress
站点

里面列出的备忘录为读者维护 WordPress 的安全提供了一点帮助。

在这篇文章里面,我将介绍 wpscan 的安装过程,以及怎样使用 wpscan
来定位那些已知的会让你的站点变得易受攻击的插件和主题。还有怎样安装和使用一款免费的网络探索和攻击的安全扫描软件
nmap 。最后展示的是使用 nikto 的步骤。

mgm娱乐场 1

Ubuntu 14.04安装 Nmap 6.46.1 
http://www.linuxidc.com/Linux/2014-04/100658.htm

Linux下的端口扫描工具nmap
http://www.linuxidc.com/Linux/2012-12/75752.htm

nmap详解–网络扫描和嗅探工具包
http://www.linuxidc.com/Linux/2012-08/67593.htm

nmap应用技巧
http://www.linuxidc.com/Linux/2012-08/68602.htm

RedHat Enterprise Linux
5 下nmap的一次曲折安装
http://www.linuxidc.com/Linux/2011-01/31085.htm

Linux中让nmap命令跟防火墙捉迷藏
http://www.linuxidc.com/Linux/2009-09/21924.htm

这是一款Wordpress的专用扫描器,Wordpress作为三大建站模板之一,在全世界范围内有大量的用户,这也导致白帽子都会去跟踪wordpress的安全漏洞,Wordpress自诞生起也出现了很多漏洞。Wordpress还可以使用插件、主题。于是Wordpress本身很难挖掘什么安全问题的时候,安全研究者开始研究其插件、主题的漏洞。通过插件、主题的漏洞去渗透Wordpress站点,于是WPScan应运而生,收集Wordpress的各种漏洞,形成一个Wordpress专用扫描器。

用 WPScan 测试 WordPress 中易受攻击的插件和主题

WPScan 是一个 WordPress 黑盒安全扫描软件,用 Ruby
写成,它是专门用来寻找已知的 WordPress 的弱点的。它为安全专家和
WordPress 管理员提供了一条评估他们的 WordPress
站点的途径。它的基于开源代码,在 GPLv3 下发行。

该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码。

下载和安装 WPScan

在我们开始安装之前,很重要的一点是要注意 wpscan 不能在 Windows
下工作,所以你需要使用一台 Linux 或者 OS X
的机器来完成下面的事情。如果你只有 Windows 的系统,拿你可以下载一个
Virtualbox 然后在虚拟机里面安装任何你喜欢的 Linux 发行版本。

WPScan 的源代码放在 Github 上,所以需要先安装 git(LCTT
译注:其实你也可以直接从 Github 上下载打包的源代码,而不必非得装 git
)。

  1. sudo apt-get install git

git 装好了,我们就要安装 wpscan 的依赖包了。

  1. sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev ruby1.9.3

把 wpscan 从 github 上 clone 下来。

  1. git clone https://github.com/wpscanteam/wpscan.git

现在我们可以进入这个新建立的 wpscan 目录,通过 bundler 安装必要的 ruby
包。

  1. cd wpscan
  2. sudo gem install bundler && bundle install --without test development

现在 wpscan 装好了,我们就可以用它来搜索我们 WordPress
站点潜在的易受攻击的文件。wpcan
最重要的方面是它能列出不仅是插件和主题,也能列出用户和缩略图的功能。WPScan
也可以用来暴力破解 WordPress —— 但这不是本文要讨论的内容。

  1. 常见语法:
    wpscan –url
    www.target.com
    –enumerate p #扫描插件基本信息
    wpscan –url
    www.xxx.com
    –enumerate vp #扫描容易受攻击的插件
    wpscan –url
    www.xxx.com
    –enumerate ap #扫描所有插件
    wpscan –url
    www.target.com
    –enumerate u #暴力枚举用户名
    wpscan –url
    www.example.com
    –wordlist E:\dic\passX.txt –username admin
    #通过用户名爆破密码
    wpscan –url
    www.example.com
    –wordlist darkc0de.lst –threads 50
    #使用字典调用50个线程进行暴力破解
    wpscan –help
    wpscan –random-agent 有些网站需要带着浏览器头访问

更新 WPScan

  1. ruby wpscan.rb --update

参数选项
–update 更新数据库
mgm娱乐场,–url | -u <target url> 配置扫描URL
–force | -f 强制让wpscan不要验证目标是否是wordpress
–enumerate | -e [option(s)] 枚举信息
选项:
u 枚举用户名,默认从1-10
u[10-20] 枚举用户名,配置从10-20
p 枚举插件
vp 只枚举有漏洞的插件
ap 枚举所有插件,时间较长
tt 列举缩略图相关的文件
t 枚举主题信息
vt 只枚举存在漏洞的主题
at 枚举所有主题,时间较长
可以指定多个扫描选项,例:”-e tt,p”
如果没有指定选项,默认选项为:”vt,tt,u,vp”

列举插件

要列出所有插件,只需要加上 “–enumerate p” 参数,就像这样:

  1. ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate p

或者仅仅列出易受攻击的插件:

  1. ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate vp

下面是一些例子:

  1. |Name: ukiscet
  2. |Location: http://********.com/wp-content/plugins/akismet/
  3. |Name: audio-player
  4. |Location: http://********.com/wp-content/plugins/audio-player/
  5. |
  6. |*Title:AudioPlayer- player.swf playerID Parameter XSS
  7. |*Reference: http://seclists.org/bugtraq/2013/Feb/35
  8. |*Reference: http://secunia.com/advisories/52083
  9. |*Reference: http://osvdb.org/89963
  10. |*Fixedin:2.0.4.6
  11. |Name: bbpress - v2.3.2
  12. |Location: http://********.com/wp-content/plugins/bbpress/
  13. |Readme: http://********.com/wp-content/plugins/bbpress/readme.txt
  14. |
  15. |*Title:BBPress-MultipleScriptMalformedInputPathDisclosure
  16. |*Reference: http://xforce.iss.net/xforce/xfdb/78244
  17. |*Reference: http://packetstormsecurity.com/files/116123/
  18. |*Reference: http://osvdb.org/86399
  19. |*Reference: http://www.exploit-db.com/exploits/22396/
  20. |
  21. |*Title:BBPress- forum.php page Parameter SQL Injection
  22. |*Reference: http://xforce.iss.net/xforce/xfdb/78244
  23. |*Reference: http://packetstormsecurity.com/files/116123/
  24. |*Reference: http://osvdb.org/86400
  25. |*Reference: http://www.exploit-db.com/exploits/22396/
  26. |Name: contact
  27. |Location: http://********.com/wp-content/plugins/contact/

–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 输出当前版本

相关文章