蘇柏翰 - 專業實習報告


蘇柏翰 資策會 – 跨域攻防鑑識組

工作環境介紹

我在資策會這個大家庭的中,我在資安所 – 智慧雲端中心,跨域攻防鑑識組工作,我的組別人數不多九個人,組內也有兩名研習生
我的工作環境有單獨座位,且由於我們組內位置有些不足的原因,我剛好跟我的主管坐在隔壁。公司配發了一台筆電,其實也可以選要不要桌機,不過由於我自己的私人機電池壞掉,無法應付報告,所以我選擇筆電。另外還有一台顯示器跟鍵盤等等外設。
樣子暑假前後其實都差不多,有個額外的區別是,我們這區本來還有別組一起分位子,後來他們搬走了,現在非常安靜,有時都跑去開會時,安靜地令人感到可怕。

工作詳述

我們那邊有一項正在開發的資安系統,可以在企業中測試自己是否有被被什麼新型態漏洞攻擊的可能性,平常可以佈署那些防禦、偵測手段,並且在事件發生時,有一套應對措施。可以理解成,我是在裡面負責研究的漏洞,收集相關的資料並製成測試攻擊用的腳本。
所以我的工作主要在復現 CVE Exploit PoC 或攻擊滲透手法與駭客工具,研析攻擊原理,並將復現過程及結果詳細記錄至文件中,同時蒐集偵測該攻擊手法之 Windows Audit Log、Suricata/Snort Rule 或 Sigma Rule等,並嘗試製作針對該攻擊的事件響應手冊,以供公司的SOC (Security Operation Center) 資安監控中心使用,可同時檢驗規則是否能有效偵測到實際攻擊。
次要的話,我最近的業務是,若出現針對我們公司的攻擊事件,我也會協同處理,除了提出對事件處理的看法與手段,還包括復盤攻擊流程,最後提出具體的PlayBook,也就是事件響應手冊 ,以供事件響應人員下次遇到實際攻擊事件時,可根據SOP快速處理,以減少損失。

實習期間完成的進度

目前我以完成多項漏洞的研究,如下,並且皆已製成快速使用之攻擊腳本並且掌握了,相關攻擊工具如Metasploit 攻擊框架,Powershell-empire 使用。

