在執(zhí)行安全評(píng)估(例如滲透測(cè)試、Red Teaming等)后,,我習(xí)慣于向客戶的高級(jí)管理層匯報(bào)已完成的工作,。
這為討論諸如使用的攻擊策略,、技術(shù)和程序(TTPs),、使用的攻擊向量,、發(fā)現(xiàn),、建議,、補(bǔ)救措施等內(nèi)容創(chuàng)造了機(jī)會(huì),。
很多時(shí)候,,領(lǐng)導(dǎo)團(tuán)隊(duì)都會(huì)對(duì)我最初在網(wǎng)絡(luò)上立足的一些方式或我使用的一些策略感到無(wú)比驚訝。
對(duì)于他們中的大多數(shù)人來(lái)說(shuō),,他們期待著像《碟中諜》中湯姆·克魯斯那種風(fēng)格的黑客攻擊,、繞過(guò)防火墻等等,結(jié)果卻發(fā)現(xiàn)我毫不費(fèi)力地就破壞了他們的網(wǎng)絡(luò),。
因此,,我通常會(huì)花時(shí)間向我的客戶闡明現(xiàn)代攻擊通常是如何進(jìn)行的,以及像一個(gè)脆弱的用戶憑據(jù)這樣簡(jiǎn)單的小漏洞如何能夠顛覆整個(gè)網(wǎng)絡(luò)防御,。
事實(shí)是,,網(wǎng)絡(luò)攻擊強(qiáng)調(diào)更多的是效率而不是精致。因此,,攻擊者不會(huì)尋找最難的突圍闖入方法,。他們通常會(huì)尋找最簡(jiǎn)單的進(jìn)入方式。
我們通常將這種方法稱(chēng)為阻力最小的路徑,,其中一條路徑就是登錄憑據(jù),。只需一組用戶憑據(jù),您的整個(gè)網(wǎng)絡(luò)可能會(huì)落入敵人的手中,。
任務(wù)
早在2018年,,一家大型醫(yī)療保健組織就與我們簽約,對(duì)其外部網(wǎng)絡(luò)基礎(chǔ)設(shè)施進(jìn)行外部滲透測(cè)試,。對(duì)于從測(cè)試的范圍,,該組織向我們提供了他們的域名和IP地址范圍。當(dāng)然,,目標(biāo)是從互聯(lián)網(wǎng)上識(shí)別危害組織的攻擊向量,。
外部滲透測(cè)試清單
偵察
在其他滲透測(cè)試技術(shù)中,我無(wú)需提及或重復(fù)偵察在每次網(wǎng)絡(luò)攻擊或網(wǎng)絡(luò)滲透測(cè)試中的重要性,。網(wǎng)絡(luò)殺傷鏈的這個(gè)階段是您被動(dòng)或主動(dòng)收集有關(guān)目標(biāo)的情報(bào)的地方,。
我通常利用這個(gè)機(jī)會(huì)使用開(kāi)源情報(bào)(OSINT)工具和平臺(tái)進(jìn)行大量被動(dòng)情報(bào)收集,,以制定外部滲透測(cè)試計(jì)劃。在這個(gè)階段,,我?guī)缀醪皇褂脪呙韫ぞ邅?lái)攻擊目標(biāo)網(wǎng)絡(luò),,因?yàn)槲铱梢垣@得制定攻擊策略所需要的幾乎所有信息。
那么,,在這個(gè)階段我通常在尋找什么,?好吧,在可以從OSINT中發(fā)現(xiàn)的大量信息中,,我通常會(huì)重點(diǎn)關(guān)注的關(guān)鍵內(nèi)容包括:
· 子域
· 登錄門(mén)戶(Citrix,、OWA、VPN,、SharePoint等)
· 技術(shù)類(lèi)型(IIS等)
· 電子郵件地址
· 用戶名(很多)
外部滲透測(cè)試工具
使用諸如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)站和平臺(tái),我能夠收集到大量關(guān)于我的客戶的信息,,例如子域,、電子郵件地址、用戶名,、主機(jī),、網(wǎng)絡(luò)服務(wù)、開(kāi)放端口,、先前違規(guī)行為泄露的憑據(jù),、登錄門(mén)戶等。
為了在寫(xiě)這篇文章的同時(shí)對(duì)我的客戶的姓名進(jìn)行保密,,我使用了一個(gè)示例域和電子郵件搜索器來(lái)演示我獲取目標(biāo)客戶的用戶名格式和電子郵件地址(然后提取用戶名)的多種方法之一,。
目標(biāo)發(fā)展
我在偵察階段花費(fèi)了大量時(shí)間并收集了大量信息,隨后我瀏覽了收集到的大量數(shù)據(jù),,并戰(zhàn)略性地繪制出我的攻擊面和我將使用的攻擊技術(shù),。
在瀏覽這些數(shù)據(jù)時(shí),,我對(duì)通常向組織的LDAP或AD環(huán)境進(jìn)行身份驗(yàn)證的應(yīng)用程序和網(wǎng)絡(luò)服務(wù)非常感興趣,。
這可能是SMB,、OWA、Autodiscover,、VPN,、Citrix、Jenkins,、SharePoint,、定制應(yīng)用程序等。一旦我發(fā)現(xiàn)了這樣的服務(wù)以及要攻擊的服務(wù),,我就會(huì)組織我在偵察中發(fā)現(xiàn)的所有電子郵件地址和用戶名,。
我確保已刪除了重復(fù)的電子郵件地址、用戶名,,還交叉檢查了外部用戶名和內(nèi)部域用戶名的格式是否相同,,或者是否存在差異。
在此階段結(jié)束時(shí),,我發(fā)現(xiàn)了客戶端的外部OWA和Citrix應(yīng)用程序等,,并且還獲得了近1,000個(gè)唯一用戶名。從這里開(kāi)始,,我已準(zhǔn)備好進(jìn)入我的殺傷鏈的下一階段,。
入侵
對(duì)于大多數(shù)攻擊,這一階段對(duì)手會(huì)開(kāi)始試圖獲得初始立足點(diǎn),。在這個(gè)階段,,很多事情都是迭代的,因?yàn)檫@個(gè)階段使用的TTP會(huì)根據(jù)從偵察和目標(biāo)開(kāi)發(fā)階段收集的信息而變化,。
在外部滲透測(cè)試期間,,效率是關(guān)鍵,并且在大多數(shù)情況下,,保持最簡(jiǎn)是您的最佳途徑,。在滲透測(cè)試的早期,通常需要發(fā)現(xiàn)漏洞并對(duì)它們進(jìn)行利用,。
然而,,隨著對(duì)手的TTP不斷進(jìn)化,我們也必須不斷發(fā)展,。話雖如此,,一種基本但有效的攻擊技術(shù)是基于身份驗(yàn)證的攻擊,也稱(chēng)為密碼暴力破解,。
在典型的密碼暴力破解攻擊中,,您有一個(gè)用戶名,,您嘗試針對(duì)該用戶名嘗試多個(gè)可能的密碼,希望該用戶使用的是您列表中的密碼之一,。
管理員變得更聰明,,并開(kāi)始實(shí)施帳戶鎖定策略,因此,,在登錄嘗試達(dá)到一定閾值后(例如五次嘗試后),,帳戶將被鎖定。為了對(duì)抗這種控制,,出現(xiàn)了一種新的基于身份驗(yàn)證的攻擊,,稱(chēng)為密碼噴射(有人稱(chēng)之為水平攻擊、反向暴力破解等),。
通過(guò)這種攻擊,,攻擊者會(huì)收集多個(gè)用戶名或電子郵件地址(取決于被攻擊的應(yīng)用程序或網(wǎng)絡(luò)服務(wù)的類(lèi)型),然后針對(duì)所有用戶名或電子郵件地址嘗試使用一個(gè)密碼,,以識(shí)別可能使用此類(lèi)密碼的用戶之一,。
這種黑客技術(shù)在現(xiàn)實(shí)世界中的攻擊和我的大多數(shù)滲透測(cè)試活動(dòng)中都有很高的成功率,并且這種情況將繼續(xù)存在,。有多種工具可以執(zhí)行這種攻擊,,但是,對(duì)于基于應(yīng)用程序的密碼噴射攻擊,,我首選的工具是Burp Suite,。
Burp Suite為我提供了足夠的空間來(lái)自定義我的密碼噴射,例如線程,、節(jié)流,、字符串grepping等。在為這次攻擊選擇密碼時(shí),,我通常嘗試季節(jié)+年份(例如Summer2018,、Winter19等)、公司名稱(chēng)+數(shù)字(例如Company123,、Company2003等),、先前公司違規(guī)行為、地點(diǎn),、運(yùn)動(dòng)隊(duì)等的想法,。老實(shí)說(shuō),為密碼噴射攻擊選擇密碼沒(méi)有所謂的正確或錯(cuò)誤方法,。
在針對(duì)客戶端的Citrix Web應(yīng)用程序設(shè)置和配置Web滲透測(cè)試工具Burp Suite中的所有內(nèi)容后,,我開(kāi)始緩慢而穩(wěn)定地發(fā)起攻擊。我的第一輪噴霧給了我兩個(gè)有效的用戶憑據(jù),密碼為Winter2017,。
使用發(fā)現(xiàn)的兩個(gè)用戶帳戶,,我能夠以這些用戶的身份向客戶端的Citrix應(yīng)用程序進(jìn)行身份驗(yàn)證。然而,,令我沮喪的是,,沒(méi)有一個(gè)用戶在他們的Citrix應(yīng)用程序目錄中擁有應(yīng)用程序。
由于我已經(jīng)擁有兩個(gè)有效憑據(jù),,因此我使用了Black Hills的MailSniper工具并轉(zhuǎn)儲(chǔ)了客戶端的OWA全局地址列表(GAL),。這為我的下一輪密碼噴射攻擊提供了額外的用戶名。
這一次,,我嘗試對(duì)客戶的OWA進(jìn)行噴射攻擊,使用密碼Companyname123(我使用了實(shí)際客戶的名稱(chēng)并在其后附加了數(shù)字123),。這給我?guī)?lái)了兩個(gè)額外的有效憑據(jù),。
這一次,其中一位用戶在其Citrix應(yīng)用程序目錄中有一個(gè)內(nèi)部SAP應(yīng)用程序,,并且該SAP應(yīng)用程序?qū)⑹褂肐nternet Explorer打開(kāi),。
外部滲透測(cè)試中的橫向移動(dòng)
在橫向移動(dòng)階段,無(wú)論是從應(yīng)用程序級(jí)別還是網(wǎng)絡(luò)級(jí)別,,攻擊者或滲透測(cè)試人員都已經(jīng)獲得了對(duì)目標(biāo)的某種級(jí)別的訪問(wèn)權(quán)限,,包括有限訪問(wèn)權(quán)限或完全訪問(wèn)權(quán)限。
從這一點(diǎn)來(lái)看,,未來(lái)的目標(biāo)是找到在目標(biāo)網(wǎng)絡(luò)內(nèi)移動(dòng)的方法,,同時(shí)規(guī)避內(nèi)部網(wǎng)絡(luò)安全控制。
我們(對(duì)手/滲透性測(cè)試者)使用獲得的訪問(wèn)權(quán)限來(lái)收集額外的信息,,以便在目標(biāo)的內(nèi)部網(wǎng)絡(luò)中移動(dòng),。
基本上,我們回到了偵察階段,,這可以是基于主機(jī)的情報(bào)收集和/或基于網(wǎng)絡(luò)的情報(bào)收集,。同樣,此階段使用的技術(shù)可能因許多因素而異,。
Citrix突破
此時(shí),,我已經(jīng)獲得了應(yīng)用程序級(jí)別的訪問(wèn)權(quán)限,我的下一個(gè)目標(biāo)是獲得網(wǎng)絡(luò)級(jí)別的訪問(wèn)權(quán)限,。由于我有突破Citrix環(huán)境的經(jīng)驗(yàn),,因此到了進(jìn)入網(wǎng)絡(luò)級(jí)別的時(shí)機(jī)了。
如果您有興趣閱讀有關(guān)Citrix突破的更多信息,,NetSPI的同事們有一個(gè)很棒的博客(有關(guān)博客鏈接,,請(qǐng)參閱On The Web部分)。為了執(zhí)行Citrix突圍攻擊,,我使用Internet Explorer打開(kāi)了受害者的SAP帳戶并嘗試保存網(wǎng)頁(yè)的源代碼,。
然后使用“文件”菜單中的“另存為”選項(xiàng),,我導(dǎo)航到了C:\Windows\System32\目錄并調(diào)用Windows CMD 實(shí)用程序(cmd.exe)。
此彈出窗口打開(kāi)了CMD,,讓我可以訪問(wèn)后端Citrix服務(wù)器,。
通過(guò)訪問(wèn)后端Citrix服務(wù)器,我啟動(dòng)了一個(gè)PowerShell Empire listener,,生成了一個(gè)PowerShell啟動(dòng)器,,在Citrix服務(wù)器上執(zhí)行它,并從Citrix服務(wù)器回調(diào)到我的 Empire listener,。
Kerberoasting
“關(guān)于Kerberoasting的評(píng)論和文章還不夠多,,所以我不會(huì)在這里詳述它的解釋。我將直接討論接下來(lái)發(fā)生的事情,。大多數(shù)情況下,,Citrix服務(wù)器被認(rèn)為是具有高價(jià)值的系統(tǒng),因此只有有限數(shù)量的用戶在服務(wù)器上擁有管理權(quán)限,。
話雖如此,,我仍以非特權(quán)用戶身份訪問(wèn)Citrix服務(wù)器的用戶帳戶。但是,,任何域用戶帳戶均可用于請(qǐng)求服務(wù)主體名稱(chēng)(SPN),,這是Kerberos身份驗(yàn)證使用的一種Windows特性,用于將服務(wù)實(shí)例與服務(wù)登錄帳戶關(guān)聯(lián)起來(lái),;例如,,運(yùn)行IIS的服務(wù)帳戶的SPN。
可以使用Windows的內(nèi)置實(shí)用程序setspn.exe在本地查詢服務(wù)帳戶的AD,,也可以使用Empire,、Impackets、Metasploit等工具遠(yuǎn)程完成,。
我使用我的Empire會(huì)話,,轉(zhuǎn)儲(chǔ)了SPN并開(kāi)始使用Hashcat破解密碼哈希。破解密碼的命令示例如下:
hashcat -m 13100 -a 0 spn.outputpassword.list -r best64.rule -o kerb.cracked
在查看SPN查詢輸出時(shí),,我注意到一些帳戶屬于Administrators組,,而Hashcat碰巧破解了一個(gè)此類(lèi)帳戶(IIS_Admin)的密碼哈希。
憑證濫用/重用
在這次外部滲透測(cè)試收集的初始信息中,,我獲得了一些關(guān)于內(nèi)部網(wǎng)絡(luò)的重要情報(bào),,例如域管理員、企業(yè)管理員,、域控制器等的列表,。
因此,為了有效地使用新獲得的憑據(jù)來(lái)破壞域,我需要確定域管理員或企業(yè)管理員已登錄會(huì)話或之前已登錄的系統(tǒng),。
可以使用諸如netview.py,、Invoke-EventHunter之類(lèi)的工具來(lái)實(shí)現(xiàn)該目標(biāo)。在我確定了域管理員和企業(yè)管理員進(jìn)行會(huì)話的幾個(gè)系統(tǒng)之后,,我使用IIS_Admin帳戶和破解的密碼啟動(dòng)了針對(duì)這些系統(tǒng)的CrackMapExec,。
我確定了幾個(gè)系統(tǒng),其中IIS_Admin帳戶具有管理權(quán)限,,并使用CrackMapExec中的Mimikatz模塊從這些框中提取憑據(jù),。
在提取的憑據(jù)中,有一個(gè)屬于域管理員,!我需要做的最后一件事是根據(jù)域控制器確認(rèn)新域管理員憑據(jù)的有效性,,并轉(zhuǎn)儲(chǔ)NTDS數(shù)據(jù)庫(kù)以進(jìn)行離線密碼破解和分析。
數(shù)據(jù)搜索和滲透
對(duì)手的主要目標(biāo)之一是訪問(wèn)或提取敏感/關(guān)鍵數(shù)據(jù),,我們粗略地將之稱(chēng)為目標(biāo)的”crown jewels“,。它們可能是:
· 用戶憑據(jù)
· 秘方
· 藍(lán)圖
· 客戶資料
· 個(gè)人身份信息(PII)
· 病歷
· 財(cái)務(wù)數(shù)據(jù)
· 知識(shí)產(chǎn)權(quán)
滲漏階段是將數(shù)據(jù)從目標(biāo)的網(wǎng)絡(luò)環(huán)境移動(dòng)到攻擊者控制的系統(tǒng)(例如C2服務(wù)器)的階段。這通常是數(shù)據(jù)搜尋活動(dòng)的一部分,。
在過(guò)去,滲透測(cè)試只是為了獲得域管理員(DA)級(jí)別的訪問(wèn)權(quán)限,,這樣的日子已經(jīng)一去不復(fù)返了,。
現(xiàn)在,外部滲透測(cè)試需要證明,,如果您的測(cè)試和攻擊由真實(shí)世界的對(duì)手執(zhí)行,,您的客戶可能會(huì)遭受業(yè)務(wù)風(fēng)險(xiǎn)和影響。話雖如此,,這是我們測(cè)試的關(guān)鍵階段之一,。
作為滲透測(cè)試人員,在將數(shù)據(jù)移出客戶環(huán)境之前,,可能有必要與您的客戶確認(rèn)參與規(guī)則(RoE)是否要求數(shù)據(jù)滲漏,。
如果允許,我會(huì)仔細(xì)分析要泄露的數(shù)據(jù)類(lèi)型,,以向客戶展示業(yè)務(wù)風(fēng)險(xiǎn)和影響,。根據(jù)環(huán)境和受到攻擊的系統(tǒng),不同的滲漏技術(shù)可用于不同的情況,。
最后的話——外部滲透測(cè)試
正如您在這篇文章中可能已經(jīng)注意到的那樣,,我沒(méi)有在此測(cè)試中運(yùn)行單個(gè)漏洞掃描。為什么要提這個(gè),?有幾次我看到一些滲透測(cè)試報(bào)告或工作聲稱(chēng)是外部滲透測(cè)試,,但實(shí)際上,它們是漏洞評(píng)估。
關(guān)于滲透測(cè)試和漏洞評(píng)估之間差異的爭(zhēng)論已經(jīng)持續(xù)了很長(zhǎng)時(shí)間,,在這里我只是想分享我執(zhí)行外部滲透測(cè)試的眾多方法之一,,由于我不是專(zhuān)家,所以我將不再討論它,。