堤基渗透测试模型图_堤基渗透测试模型

hacker|
172

如何突破防火墙进行内网的渗透测试

身处不同的渗透测试环境下就会有不同的渗透思路以及渗透的技术手段,今天我们将从攻与守两个不同的视角来了解渗透测试在不同处境下所使用的技术手段。

从攻方视角看渗透

攻方既包括了潜在的黑客、入侵者,也包括了经过企业授权的安全专家。在很多黑客的视角中,只要你投入了足够多的时间和耐心,那么这个世界上就没有不可能渗透的目标。目前我们只从授权渗透的角度来讨论渗透测试的攻击路径及其可能采用的技术手段。

测试目标的不同,自然也导致了技术手段的不同,接下来我们将简单说明在不同的位置可能采用的技术手段。

内网测试

内网测试指的是由渗透测试人员在内部网络发起的测试,这类的测试能够模拟企业内部违规操作者的行为。它的最主要的“优势”就是绕过了防火墙的保护。内部可能采用的主要渗透方式有:远程缓冲区溢出,口令猜测,以及B/S或C/S应用程序测试(如果在渗透测试中有涉及到C/S程序测试的,那么就需要提前准备相关客户端软件供测试使用)。

外网测试

外网测试则恰恰与内网测试相反,在此类测试当中渗透测试人员完全处于外部网络(例如拨号、ADSL或外部光纤),来模拟对内部状态一无所知的外部攻击者的行为。外部可能采用的渗透方式包括:对网络设备的远程攻击,口令管理安全性测试,防火墙规则试探、规避、Web及其它开放应用服务的安全性测试。

不同网段/Vlan之间的渗透

这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan来进行渗透。这类测试通常可能用到的技术包括:对网络设备的远程攻击、对防火墙的远程攻击或规则探测、规避尝试。

信息的收集和分析伴随着渗透测试的每一个步骤,而每一个步骤又有三个部分组成:操作、响应和结果分析。

端口扫描

通过对目标地址的TCP/UDP端口扫描,确定其所开放的服务的数量以及类型,这是所有渗透测试的基础。端口扫描是计算机解密高手喜欢的一种方式。通过端口扫描,可以大致确定一个系统的基本信息并搜集到很多关于目标主机的各种有用的信息,然后再结合安全工程师的相关经验就可以确定其可能存在的以及可能被利用的安全弱点,从而为进行深层次的渗透提供可靠性依据。

远程溢出

这是当前出现的频率最高、威胁最严重,同时又是最容易实现的一种渗透方法,一个仅仅具有一般的基础性网络知识的入侵者就可以在相当短的时间内利用现成的工具实现远程溢出攻击。

对于防火墙内的系统同样存在这样的风险,只要对跨接防火墙内外的一台主机攻击成功,那么通过这台主机对防火墙内的主机进行攻击就易如反掌。

口令猜测

口令猜测也是一种出现概率很高的风险,几乎不需要任何攻击工具,利用一个简单的暴力攻击程序和一个比较完善的字典,就可以进行猜测口令。

对一个系统账号的猜测通常包括两个方面:首先是对用户名的猜测,其次是对密码的猜测。只要攻击者能猜测或者确定用户口令,就能获得机器或者网络的访问权,并且能够访问到用户能够访问的审核信息资源。

本地溢出

所谓本地溢出是指在拥有了一个普通用户的账号之后,通过一段特殊的指令代码来获取管理员权限的方法。使用本地溢出的前提是首先你要获得一个普通用户密码。也就是说由于导致本地溢出的一个关键条件是设置不当的密码策略。

多年的实践证明,在经过前期的口令猜测阶段获取的普通账号登录系统之后,对系统实施本地溢出攻击,就能获取不进行主动安全防御的系统的控制管理权限。

脚本及应用测试

Web脚本及应用测试专门针对Web及数据库服务器进行。根据最新的技术统计表明,脚本安全弱点是当前Web系统尤其是存在动态内容的Web系统比较严重的安全弱点之一。利用脚本相关弱点轻则可以获取系统其他目录的访问权限,重则将有可能取得系统的控制管理权限。因此对于含有动态页面的Web、数据库等系统,Web脚本及应用测试将是渗透测试中必不可少的一个环节。

在Web脚本及应用测试中,可能需要检查的部份包括:

(1)检查应用系统架构,防止用户绕过系统直接修改数据库;

(2)检查身份认证模块,用以防止非法用户绕过身份认证;

(3)检查数据库接口模块,用以防止用户获取系统权限;

(4)检查文件接口模块,防止用户获取系统文件;

(5)检查其他安全威胁。

无线测试

虽然中国的无线网络还处于建设时期,但是无线网络的部署及其简易,所以在一些大城市里的普及率已经很高了。在北京和上海的商务区内至少有80%的地方都可以找到接入点。