漏洞編號 漏洞成功截圖
CVE-2021-36942
(PETITPOTAM)
LPE
取得企業AD 核心主機之操作權限
說明 PetitPotam可以利用MS-EFSR(EFSRPC)協定,來逼迫域中其中一台Server(例如DC Server)向任意一台Server發起身分驗證,成功驗證後有多種不同的利用方式,例如向AD CS的Web憑證頒發服務申請憑證,這些方法在舊版本的情況下都可以匿名觸發
CVE-2021-40444
RCE
取得受害者主機之操作權限
說明 攻擊者透過製作含有惡意ActiveX元件的office文件,並騙取使用者點開,藉由使用者載入office文件時,同時也把惡意程式.dll檔載入電腦,已達成遠端執行攻擊
CVE-2022-26923
LPE
取得企業AD 核心主機之操作權限
說明 攻擊者可透過修改申請憑證時的dNSHostName 屬性,便可為偽裝成任意主機申請憑證 舉例來說,當刪除servicePrincipalName 裡面帶有 dNSHostName 的數值時,dNSHostName 設定就不會受任何限制,因此可以偽裝成DC主機來取得主機的憑證。
CVE-2022-30190(FOLLINA)
RCE
透過RCE執行計算機
說明 通過對msdt.exe傳入惡意路徑與參數,可injection其特定腳本,導致執行任意程式,例如結合office文件引用ole文件,其中透過引用html文件,可以帶入msdt://路徑來觸發漏洞
CVE-2022-41040 & CVE-2022-41082 (PROXYNOTSHELL)
RCE
取得企業電子郵件主機之操作權限
說明 透過CVE-2022-41040的SSRF漏洞,可對Exchange Server內部Powershell管理端點發送Request,再結合CVE-2022-41082 物件反序列化漏洞,達成遠端執行,可順便直接取得最大管理權限
CVE-2022-41080 & CVE-2022-41082 (OWASSRF)
RCE
取得企業電子郵件主機之操作權限
說明: 與ProxyNotShell 類似,透過向Outlook Web Access往PowerShell端點發送多個含有CVE-2022-41082反序列化的封包達成遠端執行,可順便直接取得最大管理權限
CVE-2023-23397
LPE
竊取到登入金鑰
說明 透過發送一封包含 MAPI 擴充功能與 UNC路徑 的電子郵件,此電子郵件會為受害者設定自定義提醒鈴聲,Outlook為了嘗試取得該鈴聲,而嘗試與攻擊者的 SMB伺服器 進行 NTLM認證以下載檔案,進而導致洩漏受害者的 NTLM Hash給攻擊者
NTFS 特性利用
RCE
寫入後門操作程式
說明 透過利用NTFS ADS資料流的特性,可繞過未經嚴格設計的上傳檔案網頁伺服器,寫入任意檔案,進而導致遭植入後門惡意程式
(INCIDENT)
SQL INJECTION
說明 這個事件有趣許多,因為是實際攻擊事件複盤,攻擊者主要先透過某系統的Web漏洞,取得IIS 網頁Server的控制權,並投放存取Shell之Web Shell,之後為了更進一步入侵內網,使用xp_cmdshell在SQL Server取得操作權限,此步便被SOC監控中心捕捉,無下一步利用
PRIVEXCHANGE
(CVE-2018-8581)
LPE
提權取得AD之複製(Replication)權限,可取得AD中所有人資料,包括登入Credentials
說明 透過Exchange Server不恰當的權限設置,導致該帳號對整個AD有太大權限,進而可以再利用訂閱服務通知的漏洞,強制該伺服器對你進行認證,透過NTLM Relay手法,就可以利用該帳號進行後續利用,如DC SYNC
KERBEROS BRONZE BIT (CVE-2020-17049)
LPE
結合RBCD攻擊取得Ticket
說明 此漏洞主要結合其他利用進行操作,例如透過CVE-2022-26923可取得憑證,但在AD中沒有辦法直接使用,那就可以這個CVE繞過一下特定的權限限制,發動RBCD攻擊和Pass the Ticket,就可以取得DC操作權限了
KRBUACBYPASS(無編號)
LPE
說明 此漏洞主要結合Windows本身UAC與Kerberos結合後的,方便管理員的在本機提升權限進行操作的功能,其中的檢查機制不確實進行,而被錯誤使用導致被提升到系統最大權限
TSCON,SESSIONS任意跳脫利用
(無編號)
LPE
說明 只要先取得本機系統最大權限後,便可以利用此漏洞,在Windows中 任意進入其他人的Sessions中,甚至搶下遠端RDP連接的操作Sessions,是一種跳進含有Domain操作權限的提權手法,甚至最好的結果是管理員權限的操作介面
SAMACCOUNTNAME SPOOFING
(CVE-2021–42278)
LPE
說明 此漏洞主要利用AD針對sAMAccount Name沒有仔細檢查,進而再加入特殊符號後,會導致混淆,進而取得可以代表他人操作,最後Pass the Ticket取得關鍵主機權限
CVE-2023-38831
RCE
說明 此漏洞主要為釣魚類型,屬於WinRAR錯誤執行檔案的漏洞,可以在對方機器中建立後門。本質上是WinRAR錯誤的判斷檔案長度,進而將惡意腳本解壓縮,然後再結合Windows針對可執行檔的邏輯,進而在點擊正確文件時,找不到檔案,反而執行惡意腳本
CVE-2023-46747
LPE(偽RCE)
說明 此CVE與我平常研究的有些許差異,此為一般商業產品的漏洞,這個特別在,他是跟企業VPN有關的,若被攻擊的話,可以導致攻擊者更容易地滲透企業網路。此CVE本為權限提升漏洞,但由於TMUI的設計問題,導致可以利用內建的API,直接呼叫BASH進行遠端執行

目前我跟公司同仁討論後,歸納出我目前的攻擊路徑圖,由於非常大張,我將其拆成三個部分來解釋。
第一部分,主要是Initial Access跟本機內的Privilege Escalation,還有簡易的Reconnaissance ,這些步驟主要是供攻擊者入侵後, 為了進行真正的入侵前的前哨站,Privilege Escalation是為了方便攻擊者,能最大程度的方式收集資料。實際上真實的攻擊活動,反而這步花的時間最長,要挑選出最好的入侵手段,必須成功。

