只是简单看了工具包中的EXP,并在网上关注了一下国外对该工具包的反响。发现该EXP经过一定的修改,能完全适应2016年最新版本的系统固件,一个如此久远的EXP能做到如此实属不易,看来NSA的代码能力并没有网上某些人评价的那么差。
后续并没有继续关注EXP的详细内容,而对NSA使用的渗透思路更感兴趣,所以专注在最新解密的文档上,希望能有所借鉴,提升自己的眼界。
年底赶进度,文章断断续续写了好久,文章逻辑可能有跳跃,加上文档中的英文实在是拗口,名词简称过多,如有理解分析不妥的地方烦请指出,共同讨论。(上篇传送门:NSA(美国国安局)泄漏文件深度分析(PART 1))
泄漏文档简介
在NSA针对防火墙工具包泄漏这个敏感的时间点,@Edward Snowden泄漏的第二批NSA技术文档。这些文档中,包含详细阐述NSA攻击手段与项目简介的PPT,甚至还包括FOXACID Server的详细操作手册。在其阐述FOXACID,QUANTUM等明星项目的页面中,甚至通过简述攻击案例来证明该项目的价值,详细分析之后给人相当大的震撼。与NSA泄漏的工具包相结合,使得我们能对NSA对外攻击思路与手段的认识越来越清晰。
越清晰认识的同时,越给人震撼,世界原来这么大。
现将本人对NSA攻击思路分析理解与感受分享如下,关于NSA工具项目架构与思路等内容会放在后续文章中。
一、案例分析
首先,讲述两个NSA与运营商的故事(文档中的)
案例一 Pakistan 巴基斯坦
攻击的的运营商是Pakistan National Telecommuications Corproation 巴基斯坦国家电信公司,简称NTC。
目标是NTC中的VIP分部,被SID(SIGNALS INTELLIGENCE DIRECTORATE,信号情报部门)标记为传统的不可入侵的网络(其含义应该是不能通过传统的网络监听等方式收集到信息的网络,类似于私有网络)。该部分是用来维护Green Exchange(绿区交换机,位于安全区域)。Green Exchange房间放置着ZXJ-10(程控交换机,用于电话网络)。这几台程控交换机是 巴基斯坦 Green Line 通信网络的骨干。这个网络专门为巴基斯坦高级官员和军事领导提供服务。
攻击流程简述:
1.使用被动定位方式识别到了NTC的员工
2.评估当前识别出的与NTC 的VIP部门的联系
3.由SIGDEV针对已知的被Selector(NSA精确识别系统)标记出来的目标,去定位其他有联系的目标。至此成功使用被动方式定位识别到了NTC VIP部门专门运营维护Green Exchange的员工。
4.与R&T一起使用SECONDDATE 和QUANTUM项目,成功将4个新式CNE accesses植入到Green Exchange中。
结果:
成功安装了四个全新的CNE access,成功控制VIP 部门和一个用于收集Green Exchange的基础线路。附一张位于伊斯兰堡的Green Exchange 房间规划图
至此,用于巴基斯坦高级官员和军事领导之间交流所使用的通信网络就被NSA完整监听。
附注:
QUANTUM ,NSA最著名的“量子”项目,包括QUANTUMINSERT等一系列以QUANTUN开头的项目。
SECONDATE,MinM攻击工具。
SIGDEV,全称为Signals Intelligence Development,有顶尖的情报分析分析人员,SIGDEV的分析人员会去发掘与现有目标相关联的新目标与新的方法。SIGDEV的渗透方式就是尽可能的挖掘关联信息。
关于巴基斯坦网络被SID部门标记为传统不可入侵的网络,我查了下网上的相关资料,看到wikipedia的一篇文章叫做《Websites blocked in Pakistan》,得知巴基斯坦国内也处于互联网管控。与中国的GFW相同,之所以说相同,是因为由于巴基斯坦是友好邻邦,所以该“web filtering system”是由中国开发提,再供给兄弟国家巴基斯坦。
案例二: Lebanon 黎巴嫩
攻击的运营商是OGERO ISP
攻击流程简述:
1.尝试用SIGDV的传统方式渗透,但是这种攻击方式在黎巴嫩受到了较大的限制。(因为黎巴嫩跟我们有很多类似的地方,其中一个就是网络过滤。)
2.通过TAO部门的项目,REXKWONDO,并且在获得S2I53( Advanced Analysis Division,AAD 下属部门,用于反恐)CT 和SIGDEV (Signals Intelligence Development) SDS CNE 在高关注度的目标上提供技术支持和分析辅助,攻破了OGERO NOC (OGERO Network Operation Center),控制了边界网关路由器。
3.使用HAMREX,在已控制的边界网关路由器上承载国家级流量,架设SECONDDATE MitM攻击套件,进一步攻击黎巴嫩的Internet。
4.使用CGDB攻破OGERO上游电信运营商Liban Telecom(黎巴嫩国有运营商)的路由器。使用由TAO和S2I5联合开发的定制版路由器EXP和新型植入型工具HAMMERCORE与HAMMERSTEIN,成功在被控路由器上承载了Hizballah(真主党)Unit 1800与多个CT 项目的关联流量。
5.在成功启用承载流量后的24小时内,就成功将流量从核心路由器隐蔽的导出到SSO( Special Source Operations 特殊来源项目,用来存储通过某些手段收集到的所有数据) STORMBREW ,并使的S2I,S2E,SSG\NAC 小组可以通过XKeyscore去分析。
成果:
总共收集了100+MB的真主党 Unit 1800的数据,并用SKEYSCORE进行分析。并且由S2I22确认了CADENCE词典和XKEYSCORE 指纹被命中(确认目标的方式)。NSA SIGINT 高级分析师可以对任何一个在黎巴嫩感兴趣的IP段使用XKEYSCORE的单一被动数据库进行SIGDEV分析。
注:
Unit 1800 :“在20世纪90年代,真主党成立一个特别部门 – Unit 1800 – 致力于支持巴勒斯坦恐怖组织和渗透自己的操作工进入以色列搜集情报,并执行以色列境内的恐怖袭击。”
CGDB,并不能确定这个词语的含义,只是搜索到了github叫做该名称的项目。
从读完这两个故事了解到,网络过滤系统不仅对内部渗透人员进行阻碍,同时还能对外部的渗透攻击起到一定的阻碍作用,有助于营造安全的网络。呵呵。但也仅仅是一点点阻碍,应对该问题的方案就是把TAO小队拉入联合行动小组,实施定向攻击或者使用其他被动的攻击定位方法。
二、小结
NSA的渗透攻击思路,不同于我们常用的渗透测试思路,给常规的渗透测试思路很大的冲击。因为NSA不再是针对传统的安全漏洞,而是换了一种全新攻击思路,去利用互联网用户对互联网的信任去攻击目标。
就像之前发表在不同平台上文章中提及的,传统防火墙就是靠提高攻击者的门槛来保护内部网络,但是如果攻击者的攻击能力高于防火墙,越过了这个门槛,那么在针对这类高水平攻击者的反APT行为中,防火墙就成了拖累整个网络安全水平的短板。并不是指其不满足技术指标和设计需求,而是他会极大的麻痹内网安全人员及所有使用者对网络安全状态和安全风险的认知。因为大家过于信任防火墙。就像足球场上,总是弱队出强门,因为门将无法去指望靠后卫或者其他队员,只能依靠自己,在不断的提心吊胆中锻炼出来敏锐的嗅觉,成为铁一般的半个后防线。但是并不是说世界级后卫没有存在的道理,只是因为在强的人也不是永远保险。
归根结底,因为信任,既保护着你,也伤害着你。
现有的计算机网络划分被OSI划分为七层结构,下层是上层的基础,上层依赖着下层。除去第一层物理层,网络的基础是二层,数据链路层,数据在这个层面以数据帧的形式进行传输。该层由一个非常重要的协议,生成树协议spanning-tree,将整个网络规划成一个个树形结构,连在一起,形成一个无比巨大复杂的树形结构。该协议最关键的地方在于根的选择,根是整个网络的核心。网络发展至今近50年时间,让这个结构越来越模糊,但是依旧没有逃出这个结构。
网络安全架构,根网络结构非常的类似,选取一个可以信任的点作为根,然后按照信任程度从高到低环绕在根的周围直到最不信任点。安全简单的说就是一个基于信任的层级结构,不允许低低层级获取高层级的资源。就像简单的windows域环境,域管理员允许访问任何域内机器,但是普通成员就不允许访问与管理员机器,因为域管理员是大家默认信任的单位。
就像成员在域中就得信任管理员一样,网络中存在着许多大家意识不到的默认信任点。使用计算机(以windows为例,不考虑其他操作系统),就会默认信任windows,因为我只有用或者不用两个选项,并且我还不能不用。虽然有越来越多的人意识到windows并非绝对安全,但你所做的也只能是在现有基础上进行略作加固。因为没有办法去改变只有两个选项的本质。
以此类推,只要用户接入了互联网,就默认对自身接入的运营商信任,这种信任是无条件的。VPN,加密也只是对安全加固的一个方式,但是你总会有没有防御完善的地方,并且将这个地方完全暴露给所信任的点。
规则是无法束缚住制定规则的人
对于信任是无法防御的,如果进行防御,证明对方不被信任。人是不能活在一个没有完全信任点的世界中的。计算机网络更是如此,没有绝对信任点,网络安全无法被搭建。
所以,站在攻击者角度,最好的攻击方式,就是利用对方的信任去攻击。针对这种攻击方式没有防御措施,只有事后如何补救。所以这是一种无法防御的攻击方式。
利用目标的信任,设计出一个信任链条,然后利用该信任链条去攻击目标。因为信任是木桶效应中最容易让人忽略的短板。
以下举几个测试作为例子:
测试一、针对内网出口
“利用被入侵的路由器迈入内网”,wooyun
成功突破出口路由器,利用分公司人员对底层网络的信任,直接获取分公司内部网络的访问权限。
然后利用工具,直接在公司网关上架设MitM,进行中间人攻。
由于在边界路由器上发现了分公司与主公司之间的GRE通道,成功利用主公司对分公司的信任,访问总公司内部网络。
具体攻击方式完全类似于NSA的攻击方式,监听收集信息,投毒以进一步获取权限。
(新的文档今年八月份才解密,在当时是纯个人思路)
测试二、类运营商攻击
“内网渗透思路探索 之新思路的探索与验证” ,wooyun
测试目标是一个工作组网络,位于某个园区。将园区网络视作一个运营商,工作做的用户视为接入运营商的用户。
首先使用某种手段,控制园区网络的一个或者几个节点。然后在该节点上部署MitM监控整个网络的流量。收集用户的详细信息,由于当时收到技术及设备的限制,只收集了关于URL的信息。但也足够分析出整个网络的用户行为习惯与爱好。
由于实力有限,没有漏洞与高级远控,只能简单针对下载的EXE进行302劫持。出于安全考虑,在劫持的一段时间内,切断了内网安全软件的联网权限(通过关闭杀软的DNS解析)。
即使是在软件靠半自主修改定制(开发能力有限,就略微能使用一点点Python),远控全开源的恶劣情况下,仍然能对某个或者某个群体进行定向攻击。
测试三、针对流量监控
环境是在测试二的网络环境中。由于控制了流量监控设备,所以能较为清晰的分析,测试用的攻击流量被如何分类。
使用 update.mircosoft.com 与 windowsupdate.microsoft.com 作为测试域名,powershell和meterpreter全部使用该地址进行上线,并限制了DNS解析,该域名全部解析到134.170.58.221,然后进行传输文件测试。流量监控设备将所有测试流量归类到windows流量中,即使瞬时较大,也只是发送了INFO级别与NOTICE级别的日志。
测试四、劫持路有协议
在一个内网中,控制一台路由器或者一台服务器,利用路由协议,强制引导劫持整个OSPF网络的流量。通过这种方式,影响到本区域外但同属于局域网环境的路由器,包括跨国公司全球范围内的内网路由器,将本不属于或者理论无法接触到的流量进行跨区域引导劫持。并且该影响方式不会引起安全报警。
测试五、BGP(理论)
通过BGP协议去引导相邻区域或者其他区域的流量。例如在最新解密文档中,劫持country-wide traffic的一种可能性。就像“NSA黑客团队TAO手抖,叙利亚举国断网三日”,这种情况是只能由BGP产生的效果。
即使能通过BGP只能劫持某国家网络1小时,能收集到的信息的大小也将会是天文数字。
以上四个测试,由于是一个IE RS转型去做安全并只有极其薄弱的开发能力,在业余时间借助一个安全研究员朋友的帮助完成的测试。所以根本无法将该攻击方式发挥出它应有的攻击能力。并且都是在详细文档与案例解密之前进行的测试,没有案例与方案进行指导。即使是这样,仍能获得不小的收获,该方案的适用范围很广并且真的很好用。
三、后话
通过以上测试发现现有网络结构有极其脆弱的一面,用户和很多软件厂商默认对底层网络进行信任。太多的厂商和公司因为性能,易用程度和成本等原因放弃使用SSL,这是极不明智的。在国内,bing搜索与baidu搜索做对比,在界面的用户体验上BING就比BAIDU差很多,其根本原因为BING界面充斥着运营商插入的广告。尤其是很多软件使用无沙盒或者老版本的浏览器作为内置浏览器,并且官方页面不使用SSL,这种安全风险实在是过于巨大。甚至较多的安全软件与设备也是,极容易被这些基础信任所迷惑与麻痹,没有将权限最小化,信任最低化充分体现在整体的设计思路上。
有太多的厂商根本不去考虑如果基础网络不安全会给用户和自身带来何种程度的安全风险和会如何影响用户体验,如下所示:
甚至还有,某运营商的新功能,在使用手机移动热点时,劫持修改所有的http流量,插入一个看似便利的流量提醒插件,如下图:
如果有心,写一个JS去获取网页信息,完全能做到手机号-IP地址-个人身份-网站帐号 这几者的完全对应,完成对人员的定位与追踪,威胁个人隐私及安全。
尤其是在移动端,由于本土原因,每个定制版安卓都会有自己的浏览器,甚至较多应用都有自己的浏览器,并且默认使用自身的浏览器去打开所有的网页。但是在现如今的网络环境中,如若不是手动翻墙下载使用Chrome浏览器去浏览网页,如何能做到安全的浏览网页而不担心手机被EXP入侵。
甚至是在安全圈子,号称拥有上万白帽子,曾经中国顶尖的安全社区之一,又做的如何呢:
整站被google收录的SSL页面就一个,HTTP页面有至少288K个,近29万个页面中只有一个HTTPS页面,暂不讨论利用网站内容信息进行精确识别,甚至连登陆界面都不是HTTPS,这让白帽子的信息如何能不泄漏。一个致力于提升互联网安全的公司,也就做到这样,更何况其他的公司。(即使在发送过程中使用了类似MD5等加密算法,也依然不会挡住个人账号信息泄漏。如利用类似ASA未授权访问漏洞修改登录页面获取登录密码。)
更高风险的情况是有的公司使用了HTTPS,但是却是使用低验证级别的SSL,使得即使页面中的某个元素或者脚本被劫持替换,却依然显示着安全的绿色标识符。
在测试类似QUANTAMINSERT的方案是,在github上发现一个项目叫做“evilgrade”,由infobyte小组完成公开在github,一个用于更新劫持的工具。有太多的软件不验证软件签名或者下载源的签名,甚至直接不使用SSL下载,不提供软件签名和特征码。因为软件厂商根本不认为这会造成安全风险或者说根本没有意识到其自身的安全责任。
公民身份信息泄漏源究竟在何处,这是一个公众不断探寻的问题,网上流传各大社工库中的数据基本不会有用户自身泄漏的数据,社工库的来源基本都是来自各大网站、厂商、企业的数据库。但是各大厂商、公司、企业都在指责用户没有将自己的个人隐私保护好,将泄漏用户隐私的责任推给用户,这是不合适的。
用户给予厂商、网站、提供商信任,但是对方却根本没有意识到这部分信任所对应的责任。甚至个别运营商允许攻击者使用运营商的广告服务进行推送木马。被公开到网上之后,只会讲责任推给承包商,并且不会有任何人负担法律责任。
假设NSA在中国买广告推送木马至高价值的目标中。行动暴露,究竟会不会有运营商相关人员承担责任,依靠法律不承认的不知者无罪来为自己开脱逃避处罚?我相信结果会很有意思。
如今处于互联网时代,人们生活离不开互联网,我举一个例子,支付宝,支付宝有所有用户的消费信息,如今正在做社交,加上阿里集团的虚拟运营商,这只是大家知道的,还有支付宝通过在未授权的情况下获取个人非淘宝快递运单号用于推送到支付宝,以及大家不是很了解的手段获取用户所有信息。可以说阿里集团已经拥有完整描述一个人的能力,包括个人信息,生活轨迹,兴趣爱好,信用记录,人员关系,工作等。
但是大家有没有想过,万一支付宝失守了,会发生什么事情?
安全最重要的两个词,信任与责任。正视了这两个词,安全将会有质的飞跃。