Cisco WebEx遠端程式碼執行漏洞
其實遠端程式碼執行漏洞非常普遍,研究人員在Cisco的WebEx線上和視訊協作軟體中發現一個不同尋常的遠端程式碼執行漏洞。使用者可以通過WebEx客戶端的一個元件在WebEx沒有監聽遠端連線的情況下遠端執行程式碼。
遠端程式碼執行漏洞是使用者可以遠端連線到有漏洞的應用並在遠端計算機上執行命令的漏洞。因為許多這類漏洞都可以以提升的許可權執行命令,因此都是比較嚴重的漏洞。
反黑客組織 ofollow,noindex">Counter Hack 的研究人員Ron Bowes和Jeff McJunkin日前披露了該漏洞。研究人員是在最近的滲透測試過程中發現的該漏洞,最初的測試目標是提升本地標準使用者賬戶的許可權,但發現了該遠端程式碼執行漏洞,研究人們將其命名為WebExec。
研究人員在進行滲透測試時發現Cisco WebEx使用了WebexService服務,該系統可以被任意有System許可權的使用者啟動和停止。
WebexService
WebExService.exe使用的該服務可以被任何有完全許可權的group中的任何人進行修改。
每個人都可以獲取全部許可權
因為任何人都可以訪問該可執行檔案,研究人員意識到他們可以替換該可執行檔案來進行提權。研究人員在尋找提權的方法時發現Cisco 9月份已經發布了該漏洞的安全更新。
WebExService.exe
因此,研究人員決定深入分析WebexService.exe的工作原理。利用除錯資訊、不斷嘗試、逆向,最後發現該服務雖然是用來更新WebEx的,但也可以用來啟動其他程式。
因為該服務是以System賬號許可權執行的,任何以System許可權執行的可執行檔案都可以被啟動。
Windows啟動時,WebexService服務並不會自動執行,只有在需要執行WebEx更新時或被其他程式呼叫時才啟動。
為了使用WebexService服務來啟動程式,可以啟動該服務並將命令傳遞為引數執行。比如,為了讓WebexService.exe啟動calc.exe程式,可以使用命令:
sc start webexservice a software-update 1 calc c d e f
WebExService啟動calc.exe程式
當calc.exe程式被以System許可權執行的服務啟動時,同時會以System許可權執行。
以System許可權執行的計算器
假設你是一個沒有提升許可權的標準使用者,但是想要提升許可權。就可以利用該bug來啟動cmd.exe,以獲取完全管理許可權。
開啟提升許可權的cmd
上面的命令會以啟動一個有管理許可權的cmd,如下圖所示:
提升許可權的cmd
遠端程式碼執行
前面提到使用者可以通過WebEx客戶端的一個元件在WebEx沒有監聽遠端連線的情況下遠端執行程式碼。使用者如何在沒有執行等待連線的情況下遠端執行程式碼呢?因為Windows sc 命令可以用下面的命令在遠端機器上開啟服務:
c:\>sc \\10.0.0.0 start webexservice a software-update 1 net localgroup administrators testuser /add
為了遠端使用sc,首先需要被遠端機器認證,可以是本地賬戶也可以是域賬戶。成功與服務建立連線後,就可以遠端的開啟或關閉Windows服務了。比如,可以關閉或開啟WebExService服務,但大多數服務都需要管理員許可權。
因為sc命令需要遠端機器開發445埠,因此該漏洞在Internet上並不是非常有用。這是因為大多數的ISP和公司都會在路由器或防火牆上攔截445埠。
因此如果攻擊者已經獲取了計算機的相關許可權,就可以利用該漏洞來在相同網路上的其他機器上執行命令了。
Cisco也在v 33.0.5及之後版本修復了該漏洞。