通过对无线网络的测试,可以判断企业局域网的安全性,这已经成为渗透测试中越来越重要的环节。

除了以上的测试手段以外,还有一些可能会在渗透测试过程中使用的技术,包括:社交工程学、拒绝服务攻击,以及中间人攻击。

从守方视角看渗透

当具备渗透测试攻击经验的人们站到系统管理员的角度,要保障一个大网的安全时,我们会发现,关注点是完全不同的。从攻方的视角看是“攻其一点,不及其余”,只要找到一个小漏洞,就有可能撕开整条战线;但如果你从守方的视角来看,就会发现往往是“千里之堤,毁于蚁穴”。因此,必须要有好的理论指引,从技术到管理都要注重安全,才能使网络固若金汤。

渗透测试的必要性

渗透测试利用网络安全扫描器、专用安全测试工具和富有经验的安全工程师的人工经验对网络中的核心服务及其重要的网络设备,包括服务器、网络设备、防火墙等进行非破坏性质的模拟黑客攻击,目的是侵入系统并获取机密信息并将入侵的过程和细节产生报告给用户,从而实现网络信息安全的防护。

渗透测试和工具扫描可以很好的互相补充。工具扫描具有很好的效率和速度,但存在一定的误报率和漏报率,并且不能发现高层次的、复杂的、并且相互关联的安全问题;而渗透测试则需要投入大量的人力资源、并且对测试者的专业技能要求很高(渗透测试报告的价值直接依赖于测试者的专业技能水平),但是非常准确,可以发现逻辑性更强、更深层次的弱点,效果更加的明显。

一般的渗透测试流程如下:

时间的选择

为减少渗透测试对网络和主机的负面影响,渗透测试的时间尽量安排在业务量不大的时段或者是晚上。

策略的选择

为了防止渗透测试造成网络和主机的业务中断的问题,在渗透测试的过程中尽量不使用含有拒绝服务的测试策略。

授权渗透测试的监测手段

在评估过程中,由于渗透测试的特殊性,用户可以要求对整体测试流程进行实时的监控(PS:可能会提高渗透测试的成本)。

测试方自控

由渗透测试方对本次测透测试过程中的三方面数据进行完整记录:操作、响应、分析,最终会形成完整有效的渗透测试报告并将其提交给用户。

用户监控

用户监控一共有四种形式:

全程监控:采用类似Ethereal的嗅探软件进行全程抓包嗅探;

择要监控:对其扫描过程不进行录制,仅在安全工程师分析数据后,准备发起渗透前才开启软件进行嗅探;

主机监控:仅监控受测主机的存活状态,用以避免意外情况发生;

指定攻击源:用户指定由特定攻击源地址进行攻击,该源地址的主机由用户进行进程、网络连接、数据传输等多方面的监督控制。

(友情提示:文章中会出现与之前文章些许重复的情况,望各位亲包容,不过重复即是记忆。大家要常驻米安网哦!)

反渗透原理

当把相同体积的稀溶液和浓液分别置于一容器的两侧,中间用半透膜阻隔,稀溶液中的溶剂将自然的穿过半透膜,向浓溶液侧流动,浓溶液侧的液面会比稀溶液的液面高出一定高度,形成一个压力差,达到渗透平衡状态,此种压力差即为渗透压。若在浓溶液侧施加一个大于渗透压的压力时,浓溶液中的溶剂会向稀溶液流动,此种溶剂的流动方向与原来渗透的方向相反,这一过程称为反渗透。

最早使用于美国太空人将尿液回收为纯水使用。医学界还以反渗透法的技术用来洗肾(血液透析)。反渗透膜可以将重金属、农药、细菌、病毒、杂质等彻底分离。整个工作原理均采用物理法,不添加任何杀菌剂和化学物质,所以不会发生化学变相。并且反渗透膜并不分离溶解氧,所以通过此法生产得出的纯水是活水,喝起来清甜可口。

反渗透,英文为Reverse Osmosis,它所描绘的是一个自然界中水分自然渗透过程的反向过程。早在1950年美国科学家DR.S.Sourirajan有一回无意中发现海鸥在海上飞行时从海面啜起一大口海水,隔了几秒后吐出一小口的海水。他由此而产生疑问:陆地上由肺呼吸的动物是绝对无法饮用高盐份的海水,那为什么海鸥就可以饮用海水呢?这位科学家把海鸥带回了实验室,经过解剖发现在海鸥囔嗉位置有一层薄膜,该薄膜构造非常精密。海鸥正是利用了这薄膜把海水过滤为可饮用的淡水,而含有杂质及高浓缩盐份的海水则吐出嘴外。这就是以后逆渗透法(Reverse Osmosis 简称 R.O)的基本理论架构。

