一年一度的“保護飯碗筷行動”/“大型真人在線抓迷藏活動”已經拉開帷幕,攻防雙方想必已經開始緊鑼密鼓地籌備著:
攻擊手們已經開始活躍地分享打點思路、實用工具、交流心得;
防守方們也為人防、技防、物防各類措施的去留權衡,討論得熱火朝天。
不知道大家對這個場景是否有所共鳴,像不像一個安全的哲學問題:

筆者不才,既當過攻擊手,也當過防守方,“吃不好,睡不香”可以說是唯一的共“痛”點
。這些經歷告訴我,這個難題如果有比較騷,哦,是比較優(yōu)秀的解決思路能分享一下,那其實能讓這個“護碗”行動的節(jié)奏更明朗、爽快一些。
往格局大的說是:大大加快了攻防演練的對戰(zhàn)節(jié)奏,讓雙方的組織、架構、流程得到升維,往淺了說是:少一點“我賭你槍里沒有子彈”的聰明博弈——畢竟誰也不知道對方啥情況:

圈里都是大佬,有豐富安全建設經驗的前輩、也有望塵莫及的紅隊大佬,我懷著“讓世界充滿愛”的出發(fā)點,斗膽在這里分享經年之思、歷世之見、綿薄之為,文筆拙劣、字詞青澀,不喜勿噴。小弟目前就職于魔方安全CubeSec, 部分BUG貢獻者,也是希望通過分享,多聽聽大佬們的建議,歡迎各位大佬指導!
1紅隊先一記左勾拳

先從我們熟悉的場景開涮,攻擊者視角。我特此捋了一遍“橫向移動”活動中,內網信息收集的好工具與思路實現(xiàn),排名不分先后:
fscan: 一款內網綜合掃描工具
https://github.com/shadow1ng/fscan
簡述:方便,省事省心
特點:有個思路很好,先探測每個C段網關地址(如:192.168.1.1)和數個隨機IP,這樣可以把目標數量級大幅下降。對比無腦A/B/C類的私網地址丟進去一把梭掃,高明太多了。

InScan: 邊界打點后的自動化滲透工具
https://github.com/inbug-team/InScan
簡述:邊界打點后的自動化拓展內網。支持可視化多級隧道,通過后臺按鈕開關即可穿越多層網絡;快速直觀查看多網卡機器,方便快速定位能穿透多層網絡的機器。
特點:設計思路上,和我們想要的十分貼合,幫助我們快速摸清楚目標單位的網絡情況,就是上手難度高一點,動靜大點,但刷“路徑分”挺好的。

這2款工具的亮點在于:
●根據網絡地址規(guī)劃經驗大幅削減探測目標,先探測網關地址(可以是.1也可以是.254)+ 隨機IP,盡量做到“有的放矢”;
●可視化級聯(lián),更方便理解目標網絡架構拓撲,因地制宜;
在這里也給大家分享一些,快速橫向擴展時,信息收集的小一些小tips:
◆翻瀏覽器記錄中的IP地址、域名,根據目標的特征、用途去收集及分析網段規(guī)劃,輔以確認DMZ、網管網,再用fscan/goby等工具;
◆把子域名爆破工具放到內網擼一遍,或已有域名列表放內網解析一遍,但注意并發(fā)別太猛,偶有奇效;
◆去OA系統(tǒng)或其他集成平臺/集權系統(tǒng)分析超鏈接,從而獲取不同的網段信息;
◆如果是域機器+防守方擺爛了,那就BloodHound一把梭,基本上網段信息很豐富了。但是肯定會打出一噸日志和告警;
◆基于Burp中“Private IP addresses disclosed/私網地址泄露”的思路,在廣譜資產測繪引擎中如fofa/zoomeye/hunter/quake上,基于目標,加上私網地址的關鍵字(172.X.X.X),收集一波私網網段后,再應用到目標私網做擴展,但是耗時耗力。除非下了死命令要擼穿,大家都是刷分流,也不用那么卷,大可不必啊,但是有大佬能寫個工具擺github, 我第一個star;
◆還有就是看ARP表什么的,想必大家也知道。
但是還有特殊場景,大家可能之前沒仔細琢磨過的:
◆公網地址當私網用,如:100.100.100.1, 那么我們很有可能就遺漏了;
◆非全網放Ping,鏈路半路掐斷了Ping流量,也挺難受的;

