本文的內容參閱了奧克利博士(Dr. Jacob G. Oakley)的著作《Conducting Successful Cybersecurity Engagements:Professional Red Teaming》一書,筆者會分享本書中部分章節中的重點內容以及學習筆記,希望能幫到更多的人。
在本章中,作者主要闡述了當前在學術界和工業界對實現紅隊自動化的研究思路,方法和工具。并討論了實現紅隊自動化的必要性以及相關方法,工具的弊端。
人類黑客演練還是自動化?
盡管在上一章的篇幅里,我們確實鞏固了紅隊的目的,但對于人類黑客而言,這并不能令人滿意。在企業組織內部定期開展紅藍演練工作,相信大部分主導者都希望能夠實現自動化,畢竟每次都靠“人肉”發起演練是一件很耗時且耗人精力的事情。但如我們所看到的,完成紅藍演練是一項艱巨的任務,并且其成本往往是昂貴的。 學術界和工業界都試圖用各種工具和技術來實現自動化或替代人類黑客。 還有一些新出現的安全服務,目的是為了替代紅隊所能提供的的好處,但這些服務對人員的要求也各不相同。 閱讀完本章后,毫無疑問,你會明白為什么人類黑客會成為倒數第二個實現自動化紅藍演練的解決方案,為什么尋找各種類型的安全人員并不會像紅隊那樣提供主動的緩解措施。
論紅隊的創新與自動化
在沒有人類黑客的情況下,對紅隊流程的創新動機受到了多個方面的支持。 這些趨勢主要集中在加快評估,使評估更容易獲得或在某些情況下用更易于實施的服務代替紅隊。 以下是對學術界和工業界提出的替代道德黑客的建議的分析。 由此產生的對此類解決方案的理解很好地表明了道德黑客(注:本書作者在前幾章中已經多次強調,紅藍演練中的紅隊人員必須由道德黑客組成)為何極為重要并且將繼續存在。 關于紅隊創新的最大工作是學術界提出的。在某些情況下,此類學術工作將自己標記為滲透測試,而把其他的工作標記為紅隊。同樣,出于本書的目的,所有這些攻擊性的安全能力在本質上都是可以互換的。在期刊和論文等學術論壇中,大部分工作都集中在使用技術實現紅隊攻擊的自動化,而不是對人類黑客開展紅隊工作的攻擊性安全流程進行創新。原因可能是極少有學者是經驗豐富的安全專家,特別網絡攻擊經驗,或者更準確地說,大多數有著豐富的網絡攻擊經驗的安全專家在學術方面沒有太多的努力。所以,這意味著學術研究者和具備安全攻擊經驗的人之間存在很大的“gap”,他們不太可能會以執行者的角度對紅隊遇到的問題和挑戰有實際的了解,也無法切實地改善流程和方法。圍繞道德黑客諜報技術的學術創新進一步復雜化,學術工作也必須努力做到辯護。學術人員會尋找可行的測試方法來測試像紅隊的諜報技術、評估和環境這些會受到“人為”因素影響的東西,即使不是一件幾乎不可能的事情,這樣的做法也可能會令人生畏。因此,學術方面對紅隊的研究重點主要集中在自動化技術和攻擊模型方面,這些模型可以反復進行防御性測試,而無需有經驗的或昂貴的紅隊從業者參與,也無需紅隊人員進行實際的參與。 由此產生的技術大致分為三類:既不利用漏洞或不進行移動滲透主機操作的技術、利用漏洞但不進行移動滲透主機操作的技術以及打算同時進行這兩種操作的技術。所有這些技術都有其自身的優點和缺點,就像實現整個自動化一樣。這并不意味著這樣的解決方案不可用。這也不意味著它們已足以取代人類道德黑客。
建模技術
不利用漏洞或不從一個目標滲透到另一個目標的技術聽起來根本就不像是紅隊,但我認為,在學術上提出的自動化技術中,這些是最有可能以一種積極的方式影響紅藍演練的技術。理解此類技術試圖實現的目標的關鍵是“建模”一詞。為企業組織中潛在的目標主機之間的關系進行建模的技術必將導致在紅藍演練期間,紅隊可以極高效的獲知哪一臺主機是他們的攻擊目標。圖2-1顯示了這樣的一個示例,其中主機A為初始感染者,主機G為最差傳播者。