反渗透机理对透过的物质具有选择性的薄膜成为半透膜。一般将只能透过溶剂而不能透过溶质的薄膜视为理想的半透膜。当把相同体积的稀溶液和浓液分别置于一容器的两侧,中间用半透膜阻隔,稀溶液中的溶剂将自然的穿过半透膜,向浓溶液侧流动,浓溶液侧的液面会比稀溶液的液面高出一定高度,形成一个压力差,达到渗透平衡状态,此种压力差即为渗透压。渗透压的大小决定于浓液的种类,浓度和温度与半透膜的性质无关。若在浓溶液侧施加一个大于渗透压的压力时,浓溶液中的溶剂就会向稀溶液流动,即发生反渗透。

经典模型1.优先吸附毛细孔模型:弱点干态电镜下,没发现孔。湿态膜标本不是电镜的样品。

2.溶解扩散模型:不认为有孔。

3.干闭湿开模型:上工世纪80,90年代,邓宇等提出的,能够解释1和2模型的统一的现代最贴切的逆渗透机理模型。“干闭湿开”反渗透模型,统一了两个最经典的反渗透机制模型,细孔模型,溶解扩散模型。即

膜干时,膜孔收缩致密,孔隙闭合,电镜下看不到;

膜湿时,膜材料溶胀,膜的孔隙被溶剂溶胀,孔打开。合并就是“干闭湿开”脱盐模型。

那些年,DDoS的那些反击渗透的事情。

DDoS攻击与对策

DDo(Distributed Denial of Service),即分布式拒绝服务攻击,是指黑客通过控制由多个肉鸡或服务器组成的僵尸网络,向目标发送大量看似合法的请求,从而占用大量网络资源使网络瘫痪,阻止用户对网络资源的正常访问。

从各安全厂商的DDoS分析报告不难看出,DDoS攻击的规模及趋势正在成倍增长。由于攻击的成本不断降低,技术门槛要求越来越低,攻击工具的肆意传播,互联网上随处可见成群的肉鸡,使发动一起DDoS攻击变得轻而易举。

DDoS攻击技术包括:常见的流量直接攻击(如SYN/ACK/ICMP/UDP FLOOD),利用特定应用或协议进行反射型的流量攻击(如,NTP/DNS/SSDP反射攻击,2018年2月28日GitHub所遭受的Memcached反射攻击),基于应用的CC、慢速HTTP等。关于这些攻击技术的原理及利用工具网上有大量的资源,不再赘述。

1.1 DDoS防御常规套路

防御DDoS的常规套路包括:本地设备清洗,运营商清洗,云清洗。

1.本地设备清洗

抗DDoS设备(业内习惯称ADS设备)一般以盒子的形式部署在网络出口处,可串联也可旁路部署。旁路部署需要在发生攻击时进行流量牵引,其基本部署方案如图18-1所示。

图18-1 ADS 设备部署方式

图18-1中的检测设备对镜像过来的流量进行分析,检测到DDoS攻击后通知清洗设备,清洗设备通过BGP或OSPF协议将发往被攻击目标主机的流量牵引到清洗设备,然后将清洗后的干净流量通过策略路由或者MPLS LSP等方式回注到网络中;当检测设备检测到DDoS攻击停止后,会通知清洗设备停止流量牵引。

将ADS设备部署在本地,企业用户可依靠设备内置的一些防御算法和模型有效抵挡一些小规模的常见流量攻击,同时结合盒子提供的可定制化策略和服务,方便有一定经验的企业用户对攻击报文进行分析,定制针对性的防御策略。目前国内市场上,主要以绿盟的黑洞为代表,具体可以访问其官网进一步了解。

本地清洗最大的问题是当DDoS攻击流量超出企业出口带宽时,即使ADS设备处理性能够,也无法解决这个问题。一般金融证券等企业用户的出口带宽可能在几百兆到几G,如果遇到十G以上甚至上百G的流量,就真的麻烦了,更别谈T级别的DDoS攻击了。

 2.运营商清洗

当本地设备清洗解决不了流量超过出口带宽的问题时,往往需要借助运营商的能力了,紧急扩容或者开启清洗服务是一般做法,前提是要采购相应的清洗服务,而且一般需要通过电话或邮件确认,有的可能还要求传真。

运营商的清洗服务基本是根据netflow抽样检测网络是否存在DDoS攻击,而且策略的颗粒度较粗,因此针对低流量特征的DDoS攻击类型检测效果往往不够理想。再加上一些流程上的操作如电话、邮件、传真等,真正攻击到来时处理可能会更慢,需要重点关注。

值得一提的是中国电信的云堤服务,提供了“流量压制”和“近源清洗”服务,而且还提供了自助平台供用户操作,查看流量、开启清洗也非常方便。

 3.云清洗