攻擊者視角下,大佬們的創(chuàng)造力和想象力都是閃爍著智慧之光,值得贊嘆!“我在哪里,我往哪里去”這個哲學問題,目前黑盒視角的情況下,這些已經是最優(yōu)的答卷了,或者大家有更好的方法,可以在后臺留言!我需要學習!

要很好回答這個“失陷后,攻擊者會怎么橫向移動”的問題,非常困難!因為目前大部分的安全產品,基本上都是圍繞威脅感知去設計構建的,完全從“事件、告警、日志”的思路去做的,十分典型的防守方視角。沒有“攻擊者”的思路去做深度的場景適配,還甚至有可能出現(xiàn),豬豬俠大佬之前在大會上分享的那個尷尬的場景:

如果能有產品可以站在防守方視角,進一步拓寬fscan,InScan的使用場景,做進一步深化探索該多好?。∵@是不是才是真的“知攻知防”?換句話說,就是在主動探測發(fā)現(xiàn)的資產和PoC漏洞之上,再加上這些漏洞之間的網絡訪問關系,是不是就可以做到攻擊面的可視化?

但是,其實想要去落地“攻擊面可視化”,事情的復雜度一下子就上去了,組織架構、網絡拓撲、資產臺賬等等之類的問題,一個頭兩個大,因為并不是一個單純的技術問題。
“攻擊面管理”的問題,歸根結底,貌似是個資產梳理的問題,想搞清楚現(xiàn)網資產、網絡連接關系、責任歸屬,一直都是個“老、大、難”的問題。如果HW前作為第三方中途介入,不可避免會遇到有很多歷史包袱亟需處理,直接靈魂痛處!也有可能陷入“投入大產出低、多方協(xié)作的囚徒困境”,那是個死胡同啊,怎么辦呢?!此處先按住不表。。。
“先看路不看墻”,我們看看行業(yè)先驅或者學術前沿、實踐是怎么樣的?這個時候,我發(fā)現(xiàn)了一個好東西,MITRE的CyGraph.

說明:Cygraph是一種原型工具,用于保護關鍵任務資產、改善網絡安全態(tài)勢以及在面對網絡攻擊時保持態(tài)勢理解的軍用級網絡安全分析和可視化平臺。本質是捕捉網絡安全領域實體之間的復雜關系,以及任務元素如何依賴網絡空間資產。從復雜的相互關系群中產生高風險活動的重點群組。信號被從噪音中提取出來,將不同的數據點融合成可以調查的可操作單元。
官方描述有點抽象,大家可以去深入了解一下。這里我聚焦講一下其總體思路、組件模塊:

↑聚合不同維度的數據源作為輸入
通過聚合資產、漏洞、拓撲等信息,作為底盤——“Network Infrastructure”+“Security Postrue”。去發(fā)現(xiàn)可利用的漏洞利用鏈(不是單個漏洞里面的邏輯關系,是多個漏洞之間的網絡訪問關系):

理想的樣子:

換句話說,為了資產和漏洞,融合網絡上下文信息,是否約等于攻擊面?
繼續(xù)上述章節(jié)中的攻擊者思路去拓展,深化fscan/inscan的應用場景。但這一次,我們站在防守方的角色,給這類攻擊者視角的工具和數據,融入一些新元素,進一步創(chuàng)新,應該幫助我們更好地做好防守工作。我們的思路就是,在發(fā)現(xiàn)全網的資產和PoC漏洞后,利用作為防守方白盒的優(yōu)勢,讀取到網絡設備上的配置,生成網絡訪問,從而彌補攻擊者視角(fscan/inscan)的不足,最后生成全網的漏洞關聯(lián)視圖,方便我們感知全網的攻擊面,輔助決策。
具體為:全網資產梳理 -> PoC漏洞檢測 -> 加入全網ACL(網絡放行規(guī)則)-> 圖計算 -> 可視化
進一步思考一下,這樣是不是就能幫助防守方比較好地回答“他要去哪里”的問題?(因為攻擊手不管是釣魚打點,還是N-DAY打點,還是上傳打點,后續(xù)大概率都要去做掃描探測,看看有沒有軟柿子)
在這個基礎上,進一步融入管理屬性/數據:業(yè)務承載信息、負責人信息、資產等級信息,這就是攻擊面的一個可視化管理平臺。

