记一次用WPScan辅助渗透WordPress站点
記一次用WPScan輔助滲透WordPress站點
一、什么是WPScan?
WPScan 是一個掃描 WordPress 漏洞的黑盒子掃描器,它可以為所有 Web 開發(fā)人員掃描 WordPress 漏洞并在他們開發(fā)前找到并解決問題。我們還使用了 Nikto ,它是一款非常棒的 Web 服務(wù)器評估工具,我們認(rèn)為這個工具應(yīng)該成為所有針對 WordPress網(wǎng)站進(jìn)行的滲透測試的一部分。 Wordpress 作為三大建站模板之一,在全世界范圍內(nèi)有大量的用戶,這也導(dǎo)致白帽子都會去跟蹤 WordPress 的安全漏洞,Wordpress 自誕生起也出現(xiàn)了很多漏洞。 Wordpress 還可以使用插件、主題。于是 Wordpress 本身很難挖掘什么安全問題的時候,安全研究者開始研究其插件、主題的漏洞。通過插件、主題的漏洞去滲透Wordpress 站點,于是 WPScan應(yīng)運而生,收集 Wordpress 的各種漏洞,形成一個 Wordpress 專用掃描器。該掃描器可以實現(xiàn)獲取站點用戶名,獲取安裝的所有插件、主題,以及存在漏洞的插件、主題,并提供漏洞信息。同時還可以實現(xiàn)對未加防護(hù)的 Wordpress 站點暴力破解用戶名密碼。
WPScan已經(jīng)被預(yù)安裝在以下Linux系統(tǒng)中:
- BackBox Linux
- Kali Linux
- Pentoo
- SamuraiWTF
- BlackArch
二、WPScan的安裝和使用
由于 Windows 不支持 WPScan 。最新版本的 WPScan 可以在 Linux 或 Mac 上下載使用:
Debian/Ubuntu下安裝:
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-devgit clone https://github.com/wpscanteam/wpscan.gitcd wpscansudo gem install bundler && bundle install --without test developmentFedora下安裝:
sudo yum install gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel libcurl-develgit clone https://github.com/wpscanteam/wpscan.gitcd wpscansudo gem install bundler && bundle install --without test developmentArchlinux下安裝:
pacman -Syu rubypacman -Syu libyamlgit clone https://github.com/wpscanteam/wpscan.gitcd wpscansudo gem install bundler && bundle install --without test developmentgem install typhoeusgem install nokogiriMAC OSX下安裝:
git clone https://github.com/wpscanteam/wpscan.gitcd wpscansudo gem install bundler && bundle install --without test development具體參考:https://wpscan.org/
常見參數(shù)選項:
--update 更新到最新版本--url | -u <target url> 要掃描的WordPress站點.--force | -f 不檢查網(wǎng)站運行的是不是WordPress--enumerate | -e [option(s)] 枚舉.Option:
u 枚舉用戶名,默認(rèn)從1-10 u[10-20] 枚舉用戶名,配置從10-20 p 枚舉插件 vp 只枚舉有漏洞的插件 ap 枚舉所有插件,時間較長 tt 列舉縮略圖相關(guān)的文件 t 枚舉主題信息 vt 只枚舉存在漏洞的主題 at 枚舉所有主題,時間較長 可以指定多個掃描選項,例:"-e tt,p" 如果沒有指定選項,默認(rèn)選項為:"vt,tt,u,vp"--exclude-content-based "<regexp or string>" 當(dāng)使用枚舉選項時,可以使用該參數(shù)做一些過濾,基于正則或者字符串,可以不寫正則分隔符,但要用單引號或雙引號包裹 --config-file | -c <config file> 使用指定的配置文件 --user-agent | -a <User-Agent> 指定User-Agent --cookie <String> 指定cookie --random-agent | -r 使用隨機User-Agent --follow-redirection 如果目標(biāo)包含一個重定向,則直接跟隨跳轉(zhuǎn) --batch 無需用戶交互,都使用默認(rèn)行為 --no-color 不要采用彩色輸出 --wp-content-dir <wp content dir> WPScan會去發(fā)現(xiàn)wp-content目錄,用戶可手動指定 --wp-plugins-dir <wp plugins dir> 指定wp插件目錄,默認(rèn)是wp-content/plugins --proxy <[protocol://]host:port> 設(shè)置一個代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未設(shè)置默認(rèn)是HTTP協(xié)議 --proxy-auth <username:password> 設(shè)置代理登陸信息 --basic-auth <username:password> 設(shè)置基礎(chǔ)認(rèn)證信息 --wordlist | -w <wordlist> 指定密碼字典 --username | -U <username> 指定爆破的用戶名 --usernames <path-to-file> 指定爆破用戶名字典 --threads | -t <number of threads> 指定多線程 --cache-ttl <cache-ttl> 設(shè)置 cache TTL. --request-timeout <request-timeout> 請求超時時間 --connect-timeout <connect-timeout> 連接超時時間 --max-threads <max-threads> 最大線程數(shù) --throttle <milliseconds> 當(dāng)線程數(shù)設(shè)置為1時,設(shè)置兩個請求之間的間隔 --help | -h 輸出幫助信息 --verbose | -v 輸出Verbose --version 輸出當(dāng)前版本三、WPScan的輔助滲透WordPress站點演示
環(huán)境準(zhǔn)備
- Kali Linux
- WPScan工具(Kali Linux里面已經(jīng)預(yù)裝好了)
- CentOS 7
- WordPress環(huán)境(預(yù)先在CentOS 7里面搭建好了環(huán)境)
滲透過程
1、更新漏洞數(shù)據(jù)庫
在使用WPScan之前,先更新它的漏洞數(shù)據(jù)庫:
wpscan --update我們直接查看下當(dāng)前版本:
2、掃描WordPress漏洞
接下來使用下面的命令來掃描可能存在的漏洞網(wǎng)站:
wpscan ––url [wordpress url]這里我直接用我自己的站點為例子進(jìn)行演示
wpscan --url http://angelkitty.xin/效果如下:
3、掃描wordpress用戶
我們可以對其用戶進(jìn)行枚舉:
wpscan ––url [wordpress url] –-enumerate u4、暴力破解
wpscan ––url [wordpress url] ––wordlist [path to wordlist] ––username [username to brute force] ––threads [number of threads to use]既然當(dāng)前有兩個用戶 angel_kitty 和 test ,我們直接把兩個均枚舉出來
wpscan -u 119.23.243.4 -e u --wordlist /root/桌面/password.txt這里我也有個問題一直沒解決,就是用 url 去指定域名和用 username 去指定用戶均不太好使,直接就 302 調(diào)整爆出了 password ,連字典都沒去查,也不知道咋回事,查了 wpscan 的 Issue ,可能是 wpscan 升級了以后,新版本和老版本命令上有所差異,具體以后分析一下 wpscan 的源碼,所以演示出這個效果弄了整整一天。
演示效果如下:
視頻演示
也歡迎大家關(guān)注我的bilibili賬號:Angel_Kitty,不定期發(fā)送一些演示視頻教程
四、WordPress的防護(hù)措施
如果你想要避免WordPress用戶列表被列舉,不要把用戶名作為昵稱,并且不要使用已經(jīng)被大眾知道的用戶名。最好的方式是選擇一個包含隨機字符的名字做用戶名并且使用其他名字作為昵稱。 WPScan 掃描 URL 來獲取用戶名,所以如果你不使用這個用戶名,你肯定不會被 WPScan 搜索到。
防止暴力破解的最好方式是限制一個 IP 地址的嘗試登錄次數(shù)。 WordPress 有很多插件可以實現(xiàn)這個功能。我使用的一個插件叫: Brute Force Login Protection 。
轉(zhuǎn)載于:https://www.cnblogs.com/ECJTUACM-873284962/p/9692390.html
總結(jié)
以上是生活随笔為你收集整理的记一次用WPScan辅助渗透WordPress站点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 非合作关系设定下的多智能体强化学习
- 下一篇: Visual Studio 2008 安