第二個部分,也是相當攻擊主要發生的一環,主要是針對Domain的權限提升,因為AD特殊的架構導致,只要能取得高權限的帳號後,其他所有仰賴此帳號管理系統的服務會全部受害,通常這一步會又快又安靜,盡可能地讓受害者無法察覺,也來不及處理。

基本上到這步時,已經完全對Domain的奪取,此時間便是『後利用』的部分,這邊列出了一些常見的持久性手段,做完持久性後要做什麼端看攻擊者的目標,也就是駭客透過特定技巧,讓他以取得的最高權限不輕易被移除,才方便進行他的惡意行為,如勒索、資料竊密等等。

工作中所學習到的東西

技術面:

在工作的過程中,我主要學到了關於攻擊的思路,要符合MITRE ATT&CK攻擊矩陣的思路,從偵查、武裝、運送、利用、控制、發動攻擊,才會是有效地攻擊鍊,也才是攻擊者實際的思路,例如上頁的攻擊鍊為成果。
我另外很大的一部分,是研究新出的漏洞,由於我們面向的是Windows平台,我更多學到的是如何檢查並確認那些漏洞的存在,並且收集該漏洞被攻擊者利用後,會留下的痕跡,例如可能會留下那些檔案,執行時的結構等等。由於我們在攻擊時,會嘗試就地取材,此時也會需要留意對方機器上,以當時的權限情況,我們可以利用哪些資源?下圖為我收集攻擊者程式的攻擊特徵圖

還有一部分是,我會試著將其製成攻擊腳本,這邊我又學到了關於編寫bash 腳本 / python程式的相關知識,有時,如下這張圖,便是利用腳本,自動化的控制powershell-empire C2框架。

除了上面提到的內容以外,我還有幫忙分析攻擊事件後的痕跡,並且盡可能的復盤環境,這樣我才有辦法提出具體的可能痕跡,以及即時緩解的方案,甚至是製作具體的完整事件處理手冊,例如下頁圖中便是SQL Server攻擊後,駭客使用執行功能,可能會出現的痕跡

這個部分則是考量到要如何預防事件再次發生,不單單只是針對特定的存取限制,且針對其他特定應用帳號進行處理,避免受害損失擴大。

最後,其實我實習的這個小組,他們有個機制是每兩周便會召集所有組內研習生,開研究分享會議,我在這個會議中,我的其他同事是做關於資安情資的NLP(自然語言處理),也多學到了關於神經網路的相關知識,是額外的收穫。

非技術面:

在整年的實習過程中,我學到最多的,仍然是與人溝通的能力,我時常需要配合同事,像是交流應變措施等,我也需要說服對方我的看法。我也需要學會如何以專業的角度講解,特別是我有另一名同事,同時算是我的夥伴,我時常需要教他許多知識,指導他某項操作,同時也學到耐心的重要性,畢竟不可能每個人都知道所有的東西,要多講幾次才會比較了解。
平時我也會需要為我所編寫的腳本,或是研究的新漏洞,編寫相關文件,因此我也學到了如何規範式的寫文件,且重點要考慮到各種情況,讓之後的人在使用這些腳本/程式時,才有辦法解決遇到的問題。

另外就是由於我們組內有研習生會議,我也練習了如何製作一個容易讓所有人理解的簡報,並且在會議中講解給所有人聽,不單單只有練習說話的能力,還有製作一個,事後沒有我說明的情況下,也能輕易理解的簡報。

自我評估及心得感想

在目前約半年到整個暑假的實習生涯中,我感到非常的充實,除了之前提到學到了不少真實企業攻擊情況,還有在事件真實發生時,到底要如何解決,哪些步驟要先實施,那些資料需要收集。能實際的體驗的這種真實的事件,是在學校中難以學到的內容,雖然辛苦,但確實學到了不少東西,幸好資安仍是我主要的興趣與專長,我仍樂此不疲,不容易感到厭煩與疲累。

對系上的建議

我認為系上大多數的事情,已幫我們學生處理好,沒有什麼大問題,只是我這屆的資安相關實習有些少,希望系上可以幫學弟妹多找相關工作,因業界也相對缺人,待遇並不差,且沒有太多特定要求/限制,可以至公司再學,如果學校能針對資安的課程,再多開幾堂,也會讓學生能先建立更多的知識,在面對公司面試時才有更多的可講。


Author: 蘇柏翰
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source 蘇柏翰 !
  TOC