软件进行安全防护,188金宝搏网络加速平台的业务管理、策略控制和数据转发功能实现上分离

背景

0x00 前言

随着公司业务复杂度越来越高、节点覆盖也越来越广,满足各业务节点灵活的网络访问需求给网络建设和运维提出了更高的要求。在这样的业务需求背景下,结合SD-WAN(SD-WAN是将SDN技术应用到广域网场景所提供的特定服务,这种服务用于连接不同地理位置的网络节点,并为这些节点之间高效互访和节点特定访问需求提供保障)架构理念系统网络推出了网络加速平台,其构建了在爱奇艺现有基础网络之上的一张overlay平面,提供了各节点灵活互访的能力。网络加速平台的业务管理、策略控制和数据转发功能实现上分离,为业务用户(包括物理主机、虚机等)针对性提供差异化网络平面的加速服务。


网络加速平台基于SD-WAN架构实现,并对加速业务自动化统一管理,很大程度上减轻了随着网络规模和业务种类增加时链路数过多及调度策略复杂时的运维工作,提高了管理效率和网络运行效率。平台通过差异化路由策略实现目标节点的引入,提供统一的路径规划,并可以根据网络运行状态动态调整业务路径。

在安全发展初期,企业和一些个人使用杀毒软件进行安全防护,如卡巴斯基,symantec等,安全人员使用免杀这项技术来对抗杀软的检查。现如今,安防软件采用各种手段来保护内网安全,如网络流量分析,软件行为分析,网络行为分析等,提高了内网的安全性。

解决方案

同时在渗透过程中经常遇到一种内网结构,由数台mac,linux和windows个人机组成的混合内网,一种扁平化结构。

平台架构

188金宝搏 1

如图1所示,平台自上而下分为业务控制层、路由控制层和underlay数据转发层,overlay构建在实体underlay数据转发层之上,系统管理员通过业务控制层进行业务管理,业务控制层通过FAST(爱奇艺业务配置管理系统)、SSH及NETCONF等作为南向接口协议与数据转发层相互通信,业务控制层感知网络的路径质量和运行状态为用户流量提供最佳转发路径。

windows域与扁平化网络结构对比图

188金宝搏 2

这种扁平化的网络难以管理和维护。并且给安全测试人员带来了困扰。渗透这些网络,就不能使用传统域渗透思路,进入域,获取域管理员权限,控制域控。

业务架构

去年Google宣布,放弃内外网结构,将所有网络当做外网对待。这种访问模式要求客户端是受控的设备,并且需要用户证书来访问。访问有通过认证服务器、访问代理以及单点登录等手段,由访问控制引擎统一管理,不同用户、不同资源有不同的访问权限控制,对于用户所处位置则没有要求。也就是说,无论用户在Google办公大楼、咖啡厅还是在家都是一样的访问方式,过去从外网访问需要的VPN已经被废弃。而所有员工到企业应用的连接都要进行加密,包括在办公大楼里面的访问。可以说,Google的这种模式已经彻底打破了内外网之别。

网络加速平台从左向右分为三个平面:业务接入平面、路由控制平面、数据转发平面。

所以针对传统网络结构以及包括这种无内网的网络结构提出一种新的渗透思路,同时能对流量行为检测有一定的规避作用。受到google的启发,如果渗透也不再关注内外网结构,不再专注于内网渗透,把对于外网的思路完整的放在渗透中,自始至终,一直使用外网渗透方式,是否就能渗透特殊的网络并且能在一定程度上逃避网络行为检测。开始探索,提出一个完整的渗透方案

业务接入平面:业务接入平面作为网络的入口在平台内和路由控制平面连接,同时配置主用链路和备用链路双接入,根据不同的业务类型,通过不同的设备接入特定的网络平面。业务接入平面设备提供客户主机的接入功能,同时在特定的网络场景下接入路由器可以和转发出口路由器直接建立互联,为业务提供特定的Internet访问路径。

该方案就是把思路更多的放在网络基础设备上,如Router,Switch等基础网络设备。攻击方式,就像NSA的TAO系统一样,检查流量,控制流量,最后利用流量。

路由控制平面:路由控制需要承载全部各大运营商汇总后的路由,同时承载全部中小运营商需要加速的路由,并通过路由策略(线路长度、链路cost等)控制不同的业务接入设备接入到不同的网络平面。