好了,重點來了!??!
基于這個出發(fā)點,我們內部于2019年正式內部立項,經過2年的預研、構架、調試、打磨,終于在2021年末在某金融行業(yè)客戶落地,并把這個功能命名為“脆弱性推演”。

在越來越多的網絡攻防對抗場景中,作戰(zhàn)指揮中心需要可視化的攻擊面管理和快速響應決策支撐能力,以專注于關鍵資產和業(yè)務的保護。基于過去幾年針對“攻擊面管理"與“網絡空間資產測繪”的技術研究與場景實踐,采用主動掃描探測、被動流量發(fā)現(xiàn),和獨有的 “資產適配器〞 等技術,魔方安全己經解決IP化資產的探測覆蓋率和完整性這一業(yè)內難題。
通過研究與實踐,采集現(xiàn)網中所有三層網絡設備的路由信息和ACL訪問規(guī)則,能夠進行網絡仿真及智能計算。融合網絡上下文信息、資產和脆弱性三要素,應用知識圖譜及原生分布式圖數據庫,完成訪問關系和攻擊路徑的可視化,從而實現(xiàn)攻擊面的可視化管理,基于現(xiàn)網資產及漏洞數據集,可進行自動化蔓延推理式的攻擊路徑演算。

大白話解釋
●為資產、漏洞加入網絡連通信息,并融入了管理維度的數據(業(yè)務、負責人)。
●可以基于圖形化的界面,幫助防守方回答:失陷主機A的同一安全域內,有哪些可被PoC漏洞getshell的主機B\C\D(同1個安全域內橫向),而這些主機B\C\D哪個可以訪問下一個安全域的可被getshell的E\F\G(跨安全域橫向)。支持指定開始主機,和目標主機后,可以進行路徑推算。
●當鼠標懸停到脆弱資產節(jié)點上,可以知道具體的負責人和承載業(yè)務,這樣就可以幫助您更好判斷,能不能立刻拔網線?。?!
給大家錄了個視頻,大家感受一下。從實戰(zhàn)性、實用性、觀賞性都沒落下的“脆弱性推演”功能:

