Cisco ASA Software的部分管理接口在身份認證時存在驗證邏輯問題,導致攻擊者可以繞過身份認證,實現未授權操作。
默認情況下,ASA的管理接口通過basic auth+cookie的方式進行認證,如下圖:
漏洞存在于Configuration選項卡的Customization頁面的preview功能。此頁面用于修改webvpn的用戶登錄頁面。但Preview的管理請求處理邏輯缺乏Basic Auth認證,僅僅通過驗證cookie的有效性來進行判定。但Cookie驗證邏輯上存在問題, Lua代碼如下:
Function CheckAsdmSession(cookie,no_redirect)
省略部分代碼..
Local f = io.open(‘asdm/’..cookie, “r”)
If f ~= nil then
f:close()
return true;
end
可以看出,在CheckAsdmSession 函數中,僅僅校驗該函數cookie傳入的文件存在與否。通過修改Cookie中ced的值,設置為設備上存在的文件,如 Ced=../../locale/ru/LC_MESSAGES/webvpn.mo
,即可達到繞過驗證的效果。
我們可以通過對/+CSCOE+/cedf.html
頁面的請求查看preview頁面的修改結果。
現有系統對于preview頁面的生效需要進行basic auth校驗的,但固件版本保留了老的生效接口/+CSCOE+/cedsave.html(老接口不需要進行basic auth認證),通過調用此接口,即可完成對login page的html代碼的修改。如下:
通過修改登錄頁的代碼,攻擊者截獲用于登錄VPN的賬號密碼,也可以進行諸如劫持、掛馬等操作。
目前cisco已經針對固件提供了修復方案,受影響的ASA版本可以通過官方通告進行查看。VPN類設備多屬于企業的入口,提醒各公司運維人員以最高優先級修復。 官方鏈接: http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20141008-asa