《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 在客戶端網(wǎng)絡(luò)上執(zhí)行外部滲透測試的完整指南

在客戶端網(wǎng)絡(luò)上執(zhí)行外部滲透測試的完整指南

2021-10-31
來源:嘶吼專業(yè)版
關(guān)鍵詞: 客戶端 滲透測試

  在執(zhí)行安全評估(例如滲透測試、Red Teaming等)后,我習慣于向客戶的高級管理層匯報已完成的工作。

  這為討論諸如使用的攻擊策略、技術(shù)和程序(TTPs)、使用的攻擊向量、發(fā)現(xiàn)、建議、補救措施等內(nèi)容創(chuàng)造了機會。

  很多時候,領(lǐng)導團隊都會對我最初在網(wǎng)絡(luò)上立足的一些方式或我使用的一些策略感到無比驚訝。

  對于他們中的大多數(shù)人來說,他們期待著像《碟中諜》中湯姆·克魯斯那種風格的黑客攻擊、繞過防火墻等等,結(jié)果卻發(fā)現(xiàn)我毫不費力地就破壞了他們的網(wǎng)絡(luò)。

  因此,我通常會花時間向我的客戶闡明現(xiàn)代攻擊通常是如何進行的,以及像一個脆弱的用戶憑據(jù)這樣簡單的小漏洞如何能夠顛覆整個網(wǎng)絡(luò)防御。

  事實是,網(wǎng)絡(luò)攻擊強調(diào)更多的是效率而不是精致。因此,攻擊者不會尋找最難的突圍闖入方法。他們通常會尋找最簡單的進入方式。

  我們通常將這種方法稱為阻力最小的路徑,其中一條路徑就是登錄憑據(jù)。只需一組用戶憑據(jù),您的整個網(wǎng)絡(luò)可能會落入敵人的手中。

  任務(wù)

  早在2018年,一家大型醫(yī)療保健組織就與我們簽約,對其外部網(wǎng)絡(luò)基礎(chǔ)設(shè)施進行外部滲透測試。對于從測試的范圍,該組織向我們提供了他們的域名和IP地址范圍。當然,目標是從互聯(lián)網(wǎng)上識別危害組織的攻擊向量。

  外部滲透測試清單

  偵察

  在其他滲透測試技術(shù)中,我無需提及或重復偵察在每次網(wǎng)絡(luò)攻擊或網(wǎng)絡(luò)滲透測試中的重要性。網(wǎng)絡(luò)殺傷鏈的這個階段是您被動或主動收集有關(guān)目標的情報的地方。

  我通常利用這個機會使用開源情報(OSINT)工具和平臺進行大量被動情報收集,以制定外部滲透測試計劃。在這個階段,我?guī)缀醪皇褂脪呙韫ぞ邅砉裟繕司W(wǎng)絡(luò),因為我可以獲得制定攻擊策略所需要的幾乎所有信息。

  那么,在這個階段我通常在尋找什么?好吧,在可以從OSINT中發(fā)現(xiàn)的大量信息中,我通常會重點關(guān)注的關(guān)鍵內(nèi)容包括:

  · 子域

  · 登錄門戶(Citrix、OWA、VPN、SharePoint等)

  · 技術(shù)類型(IIS等)

  · 電子郵件地址

  · 用戶名(很多)

  外部滲透測試工具

  使用諸如Google(Google.com)、Shodan(Shodan.io)、Censys(Censys.io)、connect.data.com、Ferge、Recon ng、SimpleMail、The Harvester、SpiderFoot(SpiderFoot.net)、Email Hunter(Hunter.io)、VirusTotal(VirusTotal.com)、FOCA、Maltego和Pastebin(Pastebin.com)等工具、網(wǎng)站和平臺,我能夠收集到大量關(guān)于我的客戶的信息,例如子域、電子郵件地址、用戶名、主機、網(wǎng)絡(luò)服務(wù)、開放端口、先前違規(guī)行為泄露的憑據(jù)、登錄門戶等。

  為了在寫這篇文章的同時對我的客戶的姓名進行保密,我使用了一個示例域和電子郵件搜索器來演示我獲取目標客戶的用戶名格式和電子郵件地址(然后提取用戶名)的多種方法之一。

  目標發(fā)展

  我在偵察階段花費了大量時間并收集了大量信息,隨后我瀏覽了收集到的大量數(shù)據(jù),并戰(zhàn)略性地繪制出我的攻擊面和我將使用的攻擊技術(shù)。

  在瀏覽這些數(shù)據(jù)時,我對通常向組織的LDAP或AD環(huán)境進行身份驗證的應用程序和網(wǎng)絡(luò)服務(wù)非常感興趣。

  這可能是SMB、OWA、Autodiscover、VPN、Citrix、Jenkins、SharePoint、定制應用程序等。一旦我發(fā)現(xiàn)了這樣的服務(wù)以及要攻擊的服務(wù),我就會組織我在偵察中發(fā)現(xiàn)的所有電子郵件地址和用戶名。

  我確保已刪除了重復的電子郵件地址、用戶名,還交叉檢查了外部用戶名和內(nèi)部域用戶名的格式是否相同,或者是否存在差異。

  在此階段結(jié)束時,我發(fā)現(xiàn)了客戶端的外部OWA和Citrix應用程序等,并且還獲得了近1,000個唯一用戶名。從這里開始,我已準備好進入我的殺傷鏈的下一階段。

  入侵

  對于大多數(shù)攻擊,這一階段對手會開始試圖獲得初始立足點。在這個階段,很多事情都是迭代的,因為這個階段使用的TTP會根據(jù)從偵察和目標開發(fā)階段收集的信息而變化。

  在外部滲透測試期間,效率是關(guān)鍵,并且在大多數(shù)情況下,保持最簡是您的最佳途徑。在滲透測試的早期,通常需要發(fā)現(xiàn)漏洞并對它們進行利用。

  然而,隨著對手的TTP不斷進化,我們也必須不斷發(fā)展。話雖如此,一種基本但有效的攻擊技術(shù)是基于身份驗證的攻擊,也稱為密碼暴力破解。

  在典型的密碼暴力破解攻擊中,您有一個用戶名,您嘗試針對該用戶名嘗試多個可能的密碼,希望該用戶使用的是您列表中的密碼之一。

  管理員變得更聰明,并開始實施帳戶鎖定策略,因此,在登錄嘗試達到一定閾值后(例如五次嘗試后),帳戶將被鎖定。為了對抗這種控制,出現(xiàn)了一種新的基于身份驗證的攻擊,稱為密碼噴射(有人稱之為水平攻擊、反向暴力破解等)。

  通過這種攻擊,攻擊者會收集多個用戶名或電子郵件地址(取決于被攻擊的應用程序或網(wǎng)絡(luò)服務(wù)的類型),然后針對所有用戶名或電子郵件地址嘗試使用一個密碼,以識別可能使用此類密碼的用戶之一。

  這種黑客技術(shù)在現(xiàn)實世界中的攻擊和我的大多數(shù)滲透測試活動中都有很高的成功率,并且這種情況將繼續(xù)存在。有多種工具可以執(zhí)行這種攻擊,但是,對于基于應用程序的密碼噴射攻擊,我首選的工具是Burp Suite。

  Burp Suite為我提供了足夠的空間來自定義我的密碼噴射,例如線程、節(jié)流、字符串grepping等。在為這次攻擊選擇密碼時,我通常嘗試季節(jié)+年份(例如Summer2018、Winter19等)、公司名稱+數(shù)字(例如Company123、Company2003等)、先前公司違規(guī)行為、地點、運動隊等的想法。老實說,為密碼噴射攻擊選擇密碼沒有所謂的正確或錯誤方法。

  在針對客戶端的Citrix Web應用程序設(shè)置和配置Web滲透測試工具Burp Suite中的所有內(nèi)容后,我開始緩慢而穩(wěn)定地發(fā)起攻擊。我的第一輪噴霧給了我兩個有效的用戶憑據(jù),密碼為Winter2017。

  使用發(fā)現(xiàn)的兩個用戶帳戶,我能夠以這些用戶的身份向客戶端的Citrix應用程序進行身份驗證。然而,令我沮喪的是,沒有一個用戶在他們的Citrix應用程序目錄中擁有應用程序。

  由于我已經(jīng)擁有兩個有效憑據(jù),因此我使用了Black Hills的MailSniper工具并轉(zhuǎn)儲了客戶端的OWA全局地址列表(GAL)。這為我的下一輪密碼噴射攻擊提供了額外的用戶名。

  這一次,我嘗試對客戶的OWA進行噴射攻擊,使用密碼Companyname123(我使用了實際客戶的名稱并在其后附加了數(shù)字123)。這給我?guī)砹藘蓚€額外的有效憑據(jù)。

  這一次,其中一位用戶在其Citrix應用程序目錄中有一個內(nèi)部SAP應用程序,并且該SAP應用程序?qū)⑹褂肐nternet Explorer打開。

  外部滲透測試中的橫向移動

  在橫向移動階段,無論是從應用程序級別還是網(wǎng)絡(luò)級別,攻擊者或滲透測試人員都已經(jīng)獲得了對目標的某種級別的訪問權(quán)限,包括有限訪問權(quán)限或完全訪問權(quán)限。

  從這一點來看,未來的目標是找到在目標網(wǎng)絡(luò)內(nèi)移動的方法,同時規(guī)避內(nèi)部網(wǎng)絡(luò)安全控制。

  我們(對手/滲透性測試者)使用獲得的訪問權(quán)限來收集額外的信息,以便在目標的內(nèi)部網(wǎng)絡(luò)中移動。

  基本上,我們回到了偵察階段,這可以是基于主機的情報收集和/或基于網(wǎng)絡(luò)的情報收集。同樣,此階段使用的技術(shù)可能因許多因素而異。

  Citrix突破

  此時,我已經(jīng)獲得了應用程序級別的訪問權(quán)限,我的下一個目標是獲得網(wǎng)絡(luò)級別的訪問權(quán)限。由于我有突破Citrix環(huán)境的經(jīng)驗,因此到了進入網(wǎng)絡(luò)級別的時機了。

  如果您有興趣閱讀有關(guān)Citrix突破的更多信息,NetSPI的同事們有一個很棒的博客(有關(guān)博客鏈接,請參閱On The Web部分)。為了執(zhí)行Citrix突圍攻擊,我使用Internet Explorer打開了受害者的SAP帳戶并嘗試保存網(wǎng)頁的源代碼。

  然后使用“文件”菜單中的“另存為”選項,我導航到了C:\Windows\System32\目錄并調(diào)用Windows CMD 實用程序(cmd.exe)。

  此彈出窗口打開了CMD,讓我可以訪問后端Citrix服務(wù)器。

  通過訪問后端Citrix服務(wù)器,我啟動了一個PowerShell Empire listener,生成了一個PowerShell啟動器,在Citrix服務(wù)器上執(zhí)行它,并從Citrix服務(wù)器回調(diào)到我的 Empire listener。

  Kerberoasting

  “關(guān)于Kerberoasting的評論和文章還不夠多,所以我不會在這里詳述它的解釋。我將直接討論接下來發(fā)生的事情。大多數(shù)情況下,Citrix服務(wù)器被認為是具有高價值的系統(tǒng),因此只有有限數(shù)量的用戶在服務(wù)器上擁有管理權(quán)限。

  話雖如此,我仍以非特權(quán)用戶身份訪問Citrix服務(wù)器的用戶帳戶。但是,任何域用戶帳戶均可用于請求服務(wù)主體名稱(SPN),這是Kerberos身份驗證使用的一種Windows特性,用于將服務(wù)實例與服務(wù)登錄帳戶關(guān)聯(lián)起來;例如,運行IIS的服務(wù)帳戶的SPN。

  可以使用Windows的內(nèi)置實用程序setspn.exe在本地查詢服務(wù)帳戶的AD,也可以使用Empire、Impackets、Metasploit等工具遠程完成。

  我使用我的Empire會話,轉(zhuǎn)儲了SPN并開始使用Hashcat破解密碼哈希。破解密碼的命令示例如下:

  hashcat -m 13100 -a 0 spn.outputpassword.list -r best64.rule -o kerb.cracked

  在查看SPN查詢輸出時,我注意到一些帳戶屬于Administrators組,而Hashcat碰巧破解了一個此類帳戶(IIS_Admin)的密碼哈希。

  憑證濫用/重用

  在這次外部滲透測試收集的初始信息中,我獲得了一些關(guān)于內(nèi)部網(wǎng)絡(luò)的重要情報,例如域管理員、企業(yè)管理員、域控制器等的列表。

  因此,為了有效地使用新獲得的憑據(jù)來破壞域,我需要確定域管理員或企業(yè)管理員已登錄會話或之前已登錄的系統(tǒng)。

  可以使用諸如netview.py、Invoke-EventHunter之類的工具來實現(xiàn)該目標。在我確定了域管理員和企業(yè)管理員進行會話的幾個系統(tǒng)之后,我使用IIS_Admin帳戶和破解的密碼啟動了針對這些系統(tǒng)的CrackMapExec。

  我確定了幾個系統(tǒng),其中IIS_Admin帳戶具有管理權(quán)限,并使用CrackMapExec中的Mimikatz模塊從這些框中提取憑據(jù)。

  在提取的憑據(jù)中,有一個屬于域管理員!我需要做的最后一件事是根據(jù)域控制器確認新域管理員憑據(jù)的有效性,并轉(zhuǎn)儲NTDS數(shù)據(jù)庫以進行離線密碼破解和分析。

  數(shù)據(jù)搜索和滲透

  對手的主要目標之一是訪問或提取敏感/關(guān)鍵數(shù)據(jù),我們粗略地將之稱為目標的”crown jewels“。它們可能是:

  · 用戶憑據(jù)

  · 秘方

  · 藍圖

  · 客戶資料

  · 個人身份信息(PII)

  · 病歷

  · 財務(wù)數(shù)據(jù)

  · 知識產(chǎn)權(quán)

  滲漏階段是將數(shù)據(jù)從目標的網(wǎng)絡(luò)環(huán)境移動到攻擊者控制的系統(tǒng)(例如C2服務(wù)器)的階段。這通常是數(shù)據(jù)搜尋活動的一部分。

  在過去,滲透測試只是為了獲得域管理員(DA)級別的訪問權(quán)限,這樣的日子已經(jīng)一去不復返了。

  現(xiàn)在,外部滲透測試需要證明,如果您的測試和攻擊由真實世界的對手執(zhí)行,您的客戶可能會遭受業(yè)務(wù)風險和影響。話雖如此,這是我們測試的關(guān)鍵階段之一。

  作為滲透測試人員,在將數(shù)據(jù)移出客戶環(huán)境之前,可能有必要與您的客戶確認參與規(guī)則(RoE)是否要求數(shù)據(jù)滲漏。

  如果允許,我會仔細分析要泄露的數(shù)據(jù)類型,以向客戶展示業(yè)務(wù)風險和影響。根據(jù)環(huán)境和受到攻擊的系統(tǒng),不同的滲漏技術(shù)可用于不同的情況。

  最后的話——外部滲透測試

  正如您在這篇文章中可能已經(jīng)注意到的那樣,我沒有在此測試中運行單個漏洞掃描。為什么要提這個?有幾次我看到一些滲透測試報告或工作聲稱是外部滲透測試,但實際上,它們是漏洞評估。

  關(guān)于滲透測試和漏洞評估之間差異的爭論已經(jīng)持續(xù)了很長時間,在這里我只是想分享我執(zhí)行外部滲透測試的眾多方法之一,由于我不是專家,所以我將不再討論它。




電子技術(shù)圖片.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。