圖2-1:簡化的建模結果
在學術研究人員的這些模型之一中,模型所需的信息主要來自企業組織內的目標主機的信息(例如,開放端口,IP地址,網絡布局,已安裝的軟件等),這些主機的信息會被饋送到自動化模型中。然后,通過將輸入數據與已知的漏洞利用數據庫進行比較,運行模型以提供潛在或可能的攻擊路徑和主機滲透移動途徑。
不同的學術作者針對其路徑和漏洞利用如何發生以及哪些主機或系統處于給定的風險水平,采用了自己獨特的邏輯或算法提出了不同的研究和技術。這些想法之間的相同之處在于,它們依靠某種定義的方法作用于某種形式的輸入,最后生成安全團隊可以隨后關注的潛在鏈接矩陣。
正如學術研究人員所暗示的那樣,使用這些技術代替人類黑客開展紅藍演練存在一些明顯的問題。這些模型在實驗室環境中運行的非常出色。如果提供結構相似的數據并針對最新的漏洞數據運行,則這些模型實際上可以產出可行的漏洞利用路徑和風險點,但僅針對數據所代表的快照情況。該快照取決于從目標收集數據的時間以及漏洞數據庫的最新更新時間。如果算法運行后某個主機上的某個端口發生了更改,則模型產出的結果可能非常不準確,并且一個新的武器化的漏洞可能會完全改變模型的結果。
我無法想象在現實世界中會存在這樣的應用程序,因為我們輸入給算法的信息不可能完整而準確的表示整個企業組織的情況。將人類用戶和管理員放入到不斷影響變量的組合中,似乎不可能在實驗室或類似實驗室的環境之外利用數據。盡管這種技術顯然無法取代人類黑客,但為攻擊者提供一些分析目標的快速方法無疑是該技術的亮點。
既不利用漏洞也不移動滲透主機的技術
與建模技術實現自動化的思路相反,我們對進攻性安全世界有了更熟悉的知識——漏洞識別和利用——但仍未在已經入侵的系統或組織內部進行深入研究(圖2-2)。

圖2-2:既不利用漏洞也不滲透主機的技術
學術界中的這類技術研究確實有各種各樣的目標。從純粹專注于特定類型的軟件(例如數據庫或網頁)的技術到自動嘗試對整個網絡進行表層漏洞評估。
這些技術是一種不需要道德黑客參與的解決方案。精通信息技術(IT)的人員完全可以在網上下載漏洞利用工具,填寫好他們想要執行安全評估的目標,然后點擊“執行”。此類別中的一些工具試圖反復繞過安全機制,并對數據庫或網頁執行漏洞利用,然后將發現的漏洞報告給使用該工具的人員。其他技術還包括自動掃描技術,該技術能夠評估執行位置范圍內的任何內容。
在替代紅隊的技術方面,有一種技術操作起來并不是很痛苦,那就是執行漏洞掃描程序。在學術界內,漏洞掃描程序被許多學術人員當作自動化實現紅隊的技術。只進行漏洞掃描的問題具有兩面性。首先,它不代表對企業組織發起實際攻擊,甚至不模仿實際攻擊的效果。其次,它僅評估從執行點到目標主機的漏洞,這可能使網絡環境中的很多攻擊面都未被評估到。
這一類別中最好的解決方案是那些分發到網絡中的所有終端的解決方案。盡管這不能代表攻擊或其影響,但是這些解決方案確實可以對部署環境進行深入評估。其中的一些技術是安裝在CD或USB驅動器上的小型操作系統,因此可以在網絡上進行物理移動以便從不同角度收集漏洞詳細信息;有些更像是跨多個系統安裝的分布式端點安全產品。即使是這些系統也很少真正受到攻擊者攻擊,而且它們都沒有試圖利用某個已經被攻破的系統或應用程序以真實的攻擊來進一步傳播。
除了為實現這種方法所做的學術努力之外,還有一些這類的行業案例。Offensive Security 提供了db-autopwn 自動利用工具。同樣,其他付費安全框架也具備自動執行漏洞利用選項,通常都是依賴 db-autopwn 或在其上進行模仿和構建。這些技術提供了在掃描主機后對主機執行漏洞利用的其他功能,但是在攻破主機后仍然沒有進行移動滲透主機操作(圖2-3)。

圖2-3:利用漏洞但不移動滲透主機;
既利用漏洞又移動滲透主機的技術
此類技術嘗試執行漏洞利用,然后利用通過漏洞利用獲得的訪問權限來自動掃描并轉移到其他計算機。聽起來是不是很像蠕蟲?,那是因為它本身就是蠕蟲。相信有些讀者也見過此類安全工具。這些技術依賴于前兩類學術方面建議的紅隊替換工具中的概念。他們需要漏洞評估功能以及關系建模功能。這些概念的結合使第三種技術可以識別漏洞,并利用識別到的漏洞來訪問系統,然后從新確定的角度繼續進行漏洞評估——所有這些都是以一種自動化的方式進行的,這種方式由基于選擇的攻擊建模的關系目標邏輯驅動(圖2-4)。

這些類型的工具的功能在很大程度上依賴于用于識別的漏洞以及在整個網絡中傳播方式的算法。這些工具的危險性就在于它們的行為像自動蠕蟲一樣,如果配置不當或未正確監控,則可能會對所評估的系統造成實際的危害或系統性能下降。事情可能會出差錯的可怕情況有上百萬種,而且可能有同樣多的解決方案可以使用內置的邏輯來避免它們。但是,你在自動化利用框架的決策矩陣中建立的邏輯越多,它就會變得越麻煩,并且越依賴于人工干預。這些技術中的這種依賴會很快超過它們所提供的好處,因為它們需要過多的看護或使用過多的計算資源,因此無法提供比道德黑客更大的成本效益。
就紅隊的創新而言,這第三類工具——既利用漏洞又移動滲透主機——讓紅隊在競爭中牢牢地領先,通過使用自動化來取代真正的人類黑客。這就是我在闡述需要有道德的人類黑客時重點分解的能力類型。
本文由作者“絲綢之路”整理發布,如若轉載,請注明原文地址