0x01 渗透初探

数据转发平面:数据转发平面和路由控制平面互联或者和特定的接入平面设备逻辑直连,不同出口的路由设备仅需要发布本运营商汇总后的公网路由给路由控制平面特定的网关设备,转发设备只发送路由而并不接受平台控制平面发送过来的公网地址段路由,同时设备兼做出口网关。


路由控制

基于这样的渗透思路,开始尝试寻找试验目标。

网络加速平台当前主要实现内网访问外网和外网访问内网两种不同应用场景并针对性提供不同技术方案以满足不同业务需求,网内underlay实体网络由专线或者链路组成,专线连接孤岛节点,针对只能特定地址访问和内部代理节点代理模式通过VPN隧道的方式打通加速平台和内部节点的连接链路,并通过BGP策略指定特定路径。

关于试验用目标,有几点要求,首先是在一个工作组环境中,(其次)拥有较多的主机或者较大网络。经过不断寻找,成功渗透进一个满足我需求的内网。

当业务接入平面节点业务为QNET业务、监控业务、堡垒机业务等需要全部小运营商路由情况下接入路由器同路由控制平面设备建立EBGP邻居,学习各接入小运营商及QNET全部加速路由。业务接入平面路由器在BGP邻居上配置不同的MED值以区分到南方和北方不同方向的主备EBGP路由。EBGP策略默认接收全部邻居路由,但仅发送隧道接口IP地址到控制层路由器。

目标是一个学校,渗透的过程比较平常,注入,上shell,反弹不成功,正向反弹,控制服务器,没有太多的亮点。

控制平面路由器之间建立IBGP邻居关系,北方和南方各取一个节点设备兼做RR,IBGP邻居之间无需配置路由策略,路由控制平面设备上承载国内三大运营商、QNET、所有小运营商所需加速地址段全部路由信息。控制平面除了作为路由的汇聚点,同时也会成为流量的中转站,为了更合理得疏导网内流量到合理的中间节点控制平面设备的分布需要能起到疏解汇聚流量的作用。

188金宝搏 3

路由策略示例:

188金宝搏 4

方向/层次

188金宝搏 5

接入

然后开始针对网络设备进行攻击。利用正向反弹工具,将我的kali接入了内网,定向攻击网关设备。利用snmp的弱口令,直接获取了三层交换的控制权限。

控制

188金宝搏,ipconfig /all结果截图:

转发

188金宝搏 6

入方向

执行snmpwalk读取密码:

默认接收全部邻居路由地址段,不接收控制层发送过来的默认路由,接收默认路由需要单独策略配置,保证业务流量可以到特定出口。

188金宝搏 7

默认接收全部出口EBGP邻居路由。

成功读取到密码

仅接受隧道互联IP地址段建立IGP。

188金宝搏 8

出方向

注:kali的snmpwalk
不能利用proxychains走socks5代理,攻击内网机器,暂不清楚原因。

发送隧道互联IP地址段建立互联IGP。

这里需要多说一下,我并没有直接进行固件级别的EXP测试,因为在exploit-db上的路由器固件的远程命令执行exp并不多,有很多的exp并没有公开,并且由于自己没有构造EXP的能力,遂放弃通过EXP获取权限的思路。

到业务接入路由器设备默认发送全部路由,不做策略控制,针对特定业务接入节点只发送和业务相关的路由。不发送任何目标网段路由到转发层,仅建立互联路由。

0x02 收集分析网络基础信息

ISP接入路由器通过配置EBGP的network方式,将ISP汇总后的地址段全部发送到路由控制器中,并配置no-export属性,使得大ISP路由不透传给业务接入平面路由器上,小运营商路由配置预先分配的community值。


服务场景介绍

通过正向代理访问网关,成功telnet连接到设备:

特定网络出口或特定目标节点访问

188金宝搏 9

此场景主要解决特定机房业务主机访问异地特定网络节点的需求,网络加速平台在所需要访问的出口部署网关设备,每台网关设备和路由控制平面建EBGP邻居关系并将自己所能到达的路由发布到控制平面,控制平面将和接入平面设备同时建立EBGP邻居关系,根据接入设备所服务的业务节点发布特定路由到接入层以此引导用户流量到特定的网络出口。所有的路由策略在控制层设备落地。

