紅藍(lán)對(duì)抗場(chǎng)景下的二三事
背景
未知攻焉知防,警察想要抓小偷,就該先摸透小偷的想法,才能更快捷的抓到小偷畢竟小偷抓小偷更容易。網(wǎng)絡(luò)安全的攻與防,好比“矛”與“盾”,要想不被“矛”輕易刺穿,不僅需要了解“矛”的作戰(zhàn)方式,同時(shí)也要不斷強(qiáng)化“盾”的防御能力。謹(jǐn)以此文討論一下在紅藍(lán)對(duì)抗場(chǎng)景下幾個(gè)關(guān)鍵的技術(shù)點(diǎn)的二三事。
暴露面
大多數(shù)定向攻擊場(chǎng)景里攻擊者都會(huì)針對(duì)受害者目標(biāo)進(jìn)行大量的信息收集,比較常用的方式比如通過(guò)網(wǎng)絡(luò)空間搜索引擎與各個(gè)互聯(lián)網(wǎng)技術(shù)論壇、開(kāi)源站點(diǎn)等獲取到盡可能多的目標(biāo)信息、包括不局限于一些開(kāi)源的應(yīng)用、服務(wù)器開(kāi)發(fā)的特殊端口、常用的用戶名格式、密碼、網(wǎng)絡(luò)拓?fù)?、?nèi)網(wǎng)網(wǎng)段、建站框架、數(shù)據(jù)庫(kù)類型、中間件版本、甚至是一些泄漏的VPN帳號(hào)等。比如很多內(nèi)部非技術(shù)類員工將一些VPN技術(shù)指南上傳了百度網(wǎng)盤還共享給了其他人,里面包含了帳號(hào)、VPN接入IP或者默認(rèn)密碼等信息,被惡意攻擊者獲取到該信息可能會(huì)直接導(dǎo)致內(nèi)網(wǎng)的被攻破。又或者是一個(gè)業(yè)務(wù)系統(tǒng)的開(kāi)發(fā)人員,將自己的開(kāi)源項(xiàng)目直接上傳到了github后并沒(méi)有修改里面數(shù)據(jù)庫(kù)連接的配置文件,抑或是該項(xiàng)目存在一些命令執(zhí)行、任意文件下載等問(wèn)題被攻擊者發(fā)現(xiàn),也會(huì)造成極大的風(fēng)險(xiǎn)。
針對(duì)防守方本身而已,首先需要做到就是對(duì)當(dāng)前的網(wǎng)絡(luò)環(huán)境的安全狀態(tài)有一個(gè)比較合理的評(píng)估,結(jié)合對(duì)攻防的理解識(shí)別出網(wǎng)絡(luò)當(dāng)中可能存在的風(fēng)險(xiǎn),整理好當(dāng)前的一些暴露面的信息。就算千叮嚀萬(wàn)囑咐的要提高員工的信息安全意識(shí),當(dāng)然這個(gè)也是老生常淡要想完全避免這些情況的發(fā)生也幾乎不可能,想要徹底解決此類問(wèn)題更是難上加難。更多的努力應(yīng)該是在梳理好內(nèi)網(wǎng)的資產(chǎn)后,結(jié)合當(dāng)前的業(yè)務(wù)邏輯與網(wǎng)絡(luò)拓?fù)浞治龀隹赡艽嬖诘娜肟邳c(diǎn),識(shí)別風(fēng)險(xiǎn)與威脅針對(duì)性的做一些防護(hù)措施,加強(qiáng)訪問(wèn)控制、強(qiáng)制使用強(qiáng)密碼、周期性的更換密碼等方式都是一些合理且實(shí)用的方式。
入口點(diǎn)邊界
攻擊者的對(duì)象是一個(gè)點(diǎn),防御的卻是一個(gè)面。對(duì)于大多數(shù)攻擊者來(lái)說(shuō)滲透一個(gè)跨國(guó)大型的國(guó)有企業(yè)內(nèi)網(wǎng)要比攻破一個(gè)小而精的金融互聯(lián)網(wǎng)要容易一些,比較組織結(jié)構(gòu)復(fù)雜、互聯(lián)網(wǎng)資產(chǎn)更多容易出現(xiàn)更多的薄弱環(huán)節(jié);主要的業(yè)務(wù)系統(tǒng)官方網(wǎng)站應(yīng)用、CRM系統(tǒng)、業(yè)務(wù)系統(tǒng)往往有具備良好的安全防護(hù),不同安全廠家的安全設(shè)備估計(jì)也是各種安排,常規(guī)攻擊手法容易被攔截在大門之外。對(duì)于大型的集團(tuán)類的公司下屬的子公司、下屬單位、冷門的業(yè)務(wù)系統(tǒng)系統(tǒng)、測(cè)試系統(tǒng)往往難度會(huì)降低不少,捏柿子還是軟的好。但同時(shí)風(fēng)險(xiǎn)也有 有時(shí)候不容易連接到母公司核心內(nèi)網(wǎng)可能就做了一些無(wú)用功。所以至于入口點(diǎn)的邊界往往就不僅僅局限于當(dāng)前網(wǎng)絡(luò)的邊界,這個(gè)網(wǎng)到底有多大也就只有業(yè)務(wù)人員自己知道了。
還有一些常見(jiàn)的入口點(diǎn)主要是一些網(wǎng)絡(luò)設(shè)備的風(fēng)險(xiǎn),比如VPN、堡壘機(jī)、邊界路由器防火墻一類的,前幾年就有過(guò)國(guó)外某安全廠商的防火墻存在漏洞的問(wèn)題。漏洞當(dāng)然還是少數(shù),默認(rèn)用戶、默認(rèn)密碼之類的反而更加常見(jiàn)一些,特別是針對(duì)特定場(chǎng)景下面結(jié)合工號(hào)、用戶名、密碼、TOP500常用姓名的爆破尤為危險(xiǎn)。
Web系統(tǒng)的弱口令也是常見(jiàn)的入口點(diǎn)之一,對(duì)公網(wǎng)的web系統(tǒng)如果存在一些知名的RCE的話估計(jì)早就被各種挖礦、黑鏈、勒索給盯上了,但是特別一些非常規(guī)的弱密碼的風(fēng)險(xiǎn)類型就很高了比如P@ssw0rd、姓名+數(shù)字、以及結(jié)合特定公司場(chǎng)景、業(yè)務(wù)場(chǎng)景生成的弱口令的情況。通過(guò)登錄用戶上傳webshell 獲取讀取敏感信息、注冊(cè)用戶信息甚至獲取到系統(tǒng)shell的情況,可能會(huì)造成更大的風(fēng)險(xiǎn)。
數(shù)據(jù)庫(kù)資產(chǎn)
數(shù)據(jù)庫(kù)資產(chǎn)也是經(jīng)常收到攻擊者關(guān)注的方向之一,拿到了數(shù)據(jù)庫(kù)的權(quán)限后除了獲取到里面的數(shù)據(jù)信息之外也可以依次為跳板進(jìn)行下一步的攻擊。數(shù)據(jù)庫(kù)表里面往往存儲(chǔ)有相關(guān)的用戶名、帳號(hào)等敏感信息而往往內(nèi)網(wǎng)里面很多資產(chǎn)在口令認(rèn)可都能與之有關(guān)聯(lián)性。實(shí)在沒(méi)有思路,也能針對(duì)部分用戶實(shí)施針對(duì)性釣魚(yú)、社工也是一種突破手法。目前依然還是有不少企業(yè)將自己的數(shù)據(jù)庫(kù)映射到公網(wǎng),還不設(shè)置相應(yīng)的安全策略或者存在admin/123456 root/root一類的弱口令問(wèn)題,基本上就是送分題一樣的存在了。攻擊者拿到一個(gè)高權(quán)限的mssql用戶開(kāi)啟xp_cmdshell之后,一個(gè)突破口帶來(lái)的就是內(nèi)網(wǎng)漫游擴(kuò)大戰(zhàn)果了;大多數(shù)用戶往往也不會(huì)更改數(shù)據(jù)的端口都是默認(rèn)的1521、3306、1433等,攻擊者拿出掃描器就掃描這些數(shù)據(jù)庫(kù)端口正中下懷,改成一個(gè)特定的5位數(shù)的端口,常規(guī)業(yè)務(wù)也不會(huì)訪問(wèn)就算掃描也掃描全全端口也才能發(fā)現(xiàn),無(wú)形之下增加了發(fā)現(xiàn)難度也同時(shí)縮短了發(fā)現(xiàn)攻擊者的時(shí)間,一舉二得豈不快哉。
本質(zhì)上來(lái)說(shuō)數(shù)據(jù)庫(kù)資產(chǎn)應(yīng)該是重點(diǎn)關(guān)注的對(duì)象之一,除了加強(qiáng)密碼測(cè)試與安全測(cè)試之外,一個(gè)適合業(yè)務(wù)的訪問(wèn)限制往往就是最后一道防線。在攻擊者通過(guò)其他方式獲取到認(rèn)證口令之下,依然由于源IP的原因無(wú)法登錄認(rèn)證查看到相應(yīng)的數(shù)據(jù),也不失為一種棄軍保帥的做法。
橫向移動(dòng)
在攻擊者獲取到內(nèi)網(wǎng)的跳板機(jī)之后,下一步自然就是百尺竿頭更進(jìn)一步。盡可能的擴(kuò)大戰(zhàn)果。內(nèi)網(wǎng)資產(chǎn)收集往往具備有很多的網(wǎng)絡(luò)行為,常規(guī)的存活性掃描、端口掃描、SYN掃描、Banner掃描、甚至是C段 B段的掃描流量層面動(dòng)靜還是有點(diǎn)大的。在跳板機(jī)上收集信息動(dòng)靜會(huì)小不少本地查看一下ARP緩存、ifconfig看一下網(wǎng)關(guān)的地址等方式,雖然信息有限但是基本上不會(huì)被流量層面的安全設(shè)備發(fā)現(xiàn)。當(dāng)然了掃描是有必要掃描的但是方法很多,動(dòng)靜小點(diǎn)的方法也很多,這里就不展開(kāi)討論。
有時(shí)候?yàn)榱丝焖佾@取權(quán)限拿下更多的服務(wù)器,動(dòng)靜大點(diǎn)也無(wú)所謂了。內(nèi)網(wǎng)里常見(jiàn)的漏洞利用比如MS17-010、MS08-067、RDP爆破、SMB暴力破解、數(shù)據(jù)庫(kù)爆破、S2漏洞利用、weblogic RCE系列等方式都是不錯(cuò)的選擇,由于甲方對(duì)內(nèi)網(wǎng)安全重視度不夠往往內(nèi)網(wǎng)服務(wù)器、主機(jī)很多安全補(bǔ)丁都是沒(méi)有打的,內(nèi)部的web系統(tǒng)也疏于修復(fù)高危漏洞、弱口令問(wèn)題、一個(gè)帳號(hào)多個(gè)登錄的問(wèn)題的情況是屢見(jiàn)不鮮,內(nèi)網(wǎng)往往還有一些特殊的應(yīng)用比如SVN、gitlab、zabbix、redis、企業(yè)wiki、OA系統(tǒng)等風(fēng)險(xiǎn)業(yè)務(wù)都可能是重大突破口。
通過(guò)mimikatz獲取到跳板機(jī)的用戶名密碼之后,對(duì)多個(gè)主機(jī)進(jìn)行登錄抓住幾個(gè)漏網(wǎng)之魚(yú)也不是什么難事,說(shuō)不定windows的賬戶還能登錄linux服務(wù)器甚至多個(gè)服務(wù)器主機(jī),如果能獲取到一些堡壘機(jī)、虛擬化管理平臺(tái)的主機(jī)就更方便。
內(nèi)網(wǎng)穿透
大多數(shù)服務(wù)器都在內(nèi)網(wǎng)服務(wù)器或者DMZ區(qū)域,出口地址經(jīng)過(guò)NAT轉(zhuǎn)換后為公網(wǎng)提供服務(wù),為了深一步的滲透內(nèi)網(wǎng)和跨轉(zhuǎn)網(wǎng)段探測(cè) 同時(shí)增加一定的隱蔽性 一個(gè)合適的內(nèi)網(wǎng)傳統(tǒng)就很有必要了。通過(guò)自建CS、MSF平臺(tái)讓受控主機(jī)反彈shell連接回來(lái)本本質(zhì)上動(dòng)靜還是有點(diǎn)大,即使使用一定的隧道或者編碼混淆、特殊協(xié)議傳遞的方法,因?yàn)榉?wù)器的外聯(lián)本身也是一種比較異常的行為容易被內(nèi)網(wǎng)流量層的安全設(shè)備發(fā)現(xiàn),而且Client端容易被主機(jī)層面的殺軟給識(shí)別,由于Client端里面包含CC端通信的IP、域名、端口等信息容易暴露目標(biāo)甚至被溯源,同時(shí)CS、MSF等知名工具的具備一定的流量特征也會(huì)被識(shí)別。
使用一些常見(jiàn)的隧道提供商或者使用一些流量轉(zhuǎn)發(fā)的平臺(tái)就比較重要了,例如當(dāng)前常用的ngrok、frp、nps等此類工具特征流量往往都是基于TCP協(xié)議之上的,具備一定的隱蔽性同時(shí)殺毒軟件也不會(huì)將其定義為惡意軟件。系統(tǒng)進(jìn)程的利用也是較為不錯(cuò)的方法常見(jiàn)的如powershell、SSH流量轉(zhuǎn)發(fā)等方法,上次更新的kali2的時(shí)候偶然間發(fā)現(xiàn)kali2都集成了nishang、Powersploit等框架。
無(wú)文件攻擊的方法的確更隱蔽一些。倘若上傳一個(gè)lcx一類的工具本地的殺軟估計(jì)會(huì)立馬報(bào)警,躺在了病毒隔離區(qū)里面。Linux場(chǎng)景下,SSH自帶了此功能當(dāng)然就更加隱蔽了基本上算是秋水了無(wú)痕,還有一些常見(jiàn)的隧道通信如HTTP、DNS、ICMP等都是不錯(cuò)的選擇。
釣魚(yú)郵件
釣魚(yú),釣大魚(yú),釣鯨。與其把重心放在突破層層防御體系上面,直接對(duì)人發(fā)起攻擊也是事半功倍的方法?,F(xiàn)在主流的釣魚(yú)已經(jīng)升級(jí)到釣鯨魚(yú),針對(duì)特定對(duì)象構(gòu)建特定的郵件主題、 附件與文檔正文,針對(duì)的對(duì)象比如一些管理人員、職能類的HR等場(chǎng)景,這些人的郵件地址往往也可以從招聘網(wǎng)站、社交平臺(tái)獲得,結(jié)合特定場(chǎng)景與受害者的心理狀態(tài)構(gòu)建一個(gè)特殊的誘餌文件,軟件捆綁、Office CVE-2017-11882 CVE-2017-0199、Winrar CVE-2018-20250、office的混淆宏、偽造的PE文件、HTA、CHM、Link文件等多種方式,控制其電腦后植入遠(yuǎn)控木馬,作為跳板進(jìn)行內(nèi)網(wǎng)。
攻防對(duì)抗
攻防對(duì)抗的場(chǎng)景下和傳統(tǒng)的僵尸網(wǎng)絡(luò)、木馬、蠕蟲(chóng)病毒類的檢測(cè)方法有相當(dāng)大的差異性,主要表現(xiàn)在傳統(tǒng)的惡意程序更多的趨向于自動(dòng)化攻擊,其攻擊特點(diǎn)表現(xiàn)在比較固定利用的漏洞、EXP都相差無(wú)幾且特征比較明顯,而且特征比較明顯沒(méi)有刻意的隱藏自己的行為,通常通過(guò)威脅情報(bào)、攻擊行為特征都能較好的識(shí)別,其風(fēng)險(xiǎn)等級(jí)都很高。攻防對(duì)抗的場(chǎng)景下的攻擊手法,較多的利用了一些人的弱點(diǎn)一些弱口令、異常帳號(hào)登錄、非法網(wǎng)絡(luò)接入、敏感信息泄漏更多的是在一些行為上的特點(diǎn),所以在識(shí)別惡意行為的時(shí)候更多的需要關(guān)注一些可疑的報(bào)警類型。基于單個(gè)報(bào)警的模式在場(chǎng)景下并不是很實(shí)用而往往防御人員在識(shí)別低風(fēng)險(xiǎn)的報(bào)警的時(shí)候并不一定能發(fā)現(xiàn)其中的一些線索,這個(gè)時(shí)候就比較考驗(yàn)防御人員在攻防場(chǎng)景下的造詣了。
在這種場(chǎng)景下構(gòu)建一定的攻擊場(chǎng)景,自動(dòng)化的將一些低可疑的線索進(jìn)行聚合進(jìn)行梳理提升相關(guān)的報(bào)警級(jí)別來(lái)引起重視就是一種不錯(cuò)的方案。之前很多人討論過(guò)關(guān)于AI算法模型的問(wèn)題,本質(zhì)上所謂AI也是將人的經(jīng)驗(yàn)賦能給代碼了而已,關(guān)鍵因素還是訓(xùn)練數(shù)據(jù)從那里獲取之后的訓(xùn)練以及特征工程的相關(guān)細(xì)節(jié),按照目前大多數(shù)的場(chǎng)景下面關(guān)鍵問(wèn)題都還是在于特征工程和訓(xùn)練數(shù)據(jù)的選取層面上,還沒(méi)有到達(dá)拼算法特性的優(yōu)劣上面。
由于對(duì)抗場(chǎng)景下的很多行為也不是真正意義上的悄無(wú)聲息,由于大多數(shù)攻擊者對(duì)受害者網(wǎng)絡(luò)里的業(yè)務(wù)邏輯并不是很熟悉,所以常常會(huì)出現(xiàn)很大層面的異常,這就埋下了被發(fā)現(xiàn)的隱患。被控制的跳板機(jī)、泄漏的VPN帳號(hào)、內(nèi)網(wǎng)橫向的目標(biāo)方向等等都會(huì)呈現(xiàn)與平時(shí)業(yè)務(wù)邏輯不一樣的地方,通過(guò)對(duì)業(yè)務(wù)邏輯的一個(gè)基線學(xué)習(xí)在真實(shí)的攻防場(chǎng)景下某敏感資產(chǎn)出現(xiàn)了一些非正常行為就是有很大的可能性被控制了,偏離基線的水平越大可疑性就越高。
總結(jié)
于筆者鄙見(jiàn),多線索的關(guān)聯(lián)分析+基于行為的異常行為在識(shí)別高級(jí)攻擊的場(chǎng)景下對(duì)比常規(guī)的單事件的報(bào)警與攻擊行為匹配上會(huì)有更多的識(shí)別效果。安全對(duì)抗的表面是攻擊技術(shù)與檢測(cè)防御的技術(shù)演進(jìn),本質(zhì)是人與人之間的投入、技術(shù)的博弈。之前有關(guān)注到部分文章提及到關(guān)于冰蝎、螞劍基于流量層面的檢測(cè)方案,仔細(xì)拜讀后覺(jué)得局限性還是比較大在針對(duì)部分初級(jí)白帽子不修改配置的前提下興許有檢出,若是針對(duì)性的做一些更改和特殊的字符拼接難度也不大,估計(jì)就會(huì)識(shí)別成正常流量了吧。
安全對(duì)抗的道路任重道遠(yuǎn),花里胡哨的姿勢(shì)越來(lái)越多;文章最后說(shuō)二句,做防御方真的壓力好大一把辛酸淚,不但天天要膜拜各位滲透大佬的奇思妙想,抑或又是出了什么新漏洞新病毒,還得分析檢測(cè)識(shí)別思路與解決方案 感覺(jué)最近頭發(fā)也是越來(lái)越少了好惶恐,最好再說(shuō)一句有意換工作的技術(shù)大佬,可私信本人。