内容分发网络(Content Delivery Network,CDN)是指,通过在网络各处放置节点服务器,让用户能够在离自己最近的地方访问服务,以此来提高访问速度和服务质量。CDN主要利用了四大关键技术:内容路由,内容分发,内存存储,内容管理。更详细的技术原理可以参考中国电信研究院出版的《CDN技术详解》。

CDN技术的初衷是为了提高互联网用户对静态网站的访问速度,但是由于分布式、就近访问的特点,能对攻击流量进行稀释,因此,一些传统CDN厂商除了提供云加速功能外,也开始推出云清洗的服务,当然还有一些安全公司基于其自身优势进入云清洗市场。基本原理都一样,需要先在云端配置好相应的记录,当企业遭受大规模攻击时,通过修改其DNS记录将要保护的域名CNAME到云端事先配好的记录上,等待DNS生效即可。

使用云清洗需要注意以下几个问题:

1. -·云清洗厂商需要提前配置好相应记录。 ·DNS修改记录后,需要等待TTL超时才生效。 

2.  ·直接针对源IP的攻击,无法使用云清洗防护,还要依靠本地和运营商清冼。 

3. ·针对HTTPS网站的防御,还涉及HTTPS证书,由此带来的数据安全风险需要考虑,市面上也有相应的Keyless方案{n1}。

由于国内环境不支持Anycast技术,所以不再赘述,如果有海外分支机构的网站需要防护,可以关注。

{nt1|其细节可以参考cloudflare公司博客上的文章,链接:[]()。

一些经验

结合笔者的一些经验,对DDoS防护落地做一些补充,仅供参考。

1.自动化平台

金融企业由于高可用要求,往往会有多个数据中心,一个数据中心还会接入多家运营商线路,通过广域网负载均衡系统对用户的访问进行调度,使之访问到最近最优的资源。当任何一条接入线路存在DDoS攻击时,能通过广域网负载均衡系统将该线路上的访问需求转移至其他互联网线路。在针对IP地址开展的DDoS攻击中,此方案能够有效保障正常客户的访问不受影响,为了实现快速切换,需要通过自动化运维平台来实现,如图18-2所示。

图18-2

线路调整一键应急配合必要的应知应会学习和应急演练,使团队成员都能快速掌握方法,在事件发生第一时间进行切换,将影响降到最小。接下来才是通知运营商进行清洗处理,等待流量恢复正常后再进行回切。

当某一个业务的IP受到攻击时,可以针对性地处置,比如一键停用,让正常用户访问其他IP;也可以一键开启清洗服务。

 2.设备抗D能力

除了ADS设备外,还有一些设备也需要关注抗DDoS能力,包括防火墙、负载均衡设备等。

出于安全可控需求,金融企业往往会采用异构模式部署防火墙,比如最外层用产品A,里面可能会用产品B。假如产品A的抗DDoS能力差,在发生攻击时,可能还没等到ADS设备清洗,产品A已经出问题了,比如发生了HA切换或者无法再处理新的连接等。

在产品选型测试时,需要关注这方面的能力,结合笔者所在团队经验,有以下几点供参考:

1. ·某些产品在开启日志记录模块后会存在极严重的性能消耗,在可能存在攻击的环境内建议关闭。

2. ·尽管理论和实际会有偏差,但根据实际测试情况,还是建议当存在大量TCP、UDP新建连接时,防火墙的最大连接数越大越好

3. 多测试多对比,从对比中可以发现更优的方案,通过适当的调整优化引入更优方案。

4. ·监控防火墙CPU和连接数,当超过一定值时开始着手优化规则,将访问量多的规则前移、减少规则数目等都是手段。

负载均衡设备也需要关注以上问题,此外,负载均衡由于承接了应用访问请求分发调度,可以一定程度上针对性地防护基于IP速率、基于URL速率的DDoS攻击以及慢速攻击等。图18-3所示为F5的ASM的DDoS防护策略。

图18-3

负载均衡设备ASM防DDoS功能

请求经过防火墙和负载均衡,最后到了目标机器上处理的时候,也需要关注。系统的性能调优设置、Nginx的性能参数调整以及限制连接模块配置等,都是在实际工作中会涉及的。

3.应急演练

部署好产品,开发好自动化运维平台,还要配合必要的应知应会、应急演练才行。因为金融行业的特殊性,DDoS攻击发生的次数相比互联网行业还是少很多的,有的企业可能几年也碰不到一次。时间久了技能就生疏了,真正需要用到时,可能连登录设备的账号口令都忘了,又或者需要现场接线的连设备都找不到,那就太糟糕了。

此外,采购的外围的监控服务、运营商和云清洗产品的服务能力也需要通过演练来检验有效性。签订合同时承诺的秒级发现、分钟级响应是否经得起考验,要先在心里打上一个问号。建议在不事先通知的情况下进行演练,观察这中间的问题并做好记录,待演练完成后一并提交给服务商要求整改。这样的演练每年要不定期组织几次。

0条大神的评论

发表评论