然后立即查看所有配置:

188金宝搏 10

188金宝搏 11

如果业务2需要访问广电某个机房某台服务器,其IP地址范围为x.x.x.x/27,那么这个地址prefix通过EBGP从转发层设备发布到控制平面再到接入平面设备,业务2主机配置到这个地址的静态路由并通过隧道和接入平面设备连接,指定下一条到接入平面设备,此时业务2主机就可以访问这个机房的这些服务器。

查看版本信息:

远端网络本地下沉

188金宝搏 12

基于爱奇艺基于MPLS
VPN的QNET网络并在其上开启L2VPN服务,在多点间构建大二层网络,可以将远端网络IP地址下沉到QNET所覆盖的各个分布式节点。和三层VPN不同的是原始报文的以太网二层地址在跨越核心网络时并不发生变化,而是作为负载被打包到了新报文数据负载中,保证二层信息可以跨网传递。这种方式降低了业务分布式部署复杂度,提高了服务灵活性。

查看设备的IP地址:

188金宝搏 13

188金宝搏 14

如上图所示192.168.1.0/24段网络网关(192.168.1.1)在右上角,左上和下方的两个节点均和右上角的节点在不同的物理位置,此时我们可以将相同网段内地址(192.168.1.100和192.168.1.200)部署在这两个节点上面,使得分布式节点整体可以在一个二层域内。这样的业务互联方式可以满足不同网络环境下统一的业务配置管理,获取快速和灵活的业务部署能力。

查看活动主机:

默认路由指定特定网关

188金宝搏 15

针对机房内主机选择特定互联网出口的场景,传统的解决内部主机访问外网的方式是通过主机和外部出口网关建立内部隧道然后通过网关接入互联网。网络加速平台提供基于主机默认路由方式访问外网的方法,在主机机房部署奇路网关,奇路网关和多个出口网关建立外部VPN隧道,内网主机配合外网DNS可以正确解析用户所选择的特定运营商出口,并根据用户选择或者负载均衡策略将用户流量导入到相应的出口网关。奇路网关通过策略路由做访问限制,用户出网权限通过平台统一管理,申请通过后将用户主机地址在策略路由中放行。

获取完基本信息之后,进行简单分析,华为的9306,三层交换机,查看到的下辖的用户不多,只有160多个,可能不准确,因为该时间段为非办公生活时间段。然后梳理流量线路,朝着外网方向,继续探索,又获取一台ruijie
ES2000GS的控制权限,之后的机器不允许访问,无法继续往下拓展,总结如下

188金宝搏 16

华为的9306应该是一层楼的或者一栋楼的汇聚,ruijie
ES2000GS应该是一栋楼或者一个小园区的出口,校园核心的双交换网络或者出口路由器都不能被telnet访问。之所以这样分析,因为在已经控制的机器上暂未发现任何一个公网IP地址;链接数、活跃主机数量都处于一个较低的量级;发现了nat的配置,但是并没有公网映射;所以只能这样简单的判断。

在基于VXLAN建设的IDC中跨越TOR的访问为三层访问,TOR作为VTEP和VXLAN网关限制了主机的二层广播域,所以内网主机访问外网需要三层隧道或者路由方式来调度用户流量,本方案结合隧道和主机默认路由的方式提供内网主机访问外网的方法,根据出口网关的位置和数量可为内网主机提供差异化的访问出口。

0x03 获取内网用户详细信息

域名路由


域名路由是指业务主机可以根据域名作为条件选择特定的路径以达到最优的网络访问质量,其主要的问题在于域名解析结果的动态更新、解析结果与路由表的绑定及多出口的接入。网络加速平台通过业务主机的DNS服务程序dnsmasq来实现这些功能,dnsmasq解析到目标域名的主机后根据静态配置出口或者出口选择策略将解析IP及下一跳写入主机路由表中达到特定域名走特定出口的目的。

为了获取这个详细信息,就必须要对内网流量进行分析,为了完成这个目的,需要在内网路由器,与公网的Ubuntu之间建立了一个隧道。在准备阶段,预备了以下几种隧道协议部署方案:

188金宝搏 17