掃描或識別二維碼觀看:
《“攻擊面可視化”面世,是你們說的“掛圖作戰(zhàn)”嗎?》
功能價值
01紅隊視角的攻擊面可視化
早期SRC刷分選手應該對CubeSec有所耳聞,我們團隊都是白帽子,能夠基于紅隊視角,幫助在防守方陣地的您“摸清家底、認清風險”,并聚焦關鍵問題,切斷跨域攻擊路徑,在事前籌備階段快速收斂攻擊暴露面,事中爆發(fā)N-DAY時,快速評估影響面與收斂風險。
02按圖復現(xiàn)就是最好的預備演練
“收斂攻擊面是必須的,但并非最終目標!提高防護水平才是!”拿到完整的攻擊面(脆弱性推演圖),最先、最應該要做的是“去復現(xiàn)、去演練、去驗證、去度量”:橫向移動/跨域攻擊,XDR能覆蓋嗎?SIEM告警是直觀嗎?IPS/IDS能攔住嗎?態(tài)感能感知嗎?人員協(xié)作流暢嗎?上報/處置流程合理嗎?
03消除管理盲點
執(zhí)行過程中,或許發(fā)現(xiàn)大量搞不清楚責任人的“影子資產”,同時又存在能直接getshell的致命漏洞,這些“衛(wèi)生死角”,就肯定必須肅清!或許您還有機會遇到一個好氣又好笑的場景:“該通的不通,不該通的全通了”,順勢把ACL通路做收斂。
04未來擴展
后續(xù)兼容Bloodhound算法,域滲透路徑計算,指日可待。
如果您目前正在籌備護網,或者在做攻擊面的梳理與收斂,為何不嘗試一下我們這個功能呢?
系統(tǒng)定位
魔方安全是攻擊面管理(ASM:CAASM/EASM)的遠見者、先行者、創(chuàng)新者、見證者、踐行者,因此也提出“資產測繪為起點、脆弱性管理為落腳點、安全運營為目標”的網絡空間資產安全管理三階論。
資產測繪,本質是解決資產的可見性問題,是手段、過程,但肯定不是最終目的。而最終目的,終究還是安全運營——常態(tài)化監(jiān)測、實戰(zhàn)化演練、指標化運營。
我們對標的是Cygraph中,資產、漏洞、網絡3者疊加后的“基礎設施與安全架構”可視化設計,與國內態(tài)勢感知體系并非競爭關系,是互補關系,能為態(tài)勢擴充更全面資產數據視野、輸送更細致的資產數據信息。我們組織、系統(tǒng)都是開放的,API應有盡有,我們團隊堅信“資產”類的信息,在持續(xù)流動中才能產生更高更大的價值!也歡迎各大友商深入合作、獲得共贏!
01如何保障資產可見性以支撐現(xiàn)網擬合度?
對于網絡空間資產測繪,大家肯定耳熟能祥了。BUT一旦到內網環(huán)境,掣肘就多了。例如:
●掃描探針:并發(fā)不能太高,要不鏈路受不了、要不目標系統(tǒng)受不了;
●流量探針:部署困難導致覆蓋有限、數據噪聲大;
●第三方采集:到處需要定制,成本飆升;
●agent采集,侵入式部署,兼容性有隱患,而且很有可能直接內核崩潰
.....
我們在第三方采集方向上,進行微創(chuàng)新,開發(fā)出全新的模塊——資產適配器。每個IT系統(tǒng)都有其業(yè)務側重點,資產信息的形態(tài)各有差異,資產管理的覆蓋度也不盡相同。要獲得當前組織的全量資產臺賬,必須把各個IT系統(tǒng)聯(lián)合起來,才能湊拼出最接近真實的資產“全景圖”。為了大幅提高不同IT環(huán)境的兼容性,我們引入了“適配器”(高內聚,低耦合)的概念與設計,專門負責與不同的成熟商用IT系統(tǒng)對話,采集資產,可將資產檢出率提升到一個全新的水平。

現(xiàn)以支持常見的成熟商用的系統(tǒng):虛擬化平臺(VMware vCenter/ESXi)、終端管理平臺、AD域、堡壘機、漏洞掃描(AWVS、Tenable SC等),只需要填AccessKey及目標系統(tǒng)地址,即可無痛對接,快速聚合資產數據??梢越徊姹葘碓礃撕?,去發(fā)現(xiàn)資產安全覆蓋度,到底是不是99%!
02網絡設備配置采集與解析
這就刺激了,坑多的起飛!我就列幾點,大伙感受一下:
●種類多:交換機、路由器、防火墻、負載均衡等;
●品牌多:思科、華為、天融信、銳捷、H3C等;
●版本多:不同版本還存在不同的配置方式。這個直接把我們整無語了...
●路由算法多:IGP協(xié)議兼容(OSPF、RIP、EIGRP等),還有策略路由,路由修剪,別忘了VRF...
●地址轉換:解決路由、ACL放行解析問題,還有一個攔路虎。你要算A點到B點能不能連通,需要在途經防火墻ACL規(guī)則中查看“源是A,目標是B”的放行規(guī)則,一查,沒命中,以為安全了。沒成想,結果中間有個NAT,A地址變C了,所以途徑防火墻ACL規(guī)則要匹配“源是C,目標是B”的,結果放通了。這種情況,沒實戰(zhàn)過,你肯定沒想到,吐血不?
......
我們走過的坑.....
聽者傷心,聞者流淚....

03馴服2個神獸:圖數據庫、知識圖譜
IEEE 于2020年4月的技術峰會分享的攻擊圖生成模型,我們團伙,噢,是團隊,當下就基于實驗室數據立馬著手試煉:

