罗拥华 徐礼国 邱尚明 李冬睿
(广东农工商职业技术学院计算机学院 广东省广州市 510507)
最近十几年,大国之间的竞争发生了基础性变化。由以前对工业资源的控制,转变为如今对网络信息技术及信息资源的主导。欧美及韩日等发达国家都都在投入巨资进行网络化建设,包括各类的企业、关键基础设施和社交媒体网络等,都连入了互联网之中。目的就是为了获得从新兴信息技术带来的巨额经济利益。中国经济近几十年来取得了飞速发展,我国信息化发展也有了飞跃性提高,显著缩小了与发达国家在信息技术方面的差距。我国信息化发展已跨过了两个阶段,现已进入深入发展的第三阶段,这个阶段的特点是新兴社会生产力快速发展,信息网络开始为当今社会各行各业提供全面应用支持,信息网络已经成为社会快速发展的重要保证,然而,网络信息技术是一把双刃剑,一方面可以促进社会的飞速发展,另一方面,由于互联网的是开放的网络,所有联网的这些机构都有可能网络黑客利用或破坏。无论设计者对一个网络的安全机制考虑的多么细致,都或多或少存在不易察觉的安全隐患。在这种情况下,开展网络渗透测试研究、探究和分析网络应用中的安全问题具有十分重要的意义。
网络安全是指网络系统的软件、硬件设施以及系统中的数据受到保护,网络服务不中断,系统可连续、可靠、正常地运行,且系统中的数据不会因偶然的、恶意的行为而遭到损坏、泄露或更改。网络安全渗透测试就是扮演黑客的身份,从黑客的角度来思考问题,运用相应的攻击的手段,去实施真实的黑客攻击行为,从而验证系统的安全等级,以及找出系统中存在的安全问题。
进行网络安全渗透测试,我们需要对整个网络渗透测试过程有一个明确的认识,当我们开始对目标网络进行渗透测试时,往往对测试目标知之甚少;而当渗透测试结束之后,测试者对目标网络的了解会详细很多,在此过程中测试者需要做大量研究,整个渗透测试过程一般分为7 个阶段:
在前期与目标网络客户交流阶段中,渗透测试者应弄清楚整个渗透测试范围 ,确定需要测试那些问题和设备,在这个交互阶段中主要考虑以下几个因素:
渗透测试目标网络、所用方法、所需条件和限制条件、工期、费用、预期目标。
网络安全渗透测试涉及到多门学科,情报学是其中重要的组成部分,有经验的安全专家往往会在情报搜集上花费较多的时间,那如何才能获得目标的信息呢?常用的的获取方式是通过主动扫描和被动扫描,被动扫描主要是指在收集目标信息的时候目标无法察觉,前面介绍过的ZoomEye 和Maltego 是两款优秀的被动扫描工具,例如通过在ZoomEye 中搜索“思科”,可以获得思科设备类型、分布地点、固件版本、开放端口服务等信息;通过在Maltego 中搜索域名,查询结束后可以看到该域名的子域名,DNS 服务器,IP地址,联系人,电话号以及地址信息等等。主动扫描工具中,最优秀的非Nmap 莫属,通过Nmap 针对目标发送特制的数据包,然后根据目标的响应信息来获得一些信息。运用用“nmap -o 目标ip”命令,通过主动扫描获得目标主机的操作系统及开放端口和服务,如图1。
从图中扫描结果中分析可以得知目标主机安装有ftp 服务和Web 服务及相应端口和软件版本,根据相应信息可以可以考虑进行Web 漏洞注入,现在Web 服务越来越普遍,Web 服务器也越来越容易受到攻击,且攻击形式呈现多样化。
威胁建模就是制定策略。通过识别系统和潜在威胁从而设置对策防止和减轻系统威胁的影响,优化提升安全性。在这个阶段同时要对客户的资产进行评估,研究攻击群体,分析攻击的可能性,这样我们在确定渗透测试的技术和工具才有更好的针对性。
漏洞,在这里专指那些应用软件或操作系统中的编码失误导致的缺陷。漏洞分析阶段是从目标网络中发现漏洞的过程,在渗透测试的目标网络的任何一个位置都有可能存在漏洞,从软件(例如操作系统、Web 应用程序)到硬件(服务器、交换机、路由器),根据前面段情报搜集发现的目标网络的操作系统、服务程序及开放端口,使用漏洞扫描程序,借助程序的漏洞数据库和主动检测技术,推测目标上存在哪些漏洞。但测试人员还是要进行人工分析,亲自确认扫描程序找到的全部漏洞。在CVE(通用漏洞披露)官方界面上可以查询收录的多种漏洞详细介绍信息,运用用“nmap --script vuln 目标ip”命令对靶机进行主动扫描可获得目标主机的具体漏洞信息,例如漏洞名称smb-vuln-ms17-010,漏洞编号CVE-2017-0143,漏洞发布日期2017-03-14 等等信息,如图2。
在找到目标网络的漏洞之后,根据之前在建模阶段评估的重要资产,测试人员往往会使用相应的安全工具,利用之前发现的安全漏洞,力图获取客户系统的访问权限和目标资源等,这也是最令人激动的阶段。例如通过前面阶段的工作确定目标系统存在ms17_010 漏洞,就可以使用渗透模块对系统进行渗透,渗透测试能拿到meterpreter 如图3 所示,或者使用图形化工具armitage 在攻击发起之后看到加了闪电标志的靶机如图4 所示,说明渗透成功。
这个阶段主要目的是把目标网络中存在的安全风险向客户展示出来,尽可能模拟出目标网络被渗透后的可能后果。测试人员会以被突破的系统为着手点收集各种信息,搜索有价值的文件,甚至在必要的时候提升自己的登陆权限,记录键盘输入,开启远程连接端口,桌面截图。在后渗透阶段发现,一旦主机被攻破,黑客可以完全掌控被控机。
她烦躁起来,去推卧室的门,可门只开了一角,还没看到床上如何,就闻到了弟弟身上那股浓烈的油脂在狭小的空间挥发的味道。她一阵脸红,赶紧把门拉回来,可还是看到了弟弟甩在门口的一只倒扣着的拖鞋——由此可见,他当时是多么的急不可耐……
渗透测试最后一个阶段的工作是书面报告阶段。这个阶段也最能体现我们的工作成果,我们要把发现的各种问题整理为客户易于理解的书面报告。报告应明确哪些安全措施是切实有效的,哪些方面客户需要改进,描述渗透测试人员如何突破防线、能获取到哪些重要的信息,并提供解决问题的建议,比如采用入侵检测技术、防病毒技术、防火墙技术、数据加密技术并加强安全管理队伍的建设等。
计算机网络技术的发展促进了生产力的飞跃,方便了人们的生活,但是网络系统安全问题也层出不穷,破坏和反破坏、窃密和反窃密的斗争仍将继续。在这样的斗争中,网络安全技术作为一个独特的领域越来越受到全球网络建设者的关注,网络安全渗透测试作为一个新兴的行业正在蓬勃发展。在国外,有很多专门的企业提供渗透测试服务;虽然国内这个行业起步较晚,但发展前景十分广阔,国家急需大量网络安全人才,网络安全专业已成为高校的热门专业。如果想尽量减少网络安全问题,定期对网络系统进行渗透测试,发现被测系统中可能的安全隐患是必须的。本文从一个渗透测试者的角度出发,在个人电脑上搭建了一个虚拟测试环境,按照渗透测试的7 个步骤对其进行漏洞的测试和利用.这些测试方法不仅可以作为网络安全评估的方法,也可以作为网络安全课程教学的实践教学方法,引导学生通过个人搭建环境,完成网络安全的研究和分析。