协议 安全性 PAT穿透 GRE 不加密 否 PPTP 加密 是 L2TP 不加密 是 IP-SEC
加密 否 L2TP over IPSEC 加密 是

某些业务会对多个外部系统产生依赖,比如支付体系会使用apple支付、微信支付和支付宝等支付方式,那么针对不同的支付接口的访问均需要访问不同的域名,而且不同的支付系统所访问的最优路径有所不同,所以按照不同的域名将访问流量调度到不同的隧道入口可以提高业务整体的服务质量。

由于已经控制的设备没有公网IP地址,没有控制实现NAT功能的网络出口设备,就必须选择能穿越PAT的隧道。所以就只能在L2TP
,L2TP over
IPSEC,PPTP中选择一个,最终选择了L2TP。因为锐捷经过测试发现不支持PPTP时,L2TP
over
IPSEC配置建立隧道导致设备不稳定,可能是设备自身的原因,在本地模拟环境测试时正常。

总结及展望

准备配置L2TP隧道,在本地的模拟环境上进行了部署,都能连通。但是到了设备上,报错说不支持命令,并且virtual-ppp接口无法添加配置,至今未找到原因。最后直接图形化配置完成,锐捷提供了L2TP
VPN的图形化配置界面,很简单。

网络加速平台作为SDN体系建设中重要的一部分为业务节点的互通和特定访问需求提供了网络解决方案,通过动态路由协议、overlay加速平面和差异化的调度策略提高了网络访问的效率,基于SD-WAN架构思想通过软件管理平台统一对接入业务进行管理、调度和监控,让业务更灵活得感知网络运行状态,根据网络服务QoS和网络故障情况实时切换路径,保障业务稳定。

188金宝搏 18

平台在演进的过程中不仅需要解决节点之间、内部节点到外网的访问需求,也需要扩展支持内网对外提供服务的场景,能提供同时兼容东西向流量和南北向流量的管理和调度能力。同时平台需要不断扩大进出口的覆盖、扩展专线与公网混合调度能力来提高平台的鲁棒性,提升二层、三层到七层的全栈路由加速能力,以提高基础网络对各业务全方位的支撑能力。

188金宝搏 19

188金宝搏 20

188金宝搏 21

在想分析流量的时候,出现一个问题,原计划是使用ip
flow,但是该协议是cisco私有协议,锐捷与华为都不支持,并且笔者对华为的IP
STEAM不熟悉,没有很好的解决方案,在准备进行完整引导流量的准备时,发现锐捷的网关设备,可以生成流量报表。

188金宝搏 22

188金宝搏 23

对统计好的流量大概分析后,对内网的流量有了一个大概的认识,HTTPS流量占了日常网页流量的很大部分,并且发现了内网有较大规模部署360安全大礼包。

188金宝搏 24

