這種方法已經得到了企業的廣泛採用,特別是在對數據進行遠程訪問時,但在其它領域應用還十分有限。雙因子身份認證的推廣之所以受阻,主要是由於其需要使用額外的工具,而這一條件為IT和技術支持人員帶來了不小的負擔。其批評者還指出,這種安全保障措施仍然很容易遭受攻擊,即在非常小的時間周期內,這種技術很容易受到中間人(man-in-the-middle)攻擊(這也是採用嚴格SSL處理的主要原因)。實際上,除了這些障礙以外,現在我們已經開始認識到,不採用雙因子認證所帶來的隱含成本遠遠比採用雙因子認證所需要的成本高得多。
雙因子身份認證是確保遠程訪問安全性的最佳實踐方式,但是這種技術也給了一些網絡犯罪分子可乘之機。如果攻擊者在獲取到了大量身份憑證的情況下,他們就可以偽裝成合法用戶,而且還可以躲避安全防護軟體的檢測。很多公司都認為雙因子認證機制是絕對可靠的,而且也沒有採取一定的安全預防措施來防禦攻擊者的攻擊以及系統後門。
在這篇文章中,我們將會站在攻擊者的角度來對雙因子身份驗證機制進行從淺至深的分析,我們希望這篇文章能夠幫助安全研究人員解決這項技術中目前所存在的一些問題。我將會對遠程繞過雙因子身份驗證技術進行討論,並且向大家描述如何繞過遠程訪問設備的雙因子身份驗證機制,並從內部網絡環境的設備中竊取數據。
1)K.I.S.S-簡單,有效
入侵設備的遠程訪問控制是攻擊者首要解決的問題,因為它可以給攻擊者提供設備的訪問權限,並且降低被監測到的可能性。在合法遠程訪問工具的幫助下,攻擊者不僅可以在目標主機中執行控制命令,而且還可以在身份驗證機制的掩護下進行其他的一些攻擊活動。
在某些較為困難的情況下,我們可以使用一些比較直接的方法來獲取到我們所需的憑證:讓目標用戶代替我們來進行操作。我們只需進行一些簡單的設置就可以製作一個完美的陷阱。
在下圖中,我們可以看到兩個不同的VPN登錄頁面。其中一個是公司的合法登錄網站,另一個是由攻擊者偽造的虛假登錄頁面。你能發現這兩者之間的區別嗎?
分辨不出嗎?沒錯,你的客戶也一樣分辨不出。在社會工程學工具(SET)的幫助下,任何人都可以快速地複製出一個外部頁面來欺騙用戶(攻擊者只需要將HTML頁面中的本地資源地址(「/home/image/logo.png」)修改成外部引用地址(「mycompany.com/home/image/logo.png」)就可以了)。在一次完美的網絡釣魚攻擊中,你可以引誘目標用戶訪問你所克隆出的虛假VPN身份驗證頁面,並且得到所有你需要的信息:用戶名,密碼,甚至是令牌碼!
如果攻擊者的操作速度足夠快,那麼他們還可以將憑證提交至虛假的VPN頁面,然後利用這些信息來登錄真實的VPN。如下圖所示,攻擊者可以將登錄提交請求重定向至一個PHP腳本,然後這個腳本就會將提交過來的用戶名,密碼,以及其他的一些元數據寫入伺服器的日誌文件中,這樣攻擊者就可以檢測並獲取到用戶所提交的雙因子身份驗證信息了。
當攻擊者通過了VPN的身份驗證之後,他們就可以在安全檢測軟體檢測到釣魚攻擊並進行安全響應之前,在目標主機中實現提權並獲取到敏感數據。
2)電子郵件就是我們的敵人
數字令牌通常會需要一個同步代碼,而為了保證其有效性,每一名用戶的令牌都只會有一個唯一的同步碼與之對應。同步碼和算法是保證令牌安全性的因素,而且這兩個因素也可以確保用戶令牌能夠與身份驗證伺服器的要求所匹配。當用戶的VPN訪問請求通過批准之後,很多公司會選擇使用一種簡單和友好的方式來向用戶發送通知類的電子郵件。這些電子郵件中通常會包含有「seed「密鑰和安裝說明。但對於安全團隊來說不幸的是,用戶通常在閱讀完這類電子郵件之後,卻忘記將其刪除了,這些電子郵件就這樣躺在了用戶的收件箱之中,等待著攻擊者前來竊取。
攻擊者可以在用戶的電子郵箱中搜索敏感文件和有價值的信息(包括硬碟中的.PST和.OST文件)。在大多數情況下,攻擊者只需要使用一個簡單的PowerShell腳本就可以搜索用戶郵箱中的敏感文件以及與RSA軟令牌相關的.sdtid文件了。
3)雙因子身份驗證機制中的緊急模式
在很多的雙因子身份驗證產品中,都提供有一個名為「緊急訪問」的代碼,這種運行模式實際上是一種身份驗證機制,如果用戶丟失了令牌,但是又急需對數據進行遠程訪問,那麼這種機制也可以允許用戶進行臨時性的VPN訪問。下圖顯示的就是緊急訪問模式的操作界面截圖:
如上圖所示,系統提供了一個身份驗證的修復機制。對於攻擊者而言,攻擊者可以利用這種機制來遠程訪問目標系統。這些緊急訪問碼是非常不安全的,因為他們的有效日期可以被修改,這樣一來,攻擊者就可以利用這些緊急訪問碼來獲取到目標系統的永久訪問權限了。
總結
對於一名經驗豐富的攻擊者來說,他們有很多種方法可以對目標進行攻擊,並繞過那些所謂的「安全防護措施「。
不幸的是,很多公司太過於相信那些所謂的安全解決方案了,例如雙因子身份驗證。如果安全技術人員沒有採取一些必要的安全保障措施,那麼這種安全技術也不能保證公司的安全。如果安全技術人員忽略了這一點,那麼攻擊者就可以利用如上文所述的一些攻擊方法破壞雙因子身份驗證技術本該帶來的安全性。
在此,我還需要感謝Andrew Burkhardt, Evan Peña, 以及Justin Prosco為這篇文章所做出的貢獻。
比特幣贊助打賞地址:13sbdFRyFBeqmXY9GJQf66s5cwmvLvWaAD
----
要聞、乾貨、原創、專業
關注「黑白之道」 微信:i77169
華夏黑客同盟我們堅持,自由,免費,共享!