内容简介:同志们、朋友们:大家好!我很荣幸受滴滴安全应急响应中心(DDSRC)邀请,作为优秀白帽子代表为大家演讲,主旨为《信息安全整体保障中的漏洞挖掘》。
同志们、朋友们:
大家好!我很荣幸受滴滴安全应急响应中心(DDSRC)邀请,作为优秀白帽子代表为大家演讲,主旨为《信息安全整体保障中的漏洞挖掘》。
此次演讲的内容主要是我在信息安全整体保障中的工作总结,把日常工作中遇到的问题和解决思路给大家进行分享,希望大家能够从我的演讲中汲取到自己所需要的,让广大在信息安全路上奋斗的同志们受益。
信息安全整体保障是我司独特创新的一种新形式的安全服务项目,面向的对象是国内的大型企业,我司创新式的将网络信息安全规划、安全评估、安全设计、建设实施、安全运维、安全培训及人才培养等全生命周期安全保障过程统一纳入到安全服务范畴,为企业构建网络安全管控、安全防护、安全服务三大体系化的网络信息安全保障能力。
我们目前服务的客户主要有中国远洋海运集团和招商局集团,他们是录属于国资委下面管辖的两家大型央企。
由于信息安全整体保障工作含盖的服务内容较多,客户企业网络资产情况错综复杂、不尽相同,导致我们在开始这项工作的时候便面临的极大的困难与挑战。
所以,在最短时间内,了解清楚客户企业网络资产现状是我们这项工作开始后最紧迫的事情。当然,这项工作在对于渗透经验无比丰富的我来说,其实也不是个事,毕竟见多识广,“姿势”又多,呵呵。
于是,我们在分完工后,便开始了对客户企业网络资产探测的阶段,我们的探测分为两项工作,第一项工作是安排组内人员从客户企业内部进行探测、第二项是安排组内人员从外网进行探测。
第一项工作要了解的内容有:客户办公网、内部数据中心、内部业务系统、内部网络防护、内部主机防护、内部无线网络、专线网络等。
第二项工作要了解的内容有:移动办公网、外部专线、VPN、外部数据中心、外部业务系统、外部网络防护、第三方业务系统、第三方数据中心。
在进行完这两项工作之后,我们需要对客户企业内外网资产进行整理分析,发掘出有效、可利用的网络资产内容。这样,我们就可以初步开始针对客户企业网络资产的漏洞挖掘了。
不要小看了客户企业的网络安全情况,有可能在你这项工作开始之前就已经对互联网中爆发的高风险漏洞进行了相关的修补。所以,我们需要重新审视客户的业务系统,重新发现新的安全问题,对客户系统进行安全的漏洞利用,之所以提安全的漏洞利用是因为客户不希望你不假思索的进行漏洞利用,你必须对你发现的漏洞进行漏洞利用风险分析,如果漏洞利用后对业务系统影响较小或无影响,才可以进行漏洞利用,以保证业务系统的正常运行。
我们在对客户系统进行前期漏洞挖掘的时候,可能会遇到很多来自客户企业的安全措施的限制,导致我们在漏洞挖掘的时候遇到很多的困难,现在越来越多的客户开始对敏感业务系统进行安全加固,如:双因子身份校验、安全防护等,很多时候我们都是被动的在做漏洞测试。
面对困难的时候,我们不妨变换思路,切勿硬碰硬,先从没有防护的业务系统入手,因为考虑到安全防护成本,客户不一定把每一个系统都纳入安全防护中,只要我们能通过漏洞拿到一台服务器权限,我们就可以绕过部分安全防护进行横向,纵向扩展,这会让我们发现更多的安全漏洞,以简化我们对此项工作的难度。
进入业务系统或服务器后,我们先不要急于拿此系统做跳板进行攻击,因该要对业务系统中部署的敏感信息进行相关的收集、分析,如:源代码、配置文件、数据库、中间件、邮箱、账号密码、关联的其他应用系统等。
通过收集类似的信息,我们就可以分析有无类似的业务系统、有无可利用的高风险安全漏洞、是否存在通用的账号密码,有无隐匿的业务系统接口,有无未授权访问等漏洞。分析已知的网络资产是否存在相同源代码开发的业务系统,从而利用未知的的安全漏洞,对已知的业务系统进行测试。
接下来,我们就可以开始利用此服务器进行跳板,对关联的其他服务器进行尝试,检测内网中是否存在其他的安全漏洞,从而获取更多的业务系统或服务器权限。
周而复始,前期的工作都是一个循环的工作,信息收集的工作,你收集信息的多少和信息的敏感程度,决定了你的起步将与其他人不一样。
当进行完初期的漏洞挖掘后,我们便要准备开始中期阶段的信息收集工作,中期阶段的信息收集工作,同样也是利用漏洞挖掘来作为信息收集的基础,面向的对象为较为重要的业务系统,业务系统的重要性,决定了里面存在信息的价值,也决定了你挖出来漏洞的价值。
中期漏洞挖掘开始后,我们便要特别注意业务系统的请求响应、程序部署、端口开放、数据接口等细节;然后通过前期收集的信息,对重要目标系统进行综合预判,利用预判分析的结果,我们便可以对业务系统进行安全较为容易的漏洞挖掘,此次漏洞挖掘的目的在于深层次的发现较为重要业务系统的安全风险。
同时,对于只有登录页面的业务系统来说,可以通过我们前期整理的账号密码进行统一测试,这样登录成功的可能性将非常大,省去大规模的暴力破解行为,减轻业务系统的压力,有助于我们在登录成功后进行漏洞挖掘,这样的业务系统漏洞挖掘,仅仅是只差一个账号而已。
进入业务系统后,优先对最容易出问题功能点进行测试,如:文件上传、系统配置、用户管理、插件管理、页面编辑、数据备份、导入导出、代码管理、文件管理等,上诉的功能点也是最容易获取业务系统服务器权限点,只要拿到服务器权限,漏洞挖掘的事情就会变得非常容易,因为是偏白盒的测试了,可以对照服务器产生的变化,验证漏洞是否存在。
进入服务器后,我们可以打开远程桌面观察一下是否存在登录保存的情况,查看SSH配置目录下,是否存在无密码连接的情况,因为很多时候,管理员为了方便管理,就会把很多其他服务器密码进行保存,这样我们再打开远程桌面访问其他系统的时候,就无需密码就可以访问,或将SSH进行配置进行无密码访问等情况。
如果GET不到服务器的点,那么我们就只能从其他常规漏洞入手,如:普通的逻辑漏洞、跨站漏洞、 SQL 注入等,我们需要尽可能去利用其他常规漏洞去获取目标业务系统最多的业务信息,如:人员列表、数据库内容等,当信息收集到达一定量的时候,GET到服务器的点,只是时间问题。
周而复始,中期阶段又是一个信息收集阶段,终极的目的在于获取更多重要业务系统的漏洞情况,从而为后续的核心业务系统测试打好基础。
看似很简单,但是在这两个阶段中,会碰到各种各样的问题,有些人坚持不下来就会容易敷衍、不用心、自暴自弃,因为这个过程太累了,无论是大脑、还是精力,都被消磨的差不多了,连出的报告都是毫无成果可言。
这个时候就需要团队的力量了,一个好的团队,能够在你遇到困难的时候给予你帮助、扶植、希望,传授你知识、技能、经验。无论你现状怎么样,都会让你满血复活。所以,如果你现在拥有一支好的团队,那将会是你的财富。
我们在这两个阶段,将体会到知识、技能、经验的重要性;勤于学习,勤于练技、勤于积累经验是我们每一个信安工作者毕生追求的目标。
说完这些,你们有所体会吗?
第三个阶段马上要开始了,这个阶段意味着新的挑战要来临了,前两个阶段主要对内外网业务系统进行了漏洞挖掘,且业务系统的复杂程度、下手难度都不是很高,并且在这两个阶段中,如果进展顺利的话,我们应该收集到了较大部分的业务信息,且具备了一定的条件,可以向最后的目标发起了。
经过前期积累的业务数据,对最后目标发起的任务将变得非常容易,因为现在的大型企业内部的应用系统,没有哪个系统是单一存在的,彼此之间都有直接或间接的联系,互联互通变的非常普及,但是由此带来的安全问题也明显了起来。
但也不排除,在最后的目标中不存在很难的业务系统,难是因为,该系统独立存在,第三方闭源开发,开发语言少见,互联网中信息很少,系统入口无明显安全漏洞,这就需要我们从细节出发,尽可能的去发现比较有价值的安全漏洞。
看似没有问题得业务系统,我们是如何发现它得问题得呢?
首先,我们要从该业务系统得基本通信请求去分析它得业务逻辑,并且查看业务请求中是否对业务请求进行了加密或混淆处理,确定好基本请求没问题后,我们就要对关键前端页面进行分析,发现隐秘接口,如:密码找回、密码重置、业务某操作页面等。
经验告诉我,这样少见的业务系统,一般安全做的也不会很好,很多敏感得地方,会存在高风险逻辑漏洞和未授权访问等安全漏洞。
然后,我们可以利用高风险逻辑漏洞或未授权访问对业务系统进行管理员密码重置或敏感页面操作等,通过这样得操作我们就可以获得更多的攻击面,挖掘该业务系统的漏洞,就又重新回到了阶段一、阶段二的操作步骤。
如果我们无法从前端任何地方得到关于此系统有价值的信息,那么我们就先放下,隔天再去研究,说不准就会有新的收获。
悄悄话:“也可以这样,别跟别人说是我告诉你的,去套路客户!”。
到此,第三阶段要告一段落了,整体的漏洞挖掘思想总是围绕着我们制定的目标去进行,在此阶段我们应该对项目开始到结束进行一次复盘了,在这整个复盘过程中,我们首先要分析此次行动是否达成了的我们制定的目标。其次,我们要分析目前客户哪些网络资产是风险最高的,且部署的位置是外网多,还是内网多,漏洞被利用的可能性有多高,如果被利用将会造成什么样的后果。再次,我们要分析如何解决目前所存在的安全风险问题,分析哪些安全风险是与核心业务紧密关联的,哪些是与内部、外部办公业务紧密关联,对内外网安全风险修复进行优先级排序。最后,我们要依据该项目整个过程的检测结果来指定未来的安全体系建设,安全运维、安全人才培养等。
信息安全整体保障工作就是这样一个周而复始的工作,不断的发现问题,不断的解决问题,不断的优化体系,不断的攻防对抗,直至客户的网络安全能够达到遇事能感知,遇事能应对,业务无影响的状态。
此次的漏洞挖掘思路是服务于渗透测试的,渗透测试要想做的好,漏洞挖掘的能力需要提升到一个层次才可以,毕竟渗透测试不是靠扫描器、Nday去打才能做好的。
渗透测试是一门艺术,没有固定的套路,漏洞挖掘则是渗透测试能够锦上添花的一项必备技能。
渗透测试与漏洞挖掘的精髓都是一样的,循环性的信息收集与不停的变换方式方法。
能够把看似没有关联的事物关联在一起。
这最后一张PPT,我估计很多人没看懂啦!哈哈!
谢谢大家,希望大家能够有所收获!
演讲PPT链接
链接地址:https://pan.baidu.com/s/1aLmfT7MSKjtq_pBzluiBiw
提取码:m0my
SaviourTech
微信号: s ecbugs
以上所述就是小编给大家介绍的《信息安全整体保障中的漏洞挖掘》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python Web开发:测试驱动方法
Harry J.W. Percival / 安道 / 人民邮电出版社 / 2015-10 / 99
本书从最基础的知识开始,讲解Web开发的整个流程,展示如何使用Python做测试驱动开发。本书由三个部分组成。第一部分介绍了测试驱动开发和Django的基础知识。第二部分讨论了Web开发要素,探讨了Web开发过程中不可避免的问题,及如何通过测试解决这些问题。第三部分探讨了一些高级话题,如模拟技术、集成第三方插件、Ajax、测试固件、持续集成等。本书适合Web开发人员阅读。一起来看看 《Python Web开发:测试驱动方法》 这本书的介绍吧!