然后定向劫持一些腾讯的http网页,利用小工具,将beef代码插入到网页中,进行基本信息的获取。由于较多网页为HTTPS,并没有完善方案,所以收集到的信息很少。
这里需要多说一句,我劫持流量的方式是利用MQC或者添加路由,进行抓取,引导流量。没有使用Switch端口镜像配置获取流量,像(

然后利用一些能找到的一些EXP,进行挂马。开始没有上线的,将马换成powershell
empire的exe之后,终于有了一台上线的。分析可能是由于EXP和木马没有进行免杀,并且机器上有安装360或者一些其它的杀软,直接导致EXP与木马被杀。
因为只是验证性的渗透,使用的木马和EXP全部是网上公开的,并且没有准备特定场景的定向钓鱼,所以只能获取个别机器的控制权限。但是如果经过一些准备,在完全控制了用户流量这种情景下,种马不会特别难。

之后我试图进行内网控制扩展,即尝试渗透本园区之外的机器。结果两台设备上没有运行任何路由协议,路由配置就一条默认路由指向出口,其他的路由都是本地直连路由。

188金宝搏 25

之前准备的方案是进行路由协议的劫持,或者称为路由表的优化更为确切,就是利用协议特性,将我变成必经之路,获取内网其他区域的流量。该设计方案并不关心路由协议,不论是OSPF,EIGRP,RIPv2或者是混合网络,只要他和其他机器之间运行着某种路由协议,就能完成路由的劫持。很遗憾,这个环境中不能实地测试了。

在尝试进一步明确内网设备信息,进行了简单的tracert查找,进一步明确了网络链路结构。在扩展渗透的时候受阻,核心路由器只给我回复icmp的信息,不允许我访问其他的任何端口,对于这情况,目前没有有效的方案。

这是一种比较无奈的情况,应该也就是大家一直对Router或者Switch没啥兴趣的原因。这类设备,如果精心配置了安全,那么除了EXP外,其他的控制思路都会十分的艰难。在这台设备上没有尝试已经公开的EXP。因为针对核心设备,EXP会引起的崩溃可能会导致机器瘫痪,重启,产生巨大的影响。

到此,测试就告一段落,清理渗透痕迹撤出,并没有近一步尝试扩展控制。如果继续,进行一段时间的数据包监听等行为,一定能有所突破。

0x04 总结


最近一直在研究流量的引导,控制,利用,以适应于各种渗透环境。
所以这是我想到对抗这种环境特殊内网的方案,我认为可以使用这种思路,用在之前渗透的所有目标上,如果有逆向开发人员,漏洞人员的配合,渗透测试将会在内网中如鱼得水。

这种思路经过简单的变形,放大,会是一种极为方便的渗透思路,我这里举一例:

flag在一个内网的一台机器上,利用传统针对目标的渗透,无法获取到内网权限。然后该怎么办?
获取目标网络信息,所属IP地址,然后,攻陷该运营商。然后利用流量控制目标1,突然发现目标2也在该运营商范围下,顺势拿下目标2,以此类推,目标3,目标4.。。。。。。。
发现目标10不在该运营商范围内,利用BGP劫持公网路由信息。然后顺势扩展目标11,目标12.。。。。。。

该示例没有计算投入,并且需要大量的技术支持。但是收益一样客观。有人说BGP劫持被监控,实际上是,精心设计的BGP劫持,不会被发现,只是需要精心设计。

再结合实例,谈一下关于渗透行为的敏感性

由于该渗透是通过注入等操作进入内网,然后SNMP获取路由器权限,隧道并没有使用IPSEC加密,这三个步骤不可能逃过行为流量检测。

关于木马回连:

木马回连的地址,全部使用update.microsoft.com域名,在网络设备上,做通网该IP地址的流量进行定向劫持到VPS。将本地机器接入VPS,并且将VPN的IP地址设置为该域名解析的地址。这样就成功使得木马上线。
使用的是empire木马,他的的流量使用SSL加密。关于EMPIRE的上线时间,并没有做特别设置,因为方便测试。在已控的网关与用户个人机器上看到的只会是用户与
update.microsoft.com该域名地址的ssl通信。但是在最外层的路由器上可以看到通网VPS的流量。所以说只要规避之前所说的敏感点,该方案会具备较高的隐蔽性。
并且没有敏感的内网渗透行为,例如利用一个用户账户,登陆不该登陆的机器,访问不该访问的位置,打开不属于自己的文件夹。所有设备的发现没有靠扫描(第一步除外)。关于flag,只是通过捕获用户,检查用户访问位置,是否能访问flag文件夹。重复过程,直到抓到访问flag的用户。
所以如果木马等工具能不被安防设备或者软件查杀,该渗透方案具有较高隐蔽性。由于该内网中没有行为检测设备或者我没有控制到,不能进一步判断。在设计之初,就考虑到顶级安全行为检测设备。由于非开发,没有考虑在机器端防护的部分。

最后说下这个思路的弊端

如果没有一个很成熟的钓鱼等方案,例如下载exe时做302跳转;劫持安全部门网页,提供安全更新;Router与Switch没有配置漏洞可以利用。那么该思路极其依赖漏洞的使用,例如需要Router与Switch远程命令执行漏洞来控制网络设备;flash,浏览器等软件的本地命令执行漏洞。
需要操作路由器来对路由表进行优化与流量的引导,至少得对路由器,路由协议,交换机有深入或者较为深入的了解。
对HTTPS没有什么好的解决方案。

所以如果某个安全研究人员或者初级团队使用,会遇到较多的瓶颈。
但是如果你有一个,个人能力合适,人员方向覆盖较全的团队,你将会收到一些惊喜。

下一步,我将研究如何对抗这种方案。

 

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图