WPScan使用完整教程之記一次對WordPress的滲透過程
WPScan
使用完整教程之記一次對 WordPress
的滲透過程
渣渣一枚,萌新一個,會划水,會喊六六
個人部落格: ofollow,noindex" target="_blank">https://www.cnblogs.com/lxz-1263030049/
本文已發至i春秋: https://bbs.ichunqiu.com/thread-46194-1-1.html
先知社群: https://xz.aliyun.com/t/2794
本次簡單的記錄優下自己關於WPScan滲透實戰的案例,以及對於WPScan的一些使用方法,有什麼錯誤的地方希望各位大佬指正(Orz)
一:什麼是 WPScan
WPScan
是一個掃描 WordPress
漏洞的黑盒子掃描器,它可以為所有 Web
開發人員掃描 WordPress
漏洞並在他們開發前找到並解決問題。
我們還使用了 Nikto
,它是一款非常棒的 Web
伺服器評估工具,我們認為這個工具應該成為所有針對 WordPress
網站進行的滲透測試的一部分。
Wordpress
作為三大建站模板之一,在全世界範圍內有大量的使用者,這也導致白帽子都會去跟蹤 WordPress
的安全漏洞, Wordpress
自誕生起
也出現了很多漏洞. Wordpress
還可以使用外掛、主題。於是 Wordpress
本身很難挖掘什麼安全問題的時候,安全研究者開始研究其外掛、主題的
漏洞。通過外掛,主題的漏洞去滲透 Wordpress
站點,於是 WPScan
應運而生,收集 Wordpress
的各種漏洞,形成一個 Wordpress
專用掃描器。
該掃描器可以實現獲取站點使用者名稱,獲取安裝的所有外掛、主題,以及存在漏洞的外掛、主題,並提供漏洞資訊。同時還可以實現對未加防護的
Wordpress
站點暴力破解使用者名稱密碼。
WPScan
已經被預安裝在以下 Linux
系統中:
1: BackBox Linux
2: Kali Linux
3: Pentoo
4: SamuraiWTF
5:BlackArch
二:預備知識之 WPscan
安裝與使用
由於 Windows
不支援 WPScan
。最新版本的 WPScan
可以在 Linux
或 Mac
上下載使用:
在Ubuntu上安裝
sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential libgmp-dev zlib1g-dev
在Debian上安裝
sudo apt-get install gcc git ruby ruby-dev libcurl4-openssl-dev make zlib1g-dev
在Fedora上安裝
sudo dnf install gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel libcurl-devel patch rpm-build
在Arch Linux上安裝
pacman -Syu ruby pacman -Syu libyaml
在macOS上安裝
需要 Apple Xcode
,命令列工具和 libffi
(能夠安裝 FFI gem
) 具體安裝過程請點選這裡
常用引數選項:
--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 dirWPScan會去發現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 輸出當前版本
三:滲透站點演示
環境準備
kali linux
Debian 9
WPScan(linux中已經與安裝)
滲透過程
1:安裝及更新資料漏洞庫
你可以使用下列命令在自己的裝置中安裝WPScan
git clone https://github.com/wpscanteam/wpscan.git
更新漏洞庫,使用命令: wpscan --update
2:掃描 WordPress
漏洞
接下來使用下面的命令來掃描可能存在的漏洞網站:
wpscan --url [wordpress url]
z這裡我直接用一個不認識的人的站點為例子進行演示(是我的好友HHHHH)
wpscan --url https://www.xxxxx.wiki/
3:掃描 wordpress
使用者
我們可以對其使用者進行列舉:
wpscan --url https://www.xxxxxxx.wiki/ --enumerate u
得到的使用者資訊:
4:暴力破解得到密碼
在進行暴力破解攻擊之前,我們需要建立對應的字典檔案
wpscan --url https://www.xxxxx.wiki/ -e u --wordlist /root/桌面/password.txt
效果圖如下:
5:掃描外掛漏洞
外掛可以擴充套件 WordPress
站點的功能,但很多外掛中都存在安全漏洞,而這也會給攻擊者提供可乘之機。
我們可以使用下列命令掃描 WordPress
站點中安裝的外掛:
wpscan -u https://www.xxxxx.wiki/ -enumerate p
我們可以看到該網站中安裝了 easy-wp-smtp
, theme-my-login
外掛:
接下來,我們可以使用下列命令來掃描目標外掛中的安全漏洞:
wpscan --url https://www.xxxxx.wiki/ --enumerate vp
效果演示:
6:主題漏洞掃描
使用下列命令對主題進行掃描:
wpscan --url https://www.xxxxx.wiki --enumerate t
發現一個主題:
使用下列命令掃描主題中存在的漏洞:
wpscan --url https://www.xxxxxx.wiki --enumerate vt
7: TimThumbs
檔案漏洞掃描
wpscan -u https://www.xxxxxx.wiki/ -enumerate tt
四: WordPress
的防護措施
1:關於密碼爆出防護措施
如果你想要避免 WordPress
使用者列表被列舉,不要把使用者名稱作為暱稱,並且不要使用已經被大眾知道的使用者名稱。最好的方式是選擇一個包含隨機字
符的名字做使用者名稱並且使用其他名字作為暱稱。 WPScan
掃描 URL
來獲取使用者名稱,所以如果你不使用這個使用者名稱,你肯定不會被 WPScan
搜尋到。
防止暴力破解的最好方式是限制一個 IP
地址的嘗試登入次數。 WordPress
有很多外掛可以實現這個功能。列如有一個外掛叫
Brute Force Login Protection
(當然你也可以寫一個指令碼防止爆出個人密碼)
2:如何防範掃描外掛、主題、 TimThumb
檔案
使用 Block Bad Queries (BBQ)
外掛,就可以遮蔽和禁止這類掃描