一年一度的“保护饭碗筷行动”/“大型真人在线抓迷藏活动”已经拉开帷幕,攻防双方想必已经开始紧锣密鼓地筹备着:
攻击手们已经开始活跃地分享打点思路、实用工具、交流心得;
防守方们也为人防、技防、物防各类措施的去留权衡,讨论得热火朝天。
不知道大家对这个场景是否有所共鸣,像不像一个安全的哲学问题:
笔者不才,既当过攻击手,也当过防守方,“吃不好,睡不香”可以说是唯一的共“痛”点。这些经历告诉我,这个难题如果有比较骚,哦,是比较优秀的解决思路能分享一下,那其实能让这个“护碗”行动的节奏更明朗、爽快一些。
往格局大的说是:大大加快了攻防演练的对战节奏,让双方的组织、架构、流程得到升维,往浅了说是:少一点“我赌你枪里没有子弹”的聪明博弈——毕竟谁也不知道对方啥情况:
圈里都是大佬,有丰富安全建设经验的前辈、也有望尘莫及的红队大佬,我怀着“让世界充满爱”的出发点,斗胆在这里分享经年之思、历世之见、绵薄之为,文笔拙劣、字词青涩,不喜勿喷。小弟目前就职于魔方安全CubeSec, 部分BUG贡献者,也是希望通过分享,多听听大佬们的建议,欢迎各位大佬指导!
1红队先一记左勾拳
先从我们熟悉的场景开涮,攻击者视角。我特此捋了一遍“横向移动”活动中,内网信息收集的好工具与思路实现,排名不分先后:
fscan: 一款内网综合扫描工具
https://github.com/shadow1ng/fscan
简述:方便,省事省心
特点:有个思路很好,先探测每个C段网关地址(如:192.168.1.1)和数个随机IP,这样可以把目标数量级大幅下降。对比无脑A/B/C类的私网地址丢进去一把梭扫,高明太多了。
InScan: 边界打点后的自动化渗透工具
https://github.com/inbug-team/InScan
简述:边界打点后的自动化拓展内网。支持可视化多级隧道,通过后台按钮开关即可穿越多层网络;快速直观查看多网卡机器,方便快速定位能穿透多层网络的机器。
特点:设计思路上,和我们想要的十分贴合,帮助我们快速摸清楚目标单位的网络情况,就是上手难度高一点,动静大点,但刷“路径分”挺好的。
这2款工具的亮点在于:
●根据网络地址规划经验大幅削减探测目标,先探测网关地址(可以是.1也可以是.254)+ 随机IP,尽量做到“有的放矢”;
●可视化级联,更方便理解目标网络架构拓扑,因地制宜;
在这里也给大家分享一些,快速横向扩展时,信息收集的小一些小tips:
◆翻浏览器记录中的IP地址、域名,根据目标的特征、用途去收集及分析网段规划,辅以确认DMZ、网管网,再用fscan/goby等工具;
◆把子域名爆破工具放到内网撸一遍,或已有域名列表放内网解析一遍,但注意并发别太猛,偶有奇效;
◆去OA系统或其他集成平台/集权系统分析超链接,从而获取不同的网段信息;
◆如果是域机器+防守方摆烂了,那就BloodHound一把梭,基本上网段信息很丰富了。但是肯定会打出一吨日志和告警;
◆基于Burp中“Private IP addresses disclosed/私网地址泄露”的思路,在广谱资产测绘引擎中如fofa/zoomeye/hunter/quake上,基于目标,加上私网地址的关键字(172.X.X.X),收集一波私网网段后,再应用到目标私网做扩展,但是耗时耗力。除非下了死命令要撸穿,大家都是刷分流,也不用那么卷,大可不必啊,但是有大佬能写个工具摆github, 我第一个star;
◆还有就是看ARP表什么的,想必大家也知道。
但是还有特殊场景,大家可能之前没仔细琢磨过的:
◆公网地址当私网用,如:100.100.100.1, 那么我们很有可能就遗漏了;
◆非全网放Ping,链路半路掐断了Ping流量,也挺难受的;
攻击者视角下,大佬们的创造力和想象力都是闪烁着智慧之光,值得赞叹!“我在哪里,我往哪里去”这个哲学问题,目前黑盒视角的情况下,这些已经是最优的答卷了,或者大家有更好的方法,可以在后台留言!我需要学习!
要很好回答这个“失陷后,攻击者会怎么横向移动”的问题,非常困难!因为目前大部分的安全产品,基本上都是围绕威胁感知去设计构建的,完全从“事件、告警、日志”的思路去做的,十分典型的防守方视角。没有“攻击者”的思路去做深度的场景适配,还甚至有可能出现,猪猪侠大佬之前在大会上分享的那个尴尬的场景:
如果能有产品可以站在防守方视角,进一步拓宽fscan,InScan的使用场景,做进一步深化探索该多好啊!这是不是才是真的“知攻知防”?换句话说,就是在主动探测发现的资产和PoC漏洞之上,再加上这些漏洞之间的网络访问关系,是不是就可以做到攻击面的可视化?
但是,其实想要去落地“攻击面可视化”,事情的复杂度一下子就上去了,组织架构、网络拓扑、资产台账等等之类的问题,一个头两个大,因为并不是一个单纯的技术问题。
“攻击面管理”的问题,归根结底,貌似是个资产梳理的问题,想搞清楚现网资产、网络连接关系、责任归属,一直都是个“老、大、难”的问题。如果HW前作为第三方中途介入,不可避免会遇到有很多历史包袱亟需处理,直接灵魂痛处!也有可能陷入“投入大产出低、多方协作的囚徒困境”,那是个死胡同啊,怎么办呢?!此处先按住不表。。。
“先看路不看墙”,我们看看行业先驱或者学术前沿、实践是怎么样的?这个时候,我发现了一个好东西,MITRE的CyGraph.
说明:Cygraph是一种原型工具,用于保护关键任务资产、改善网络安全态势以及在面对网络攻击时保持态势理解的军用级网络安全分析和可视化平台。本质是捕捉网络安全领域实体之间的复杂关系,以及任务元素如何依赖网络空间资产。从复杂的相互关系群中产生高风险活动的重点群组。信号被从噪音中提取出来,将不同的数据点融合成可以调查的可操作单元。
官方描述有点抽象,大家可以去深入了解一下。这里我聚焦讲一下其总体思路、组件模块:
↑聚合不同维度的数据源作为输入
通过聚合资产、漏洞、拓扑等信息,作为底盘——“Network Infrastructure”+“Security Postrue”。去发现可利用的漏洞利用链(不是单个漏洞里面的逻辑关系,是多个漏洞之间的网络访问关系):
理想的样子:
换句话说,为了资产和漏洞,融合网络上下文信息,是否约等于攻击面?
继续上述章节中的攻击者思路去拓展,深化fscan/inscan的应用场景。但这一次,我们站在防守方的角色,给这类攻击者视角的工具和数据,融入一些新元素,进一步创新,应该帮助我们更好地做好防守工作。我们的思路就是,在发现全网的资产和PoC漏洞后,利用作为防守方白盒的优势,读取到网络设备上的配置,生成网络访问,从而弥补攻击者视角(fscan/inscan)的不足,最后生成全网的漏洞关联视图,方便我们感知全网的攻击面,辅助决策。
具体为:全网资产梳理 -> PoC漏洞检测 -> 加入全网ACL(网络放行规则)-> 图计算 -> 可视化
进一步思考一下,这样是不是就能帮助防守方比较好地回答“他要去哪里”的问题?(因为攻击手不管是钓鱼打点,还是N-DAY打点,还是上传打点,后续大概率都要去做扫描探测,看看有没有软柿子)
在这个基础上,进一步融入管理属性/数据:业务承载信息、负责人信息、资产等级信息,这就是攻击面的一个可视化管理平台。
好了,重点来了!!!
基于这个出发点,我们内部于2019年正式内部立项,经过2年的预研、构架、调试、打磨,终于在2021年末在某金融行业客户落地,并把这个功能命名为“脆弱性推演”。
在越来越多的网络攻防对抗场景中,作战指挥中心需要可视化的攻击面管理和快速响应决策支撑能力,以专注于关键资产和业务的保护。基于过去几年针对“攻击面管理"与“网络空间资产测绘”的技术研究与场景实践,采用主动扫描探测、被动流量发现,和独有的 “资产适配器〞 等技术,魔方安全己经解决IP化资产的探测覆盖率和完整性这一业内难题。
通过研究与实践,采集现网中所有三层网络设备的路由信息和ACL访问规则,能够进行网络仿真及智能计算。融合网络上下文信息、资产和脆弱性三要素,应用知识图谱及原生分布式图数据库,完成访问关系和攻击路径的可视化,从而实现攻击面的可视化管理,基于现网资产及漏洞数据集,可进行自动化蔓延推理式的攻击路径演算。
大白话解释
●为资产、漏洞加入网络连通信息,并融入了管理维度的数据(业务、负责人)。
●可以基于图形化的界面,帮助防守方回答:失陷主机A的同一安全域内,有哪些可被PoC漏洞getshell的主机B\C\D(同1个安全域内横向),而这些主机B\C\D哪个可以访问下一个安全域的可被getshell的E\F\G(跨安全域横向)。支持指定开始主机,和目标主机后,可以进行路径推算。
●当鼠标悬停到脆弱资产节点上,可以知道具体的负责人和承载业务,这样就可以帮助您更好判断,能不能立刻拔网线!!!
给大家录了个视频,大家感受一下。从实战性、实用性、观赏性都没落下的“脆弱性推演”功能:
扫描或识别二维码观看:
《“攻击面可视化”面世,是你们说的“挂图作战”吗?》
功能价值
01红队视角的攻击面可视化
早期SRC刷分选手应该对CubeSec有所耳闻,我们团队都是白帽子,能够基于红队视角,帮助在防守方阵地的您“摸清家底、认清风险”,并聚焦关键问题,切断跨域攻击路径,在事前筹备阶段快速收敛攻击暴露面,事中爆发N-DAY时,快速评估影响面与收敛风险。
02按图复现就是最好的预备演练
“收敛攻击面是必须的,但并非最终目标!提高防护水平才是!”拿到完整的攻击面(脆弱性推演图),最先、最应该要做的是“去复现、去演练、去验证、去度量”:横向移动/跨域攻击,XDR能覆盖吗?SIEM告警是直观吗?IPS/IDS能拦住吗?态感能感知吗?人员协作流畅吗?上报/处置流程合理吗?
03消除管理盲点
执行过程中,或许发现大量搞不清楚责任人的“影子资产”,同时又存在能直接getshell的致命漏洞,这些“卫生死角”,就肯定必须肃清!或许您还有机会遇到一个好气又好笑的场景:“该通的不通,不该通的全通了”,顺势把ACL通路做收敛。
04未来扩展
后续兼容Bloodhound算法,域渗透路径计算,指日可待。
如果您目前正在筹备护网,或者在做攻击面的梳理与收敛,为何不尝试一下我们这个功能呢?
系统定位
魔方安全是攻击面管理(ASM:CAASM/EASM)的远见者、先行者、创新者、见证者、践行者,因此也提出“资产测绘为起点、脆弱性管理为落脚点、安全运营为目标”的网络空间资产安全管理三阶论。
资产测绘,本质是解决资产的可见性问题,是手段、过程,但肯定不是最终目的。而最终目的,终究还是安全运营——常态化监测、实战化演练、指标化运营。
我们对标的是Cygraph中,资产、漏洞、网络3者叠加后的“基础设施与安全架构”可视化设计,与国内态势感知体系并非竞争关系,是互补关系,能为态势扩充更全面资产数据视野、输送更细致的资产数据信息。我们组织、系统都是开放的,API应有尽有,我们团队坚信“资产”类的信息,在持续流动中才能产生更高更大的价值!也欢迎各大友商深入合作、获得共赢!
01如何保障资产可见性以支撑现网拟合度?
对于网络空间资产测绘,大家肯定耳熟能祥了。BUT一旦到内网环境,掣肘就多了。例如:
●扫描探针:并发不能太高,要不链路受不了、要不目标系统受不了;
●流量探针:部署困难导致覆盖有限、数据噪声大;
●第三方采集:到处需要定制,成本飙升;
●agent采集,侵入式部署,兼容性有隐患,而且很有可能直接内核崩溃
.....
我们在第三方采集方向上,进行微创新,开发出全新的模块——资产适配器。每个IT系统都有其业务侧重点,资产信息的形态各有差异,资产管理的覆盖度也不尽相同。要获得当前组织的全量资产台账,必须把各个IT系统联合起来,才能凑拼出最接近真实的资产“全景图”。为了大幅提高不同IT环境的兼容性,我们引入了“适配器”(高内聚,低耦合)的概念与设计,专门负责与不同的成熟商用IT系统对话,采集资产,可将资产检出率提升到一个全新的水平。
现以支持常见的成熟商用的系统:虚拟化平台(VMware vCenter/ESXi)、终端管理平台、AD域、堡垒机、漏洞扫描(AWVS、Tenable SC等),只需要填AccessKey及目标系统地址,即可无痛对接,快速聚合资产数据。可以交叉比对来源标签,去发现资产安全覆盖度,到底是不是99%!
02网络设备配置采集与解析
这就刺激了,坑多的起飞!我就列几点,大伙感受一下:
●种类多:交换机、路由器、防火墙、负载均衡等;
●品牌多:思科、华为、天融信、锐捷、H3C等;
●版本多:不同版本还存在不同的配置方式。这个直接把我们整无语了...
●路由算法多:IGP协议兼容(OSPF、RIP、EIGRP等),还有策略路由,路由修剪,别忘了VRF...
●地址转换:解决路由、ACL放行解析问题,还有一个拦路虎。你要算A点到B点能不能连通,需要在途经防火墙ACL规则中查看“源是A,目标是B”的放行规则,一查,没命中,以为安全了。没成想,结果中间有个NAT,A地址变C了,所以途径防火墙ACL规则要匹配“源是C,目标是B”的,结果放通了。这种情况,没实战过,你肯定没想到,吐血不?
......
我们走过的坑.....
听者伤心,闻者流泪....
03驯服2个神兽:图数据库、知识图谱
IEEE 于2020年4月的技术峰会分享的攻击图生成模型,我们团伙,噢,是团队,当下就基于实验室数据立马着手试炼:
不测不知道,一测吓一跳,节点一般几十万起,边数量是十亿为单位,性能抗不住 。。。我们把基础架构和算法折腾几十把。。。即使底层调好了。。。。这乱七八糟的图。。。自己也看不懂。。。没少为数据可视化掉头发:
二维平面视角通道狭窄,说人话就是:画布有限,节点除了大小、形状、颜色、注解也没啥好优化了...
数据量爆炸。B/S结构,浏览器受不了...
网络拓扑难还原。Solarwinds都头痛,何必难为一家安全公司...
现有组件不靠谱,渲染性能堪忧。D3等前端组件还一直转圈...像极了螺旋丸...
我们早期探索的一些珍贵影像:
↑拓扑智能还原难度逆天
↑加入访问关系,全边全节点直接爆炸
终于某天下午,我灵机一动:之前的思路主要应用在攻击溯源、分析、预测,所以才需要多维数据(用户、行为、进程、日志、告警等),而攻击面可视化管理强调的是节点(资产)和影响面,以这个场景出发,摒弃“既要、又要”的思维,去优化计算、呈现、交互。于是我们“脆弱性推演”功能雏形诞生了:
↑Beta 5.1: 聚类并强调跨域利用
一张图说清楚设计思路:
只显示可被getshell的主机,并按所属安全域进行聚合,并强调跨域利用。
从而获得比较满意的版本:
↑Beta 32.1: 渲染优化,并实现路径计算
实现以下优化:
◆削峰。只呈现getshell的脆弱节点资产,这样可以把数量大幅度削减。毕竟把“URL重定向漏洞”摆上去也没啥卵用...
◆降维显示。在攻击事件分析的场景下,像阿里云上的攻击溯源分析,需要显示进程、行为、资产、业务,哗啦往上一摆,专业人员也得理解半天,而且看的头晕。我联想到平日我们生活中接触到的,比如地图、棋盘,容易理解,是因为目标是同一个维度的。我们做攻击面的,对象就是网络空间资产,就只需要看资产,其他可以做精简。
◆同一个安全域的资产做聚类,隐藏同一个安全域内的资产连线,毕竟同一个墙身后一般都是通的。这样更聚焦跨域。搜索路径,显示清晰明朗。
◆隐藏网管设备。有VLAN、防火墙虚拟化等东西的出现,可视化几乎无解,不能做清晰的树状呈现。若你真的需要知道经过什么墙,查询路径,我再给你在详情显示不就好了?
最终版本诞生:
从能用、实用到好看又好用,文章读起来感觉毫不费力,但我们已然拼尽全力。或许我们这个系统是你在东半球第二好用的攻击面可视化管理功能。(不能违反广告法,手动狗头?)
各位甲方小伙伴,我们深知“产品问题,甲方买单”的不良体验会导致彼此信任的崩塌,但如果您认可我们的创新方向和产品思路,不妨给双方一个合作的机会!
我们目前将在全国范围内,招募25个天使伙伴 进行深度体验与测评,开放公测!
PS:或许还有很多我没接触过的神器(特指打点后,用于扩大攻击面的信息收集类工具),大家可以关注魔方安全公众号,后台留意安利哈,交流学习~
深圳市魔方安全科技有限公司(简称魔方安全)由CubeSec网络安全攻防团队于2015年10月创立,是一家致力于驱动前沿科技保护数字安全的创新型公司。
公司以“随时洞察和有效缓解网络空间风险”为使命, 专注于网络空间资产安全相关的技术研究和产品研发,包括:攻击面管理(ASM)、网络空间资产测绘(CAM)、漏洞管理(VM)、安全攻防服务。
如果读者的你,喜欢挑战、追求极致、致力创新(不想躺平或厌恶内卷),我们虚位以待!!!(点击查看岗位:魔方安全招人啦!)