不測不知道,一測嚇一跳,節(jié)點一般幾十萬起,邊數量是十億為單位,性能抗不住 。。。我們把基礎架構和算法折騰幾十把。。。即使底層調好了。。。。這亂七八糟的圖。。。自己也看不懂。。。沒少為數據可視化掉頭發(fā):
二維平面視角通道狹窄,說人話就是:畫布有限,節(jié)點除了大小、形狀、顏色、注解也沒啥好優(yōu)化了...
數據量爆炸。B/S結構,瀏覽器受不了...
網絡拓撲難還原。Solarwinds都頭痛,何必難為一家安全公司...
現(xiàn)有組件不靠譜,渲染性能堪憂。D3等前端組件還一直轉圈...像極了螺旋丸...
我們早期探索的一些珍貴影像:

↑拓撲智能還原難度逆天

↑加入訪問關系,全邊全節(jié)點直接爆炸
終于某天下午,我靈機一動:之前的思路主要應用在攻擊溯源、分析、預測,所以才需要多維數據(用戶、行為、進程、日志、告警等),而攻擊面可視化管理強調的是節(jié)點(資產)和影響面,以這個場景出發(fā),摒棄“既要、又要”的思維,去優(yōu)化計算、呈現(xiàn)、交互。于是我們“脆弱性推演”功能雛形誕生了:

↑Beta 5.1: 聚類并強調跨域利用
一張圖說清楚設計思路:

只顯示可被getshell的主機,并按所屬安全域進行聚合,并強調跨域利用。
從而獲得比較滿意的版本:

↑Beta 32.1: 渲染優(yōu)化,并實現(xiàn)路徑計算
實現(xiàn)以下優(yōu)化:
◆削峰。只呈現(xiàn)getshell的脆弱節(jié)點資產,這樣可以把數量大幅度削減。畢竟把“URL重定向漏洞”擺上去也沒啥卵用...
◆降維顯示。在攻擊事件分析的場景下,像阿里云上的攻擊溯源分析,需要顯示進程、行為、資產、業(yè)務,嘩啦往上一擺,專業(yè)人員也得理解半天,而且看的頭暈。我聯(lián)想到平日我們生活中接觸到的,比如地圖、棋盤,容易理解,是因為目標是同一個維度的。我們做攻擊面的,對象就是網絡空間資產,就只需要看資產,其他可以做精簡。
◆同一個安全域的資產做聚類,隱藏同一個安全域內的資產連線,畢竟同一個墻身后一般都是通的。這樣更聚焦跨域。搜索路徑,顯示清晰明朗。
◆隱藏網管設備。有VLAN、防火墻虛擬化等東西的出現(xiàn),可視化幾乎無解,不能做清晰的樹狀呈現(xiàn)。若你真的需要知道經過什么墻,查詢路徑,我再給你在詳情顯示不就好了?
最終版本誕生:

從能用、實用到好看又好用,文章讀起來感覺毫不費力,但我們已然拼盡全力?;蛟S我們這個系統(tǒng)是你在東半球第二好用的攻擊面可視化管理功能。(不能違反廣告法,手動狗頭?)
各位甲方小伙伴,我們深知“產品問題,甲方買單”的不良體驗會導致彼此信任的崩塌,但如果您認可我們的創(chuàng)新方向和產品思路,不妨給雙方一個合作的機會!
我們目前將在全國范圍內,招募25個天使伙伴 進行深度體驗與測評,開放公測!

PS:或許還有很多我沒接觸過的神器(特指打點后,用于擴大攻擊面的信息收集類工具),大家可以關注魔方安全公眾號,后臺留意安利哈,交流學習~

深圳市魔方安全科技有限公司(簡稱魔方安全)由CubeSec網絡安全攻防團隊于2015年10月創(chuàng)立,是一家致力于驅動前沿科技保護數字安全的創(chuàng)新型公司。
公司以“隨時洞察和有效緩解網絡空間風險”為使命, 專注于網絡空間資產安全相關的技術研究和產品研發(fā),包括:攻擊面管理(ASM)、網絡空間資產測繪(CAM)、漏洞管理(VM)、安全攻防服務。
如果讀者的你,喜歡挑戰(zhàn)、追求極致、致力創(chuàng)新(不想躺平或厭惡內卷),我們虛位以待?。。。c擊查看崗位:魔方安全招人啦!)
