<tr id="ho3tc"><sup id="ho3tc"></sup></tr>

    <acronym id="ho3tc"><ruby id="ho3tc"><address id="ho3tc"></address></ruby></acronym>

  1. <acronym id="ho3tc"></acronym>

  2. <td id="ho3tc"><strong id="ho3tc"><mark id="ho3tc"></mark></strong></td>

    BadGPO:組策略對象在持久化及橫向滲透中的應用

    更新時間:2021-12-10 17:07:51 所屬欄目:系統 作者:林文以

    摘要:譯者:興趣使然的小胃預估稿費:200RMB投稿方式:發送郵件至linwei##,或登陸網頁版在線投稿一、前言組策略(GroupPolicy)是Windows提供的一種功能,可以為作業系統、應用以及用戶設置提供集中式的管理及配置功能。對于網絡中基于活動目錄域服務(Acti

    譯者:興趣使然的小胃

    預估稿費:200RMB

    投稿方式:發送郵件至linwei##,或登陸網頁版在線投稿

    一、前言

    組策略(Group Policy)是Windows提供的一種功能,可以為作業系統、應用以及用戶設置提供集中式的管理及配置功能。對于網絡中基于活動目錄域服務(Active Directory Domain Service、AD

    DS)的計算機以及用戶設置來說,組策略是訪問并配置這些組件的最為簡單的一種方法。企業環境中廣泛使用組策略來控制客戶端及伺服器配置選項,如註冊表設置、安全選項、腳本、文件目錄、軟體安裝及維護等等。具體的設置信息存放于組策略對象(Group Policy

    Objects、GPOs)中,對于已被攻擊者突破的域而言,攻擊者可以濫用GPO,通過欺詐方式進一步自動化地傳播惡意軟體、實現持久化駐留目的。Phineas Fishers寫過一篇如何搞定HackingTeam的文章,我們的靈感正是源自于此,在這篇文章中,我們會向大家介紹如何利用GPO在已被突破的企業網絡中實現持久化及橫向滲透,也會展示我們創建的某些Powershell

    Empire模塊。Powershell Empire框架包含各種廣泛使用的Powershell工具,攻擊者經常在已突破的環境中,根據實際需求利用這一框架進一步破壞系統。Powershell Empire框架中已經內置了一些GPO功能,我們想在其他場景中進一步拓展GPO的能力。此外,我們也會在本文中討論一些應對措施,包括檢測及防護機制等。

    二、具體分析

    當售賣間諜軟體的義大利公司被突破后,去年有人發表了一份報告介紹了整個攻擊的具體過程。同樣也是這個人成功搞定了一個銷售木馬及其他黑客工具的德國英國合資公司,這一事件也上了新聞頭條。這份報告由攻擊者自己發布,對攻擊中用到的技術做了深度的分析。報告的結論非常吸引人,因為這類攻擊屬于傳統意義上的高級持續威脅(Advanced Persistent

    Threat,APT)攻擊。此類攻擊者通常更為細心,以便長期潛伏在目標網絡中,攻陷更多系統,收集大量數據。

    分析這份報告的同時,我們注意到一下兩段話:

    1、遠程管理(第565行)

    5)GPO

    在這些協議已經被防火墻禁用或者阻攔的情況下,如果你是域管理員,你可以使用GPO給用戶設置登錄腳本、安裝msi文件、執行計劃任務,或者使用GPO來啟用WMI并打開防火墻。

    2、持久化(第726行)

    對企業目標來說,持久化不是一個必需的選擇,因為企業永遠不會入睡。我一貫使用方法是類似于Duqu 2的持久化技術,即在多臺長時間運行的伺服器的內存中運行后門程序。

    在報告的第一部分中,作者將GPO作為攻擊性工具的想法非常有趣。使用GPO來傳播惡意軟體或者部署非法配置是一種非常有效的方法,因為當惡意軟體經過GPO進行傳播時(這種方法類似于PowerShell的使用),這一過程利用到了Windows域管的身份以及合法的系統內置工具。惡意軟體可以利用GPO穿越IDS/IPS等防火墻,最終訪問到域內所有的系統。此外,GPO的另一優點就是攻擊過程期間并不需要目標系統在線,一旦離線狀態下的目標系統重新登錄到域中,惡意的GPO載荷就會被投遞到目標系統。即使首次攻擊發生于幾星期之前,這種持續性攻擊同樣能夠奏效。此外,GPO經常隨著時間的推進而不斷增長,在微軟活動目錄中的存儲及連結狀態也會越來越混亂,并且管理員經常會忽略命名約定,很少會去刪除已經失效的GPO,這些都給攻擊者濫用GPO創造了良機。

    報告的第二部分中比較有趣的一點,是作者將后門部署在非常穩定的伺服器的內存中,以保持對目標網絡的持續控制。當被注入后門的系統重啟后,內存型后門馬上會失效。但這一情況不會對高度穩定的多個伺服器造成影響,因為這些伺服器不可能在同一時間重新啟動。

    系統管理員會使用多種工具對公司進行管理。與此類似的是,黑客攻擊者或者滲透測試人員也會在APT場景中使用多種工具來進一步滲透目標環境。這類框架提供了各種各樣的功能選項,比如管理目標系統、評測更多目標、部署后門、提升權限或者窺探用戶隱私等。

    大約1年之前,PowerShell Empire這一強大的框架誕生了,能夠滿足以上提到的所有需求,并且也處于不斷的發展中。模塊化的PowerShell Empire最大的一個優點就是在目標系統中只會留下非常少的痕跡。反病毒軟體或者端點防護軟體并不會將PowerShell命令的執行識別為惡意行為,因為PowerShell是Windows系統中內置的合法工具。

    此外,工具與命令控制(Comand & Control)伺服器的通訊也經過加密處理,并且大多數模塊能夠不依託目標系統的硬碟,完全在內存中執行。由于惡意代碼完全沒有接觸硬碟,因此反病毒軟體以及端點防護軟體更加難以檢測此類攻擊。如果攻擊中需要將數據保存到硬碟中,Empire模塊的開發者建議攻擊者將該模塊的opsec-safe屬性去掉。

    結合以上兩部分內容提到的思想,我們開發了多個PowerShell Empire模塊。這些模塊利用GPO實現了自動化處理過程,能夠為合法的滲透測試者提供幫助,也能為紅隊人員的后續滲透工作提供支持。唯一的前提條件就是使用者必須已經獲得域管級別的訪問權限。

    我們開發完成的模塊如表1所示。

    表1. 已開發的模塊

    為了完成不同的目標,這些模塊需要以多種方式組合使用,如圖1所示。

    圖1. 使用GPO攻擊目標網絡

    2.1 場景1:內存中的模塊

    攻擊者會在本地啟動一個PowerShell

    Empire監聽端(Listener),然后在目標域控上運行對應的啟動端(Launcher),再回連到監聽端。由于大多數防火墻都不會阻攔出站埠,因此連接可以順利建立。攻擊者可以使用getGPO模塊,讀取所有的GPO信息,記錄這些GPO的UUID,并且添加惡意的設置內容(如圖2所示)。通過setGpRegistryValue模塊,攻擊者可以在目標主機上創建run或者run

    once註冊表鍵值。

    圖2. PowerShell Empire中的getGPO模塊

    這些模塊可以再次執行包含啟動端的PowerShell代碼,從目標系統內回連至攻擊者。

    2.2 場景2:操控Windows防火墻并啟動服務

    在另一個場景中,攻擊者創建了到域控伺服器的連接。攻擊者在這個場景中的目標是操控Windows防火墻規則、啟動WMI(Windows Management

    Instrumentation)服務,然后在經過安全加固的環境中執行遠程發送的命令。首先,攻擊者可以使用getGPO模塊讀取已有的組策略。找到合適的GPO之后,攻擊者可以使用newGpFirewallRule模塊將惡意防火墻規則添加到GPO中(如圖3所示)。這個規則能夠允許任意入站TCP連接連入目標系統。newGpSetServiceStatus模塊可以啟動目標系統上的WMI服務。默認情況下,GPO需要等待90分鐘才能發揮作用,為了繞過這一限制,攻擊者可以使用invokeGPUpdate模塊,第一時間啟用WMI服務的遠程訪問。

    圖3. PowerShell Empire中的new_GPO_Firewall_Rule模塊

    一旦擁有多臺目標主機的遠程WMI訪問權限,攻擊者就可以執行其他操作,比如搜索本地文件等等。與在遠程桌面協議(RDP)連接中手動搜索文件相比,這種搜索文件的方式顯得更具可擴展性、更加快速以及更為隱蔽。

    對于虛擬的Corp.com這個公司來說,一旦域內所有系統的防火墻處于無效狀態,并且WMI伺服器處于啟用狀態,那么被修改的GPO會推送到所有可達的系統中,攻擊者可以向WMI服務遠程發送命令。

    為了遠程搜索某個本地文件(如proof.txt),攻擊者可以在C盤上使用如下WMI命令:

    圖4. 使用遠程WMI搜索本地文件

    三、相應的防御策略

    通常情況下,被惡意利用的域管帳戶是一個嚴重的安全隱患,并且需要花費很多時間才能解決這一問題。管理員應該立刻禁用具備管理員權限的可疑帳戶或者重置管理員帳戶的密碼。然而,為了確保未經授權的第三方人員訪問內部系統,我們還需要具備更多的專業知識。

    我們可以使用如下防御策略:

    1、定期審核GPO。

    2、為GPO使用定義清晰的命名約定。

    3、修改入侵檢測系統,覆蓋如下范圍:

    (1)記錄GPO的創建動作

    (2)記錄GPO的修改動作

    4、限制管理員用戶的權限。

    5、限制運行管理工具所能獲得的訪問權限。

    在我們的研究過程中,我們提取了域控伺服器上組策略文件夾的哈希值以便后續使用。利用之前提取的哈希信息,我們能避免攻擊者對GPO的惡意篡改。類似的策略已經在基于主機的入侵檢測系統中使用過。

    與其費盡心思修復被突破的系統,我們不如採取預防措施,使APT攻擊者的攻擊難以奏效。典型的APT場景通??梢苑譃樗膫€階段:準備階段、感染階段、部署階段以及駐留階段。這些階段是一個循環過程,在最初突破目標網絡后,攻擊者可以不斷重復這些過程拓展攻擊行動。APT攻擊的生命周期如圖5所示。

    圖5. APT生命周期

    不幸的是,目前我們尚未掌握一體化的解決方案來預防APT攻擊。根據APT攻擊的不同階段,我們建議採用不同的措施,如:

    1、(Web應用)防火墻。

    2、對網絡進行切割。

    3、使用網絡訪問控制(NAC)策略。

    4、主動安裝軟體及作業系統更新包。

    5、對暴露在網際網路中的系統或高度機密/敏感的系統部署多因素認證機制。

    6、監控安全事件。

    7、定期進行滲透測試。

    8、進行IT安全意識培訓。

    9、根據「最小權限」原則限制訪問權限。

    10、部署端點控制軟體。

    11、使用應用程式白名單。

    12、與同行業的其他公司建立安全聯盟。

    「深度防御」原則指的是使用多層次的安全控制策略以緩解甚至阻止攻擊活動,節省出來的時間可以用來檢測攻擊者正在進行的攻擊活動。我們部署的安全策略越多,攻擊者所需要付出的成本及資源也就越多。APT生命周期中每個階段都應該包含多條防線。防御網絡越緊密,攻擊者可以利用的突破點就越少。

    相關內容

    歡迎留言:

    学生粉嫩粉嫩好爽好爽视频
    <tr id="ho3tc"><sup id="ho3tc"></sup></tr>

      <acronym id="ho3tc"><ruby id="ho3tc"><address id="ho3tc"></address></ruby></acronym>

    1. <acronym id="ho3tc"></acronym>

    2. <td id="ho3tc"><strong id="ho3tc"><mark id="ho3tc"></mark></strong></td>