版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息系统渗透测试原理及模型分析Information Systems Penetration Testing Principle And Model Analysis姜志坤摘 要:信息化是当今世界发展的大趋势,是推动经济社会变革的重要力量。大力推进 信息化,是覆盖我国现代化建设全局的战略举措,是贯彻落实科学发展观,全面建设小康社 会、构建社会主义和谐社会和建设创新型国家的迫切需要和必然选择。如何以信息化提升综 合国力,如何在信息化快速发展的同时确保国家信息安全,这已经成为各国政府关心的热点 问题。信息安全已经从国家政治、经济、军事、文化等领域普及到社会团体、企业,直到普 通百姓,信息安全已经成
2、为维护国家安全和社会稳定的一个重要因素。随着国家信息安全测 评工作的推进和深化,对信息系统安全测试的要求也逐步提高,渗透测试作为信息系统安全 测试的一项高级别和高难度的测试项目,在信息安全测评中逐渐受到高度重视并得到推广应 用。本文通过对目前渗透测试的过程和原理做了详细的分析,并提出了测试方法和测试模 型。关键字:信息安全渗透测试测试项目 测试模型渗透测试概述作为网络安全防范的一种新技术,对于网络安全组织具有实际应用价值。但要找到一家 合适的具有授权资质的公司实施渗透测试并不容易。近来防御黑客与病毒的攻击已经成为一种非常困难的工作。保护自己的信息系统不受恶 意攻击者的破坏,维护系统安全已经成了
3、企业里非常重要的工作。以金融业为例,某银行部 署了多台防火墙,购买入侵检测系统、网络安全审计系统等,也定期进行漏洞扫描,应该很 安全,但黑客入侵、储户数据遭窃、网站遭受攻击等安全事件仍层出不穷,也许被黑客入侵 的机率只有0.001%,但发生后就是100%。渗透测试(Penetration Testing)网络定义定义一:渗透测试是一个在评估目标主机和网络的安全性时模仿黑客特定攻击行为的过 程。详细地说,是指安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对 目标的安全性作深入的探测,发现系统最脆弱环节的过程。定义二:渗透测试是主动评估信息安全措施的过程。可通过多种方法做到这一点,而
4、最 常用的方法是主动地对安全措施进行分析,找出其设计缺陷、技术盲点和漏洞;然后对其做 一个全面的报告,呈递给行政、管理和技术部门。定义三:渗透测试就是以黑客的角度,由企业外部或在企业内部对目标网络环境作深入 的安全探测,并预先找出企业脆弱的环节。渗透测试是由一组安全人员执行,利用弱点扫描 软件或其他的工具,从外部或内部网络收集系统的相关信息,并探查出逻辑性更强、更深层 次的漏洞,然后渗透到企业内部取得资产,最后提交一份渗透测试报告,完整的记录整个测 试过程与细节,证实企业哪些系统有风险、哪些产品设定没做好,并协助企业进行制定更完 善的安全防御措施。换句话说,渗透测试是安全稽核的一部分,由安全专
5、家仿真黑客的攻击 模式,测试信息系统的安全强度,让企业在黑客攻击前,就做好预防工作。(二)渗透测试定义渗透测试是指测试人员在得到用户授权许可后,在不影响其业务应用的前提下,尽可能 完整的地模拟黑客使用的漏洞发现技术和攻击手段,对目标网络、应用系统、主机操作系统、 数据库管理系统等进行渗透检测,从而发现系统存在的安全漏洞和隐患等脆弱性环节,并在 适当条件下进行验证的安全测试过程。(三)渗透测试是专业服务渗透测试是为了证明信息系统的防御按照预期计划正常运行而提供的一种机制。不妨假 设,您的公司定期更新安全策略和程序,实时给系统打补丁,并采用了入侵检测系统、安全 审计系统和漏洞扫描系统等设备,以确保
6、对信息系统的有效监控。如果你早已做到了这些, 为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查您信息系统的网 络安全策略及服务器操作系统安全加固等情况,换句话说,就是给您的系统安了一双眼睛。 而且,进行这类测试的,都是寻找网络信息系统安全测评的专业机构。(四)外部审查的一部分渗透测试需要探查信息系统,以发现操作系统和任何网络服务的不安全因素。您可以使 用一些简单的漏洞扫描设备完成这些任务,但往往专业人士用的并不仅仅是一些测试设备, 相反他们会自己去编写一些实用的测试脚本作为辅助,有效地帮助您找到系统的安全隐患。(五)渗透测试目的明确当前系统的安全状况、摸清攻击者可能利用的弱点
7、。确定网络中存在的漏洞,才可 以设计一套应对方案。渗透测试可以协助用户发现组织系统安全的最薄弱环节,协助了解目 前降低风险的首要任务,让管理人员非常直观的了解当前系统所面临的问题,增强对信息安 全的认知程度,使所有成员意识到自己的岗位在整个组织的安全中不可或缺的地位,有助于 整体安全意识的提升。(六)渗透测试的作用渗透测试的作用一方面在于,解释所用测试设备在测试过程中所得到的结果。即使您对 信息系统进行漏洞扫描。但也并不能全面地了解漏洞扫描得到的结果,更别提另外进行测试, 并证实漏洞扫描系统所得报告的准确性了。(七)怎么进行渗透测试除了找到合适工具以及具备资质的组织进行渗透测试外,还应该准确确
8、定测试范围。攻 击者会借助社会工程学、偷窃、贿赂或者破门而入等手法,获得有关信息。真正的攻击者是 不会仅仅满足于攻击某个企业网络的。通过该网络再攻击其它公司往往是黑客的惯用伎俩。 攻击者甚至会通过这种方法进入企业的ISP。为了从渗透测试上获得最大价值,应该向测试组织提供尽可能详细的信息。同时签署保 密协议,这样,您就可以更放心地共享策略、程序及有关网络的其它关键信息。还要确定被测信息系统,哪些系统需要测试。虽然你不想漏掉可能会受到攻击的某个系 统,但可能仍想分阶段把渗透测试外包出去,以便每个阶段专注于网络的不同部分;同样您 也可以作为一个大的信息系统来测试,对各个子系统进行关联分析,从而有效地
9、降低系统被 攻破的风险。渗透测试原理1渗透测试原理渗透测试就是利用网络安全扫描器、专用安全测试工具和富有经验的安全工程师的人工 经验对网络中的核心服务器及重要的网络设备,包括服务器、网络设备、防火墙等进行非破 坏性质的模拟黑客攻击,侵入系统并获取机密信息并将入侵的过程和细节产生报告给用户。2. 2渗透测试过程在一个实际的渗透测试过程中,渗透测试项目的实施一般分为三个阶段:前期准备阶段、 渗透测试阶段、后期总结阶段。(一)前期准备阶段1)委托书确认签署授权委托书,并同意测试工程师实施渗透测试。2)渗透目标确定测试工程师需要就详细的渗透测试范围和测试对象与用户进行沟通,并书面达成一致, 进行渗透测
10、试时,应严格按照测试范围和测试对象进行,以避免测试范围的“蔓延”而破坏 关键业务数据。3)确定渗透测试人员根据渗透测试要求,渗透测试方应确定好渗透测试人员的名单、渗透测试人员的详细介 绍,并得到被测方书面认可。4)制定渗透测试方案测试工程师应根据渗透测试的范围及测试对象,制定一份详细的渗透测试方案。方案中 必须说明测试范围和对象、测试时间、测试人员、测试工具、渗透测试过程中存在的风险等 详细情况,方案应经过用户审核和批准。5)风险规避措施在进行渗透测试之前,应事先实施风险规避措施。用户应先做好系统的备份和恢复准备 工作,以便在发生不可预知的风险后能快速恢复系统的正常运行。(二)渗透测试阶段1)
11、渗透测试工作环境安排用户和测试工程师应共同协商进行渗透测试工作环境的安排,保障测试工程师应有比较 独立和安静的工作环境。2)实施渗透测试测试工程师根据方案所规定的测试流程和测试内容实施具体的渗透测试活动。3)渗透测试过程监控按准备阶段选择的监控方式,在准备好的监控环境下对正在实施的渗透测试活动进行监 控,同时监控被测试目标的工作状态。4)渗透测试过程沟通在渗透测试过程中,测试工程师应主动就渗透测试的进展情况、测试活动及测试中发现 的异常或非预期情况与用户进行沟通,以便用户及时检查测试目标的工作状态是否正常。(三)后期总结阶段在完成渗透测试后,需要对渗透测试数据进行整理、汇总和分析,根据发现的安
12、全漏洞 和安全隐患指出被测目标的问题所在,然后提出相应的整改建议,并最终完成渗透测试报告 的编制。渗透测试分类及方法1测试分类(一)按信息获取方式分类从渗透的前期资料准备和信息获得来看,渗透测试/攻击可分为以下3类。1)黑盒(Black Box)渗透黑盒(Black Box)渗透测试通常是从目标网络的外部进行渗透模拟的,这意味着,除 了被测试目标的已知公开信息外,不提供任何其他信息。渗透者完全处于对目标网络系统一 无所知的状态,只能通过Web、E-mail等网络对外公开提供的各种服务器,进行扫描探测, 从而获得公开的信息,以决定渗透的方案与步骤。通常来说,黑盒渗透测试用于模拟来自网络外部的攻击
13、行为。2)白盒(White Box)渗透白盒(White Box)渗透测试与黑盒渗透测试相反,渗透测试者可以通过正常渠道,向 请求测试的机构获得目标网络系统的各种资料,包括网络拓扑结构、用户账号、操作系统、 服务器类型、网络设备、代码片断等信息。渗透者可从目标网络系统外部或内部两个地点,进行渗透模拟测试,但是通常而言,这 类测试是模拟网络内部人员的越权操作。3)灰盒(Gray Box)渗透灰盒(Gray Box)渗透测试介于以上两者之间。(二)按目标对象分类从渗透模拟攻击的对象来看,渗透测试又可分为以下几种。1)主机操作系统渗透对目标网络中的Windows、Linux、UNIX等不同操作系统主
14、机进行渗透测试。本书重点 讲述的是对Windows主机操作系统的渗透。2)数据库系统渗透对MS-SQL、Oracle、MySQL等数据库系统进行渗透测试,这通常是对网站的入侵渗透过 程而言的。3)网站程序渗透渗透的目标网络系统都对外提供了 Web网页、E-mail邮箱等网络程序应用服务,这是 渗透者打开内部渗透通道的重要途径。4)网络设备渗透对各种硬件防火墙、入侵检测系统、路由器和交换机等网络设备进行渗透测试。此时,渗透者通常已入侵进入内部网络中。(三)按网络环境分类按照渗透者发起渗透攻击行为所处的网络环境来分,渗透测试可分为下面两类。1)外网测试通常来说,进行渗透攻击测试的目标都是大型的网络
15、系统。这些网络系统由内部的一台 台主机与网络设备所组成,其内部是一个局域网络,从Internet上无法直接连接访问。所谓外网测试,就是指渗透测试人员完全处于目标网络系统之外的外部网络,在对内部 状态一无所知的情况下进行的渗透测试。渗透者需要突破外部网关服务器和保护内网的防火 墙,从而进入内网之中。2)内网测试内网测试指的是由内部网络发起的渗透测试,此时渗透测试人员已处于内网之中,渗透 控制的难度相对已减少了许多。各种信息收集与渗透实施更加方便,渗透者的目标是完全地 控制整个内部网络系统。3. 2测试方法外隅悟黑找 分析与蛔&僵方H程分为如左图所示的几个阶段和步骤,每个阶段和步骤使用不同的攻击一
16、般来说,攻击者的渗透入侵过(一)外网信息收集、分析与制手段。从外网发起的黑盒渗透攻击,由于对目标网络系统一无所知,渗透攻击者首先需要收集足够的入侵信息资料,然后在此基础上制订渗透攻击方案。订入侵方案信息的收集是非常重要的,它决定了攻击者是否能准确地定位目标网络系统安全防线上 的漏洞,攻击者所收集的一切信息,无非是为了找到安全大坝上的那些小小的蚁穴。信息收集主要分为以下几类。1)相关边缘信息收集在这一步骤中,攻击者会通过网络搜索、实地了解等各种方法,充分地利用网络搜索和 社会工程学,采集攻击目标的相关信息。获取的信息内容和方式包括目标网络系统中的一些边缘信息,如目标网络系统公司的结 构、各部门职
17、能、重要机构分支,以及内部员工账号组成、身份识别方式、邮件联系地址、 QQ或MSN号码、各种社交网络账号与信息、管理员的网络习惯等。2)网络信息收集在这一步骤中,要收集目标网络的各种网络信息,所使用的手段包括Google Hacking. WHOIS查询、DNS域名查询和网络扫描器等。最终的目的是要描绘出目标网络拓朴结构、公司网络所在区域,子公司IP地址分布, VPN接入地址、各种重要服务器的分布、网络连接设备等信息。3)端口/服务信息收集在这一步骤中,利用各种通用的端口服务扫描工具,扫描目标网络中对外提供服务的服 务器,查询服务器上开放的各种服务,例如,Web、FTP、MySQL、SNMP等
18、服务。4)漏洞扫描在上面的步骤中,获得目标网络各服务器开放的服务之后,即可对这些服务进行重点扫 描,扫出其所存在的漏洞。例如:针对操作系统漏洞扫描的工具有X-Scan、ISS、Nessus、SSS、Retina等;针对 Web网页服务的扫描工具有SQL扫描器、文件PHP包含扫描器、上传漏洞扫描工具,以及各 种专业全面的扫描系统,如 AppScan、Acunetix Web Vulnerability Scanner 等(见图 3-1 ); 针对数据库的扫描工具有Shadow Database Scanner. NGSSQuirreL,以及SQL空口令扫描 石器等。另外,许多入侵者或渗透测试员也
19、有自己的专用扫描器,其使用更加个性化。5)制unetix Web Vulnerability Scanner 入侵渗透检测工具S AwnrfnTSrHi丁渗透方案Vi 由 WTInEf?y kin Ttirw-d 1 (www -ciSn jhaiill岷IWWIiMI fI Z A IMh 1Hi者就可程中,在获取了全面的网络信息并查询到远程目标网络中的漏洞后,攻击以开始制订渗透攻击的方案了。入侵方案的制订,不仅要考虑到各种安全漏洞设置信息,更 重要的是利用网络管理员心理上的安全盲点,制订攻击方案。(二)打开进入内网的突破口在从外网渗透入内网的入侵过程中,如何打开内网的通道,是内网渗透的突破
20、口。前期 的各种信息扫描工作,无非也是为了获得各种漏洞信息,以便能顺利进入目标网络之中,进 一步扩大攻击,完全控制目标网络。渗透攻击者可以结合上面扫描获得的信息,确定自己的突破方案。例如,针对网关服务 器进行远程溢出,或者是从目标网络的Web服务器入手,也可以针对网络系统中的数据库弱 口令进行攻击,或者采用各种欺骗方法将木马程序诈骗进目标网络之中运行。打开内网突破口,常用的攻击手法有:利用系统或软件漏洞进行的远程溢出攻击,系统 与各种服务的弱口令攻击,系统或服务账号的密码暴力破解,以及Web脚本入侵、木马攻击 等。最常用的两种手段是Web脚本攻击和木马欺骗。这是由于在当前的网络环境中,网络管
21、理员通常对外网网关服务器做好了各种安全设置保护工作,直接的远程溢出或对账号进行攻 击,成功率基本上是很低的,而Web服务器上所用的网站程序往往存在许多脚本代码漏洞, 攻击者很容易就可以入侵控制网站。同时许多网络的安全设置往往是外严内松,在网关上安 全设置非常严格,但是内部主机的安全防护却非常薄弱,因此攻击者也有可能通过邮件、通 信工具或挂马等方式,将木马程序绕过网关的各种安全防线,发送到内部诈骗执行,直接获 得内网主机的控制权。(三)纵向提升权限通过上面的步骤,攻击者可能已成功入侵目标网络系统对外的服务器,或者内部某台主 机,此时需要完全获得主机的最高控制权。虽然此时攻击者已获得了主机的一些控
22、制权限,但是对于进一步的渗透攻击来说还是不 够。例如,攻击者入侵了某台Web服务器,上传了 Webshell控制网站服务器,然而却没有 足够的权限安装各种木马后门,或者运行一些系统命令,此时攻击者就需要提升自己的权限。纵向权限提升按入侵方式来分,主要可分为以下两类。1)Webshell 提权Webshell提权是渗透入侵中经常遇到的一种情况,攻击者常常会通过Web网站脚本途 径入侵网站服务器,并上传Webshell。通过Webshell对主机进行操作时获得的控制权限往 往是继承了 Web账号权限的,完全不足以对目标主机进行系统级的控制操作。因此攻击者常 常会采用各种手段,提升Webshell的
23、操作权限。2)账号提权账在权限提升过程中,攻击者通过扫描或密码破解等方式,可能会获取目标主机的系统 登录账号,或数据库访问账号等。不过这些账号通常是权限不足,在进行进一步的渗透测试 时,可能会没有足够的权限打开一些密码存储文件,无权安装嗅探工具,甚至没有权限执行 一些很基本的命令,这时必须进行提权,以获取更高级别的账号控制权。在进行纵向提权操作步骤中,所采用的提权手段是相似的,都是利用目标主机系统上的 系统或软件漏洞进行提权。具体的提权手段包括系统或软件的本地溢出攻击、密码破解、服 务替换等,这在Webshell提权中体现得尤为明显。需要说明的是,如果攻击者采用远程溢出,或者通过木马诈骗运行等
24、方式入侵控制主机, 获得的将是最高的系统权限,此时无须进行纵向提权的步骤。(四)开辟连接通道,突破内网环境限制在对内网进行渗透入侵之前,攻击者还需要突破各种网络环境限制,例如,内部网络作 为Vlan划分隔离,或者在网关设置了防火墙无法进行连接等。其中最重要的一点就是,如何利用已控制的主机,连接攻击其他内部主机。由于目标网 络内的主机是无法直接进行连接的,因此攻击者往往会使用代理反弹连接到外部主机,会将 已入侵的主机作为跳板,利用远程终端进行连接入侵控制。在此过程中,涉及的攻击手段更加多样,如防火墙杀毒软件的突破、代理的建立、账号 后门的隐藏破解、3389远程终端的开启和连接等。(五)内网信息扫
25、描与收集当攻击者完全控制网关或内部的某台主机,并且拥有了对内网主机的连接通道时,就可 以对目标网络的内部系统进行渗透入侵了。在对内部网络进行渗透攻击前,同样需要进行各 种信息的扫描和收集工作。此步骤采用的手段与步骤1重复,使用相同的手段尽可能地获得内网的各种信息,包括 获取内网网络分布结构信息,从而确定内网中最重要的关键服务器,然后对重要的服务器进 行各种扫描,寻找其漏洞,以确定进一步的入侵控制方案。(六)内网横向权限提升进入内网后虽然获得了当前主机的最高系统控制权限,然而当前的主机在整个内部网络 中的身份,可能仅仅是一台无关紧要的客服主机,因此攻击者要获取整个网络的控制权,就 必须提升自己在
26、网络中的权限。在内网提升权限时,往往需要考虑到内网中的网络结构,确定合理的提权方案。例如, 对于小型的局域网,可以采用嗅探的方式获得域管理员的账号密码,也可以直接采用远程溢 出的方式获得远程主机的控制权限。对于大型的内部网络,攻击者可能还需要攻击内部网网 络设备,如路由器、交换机等。内网横向权限提升时,所用到的攻击手段,依然是远程溢出、嗅探、密码破解、ARP欺 骗、会话劫持和远程终端扫描破解连接等。(七)渗透成功在获得内网管理员或任意的控制权后,整个网络就在攻击者的掌握之中了,攻击者可以 任意窃取机密资料进行破坏。至此,渗透入侵完成。渗透测试模型及分析1测试模型渗透测试模型是一个整合渗透测试技
27、术和方法的原型系统。该系统可以提供渗透测试各 个步骤的各种功能,检验被测对象网络和计算环境的安全性和抗攻击能力,发掘被测对象网 络系统中从物理层到应用层各个层面的脆弱性。本人通过深入的学习和研究,吸取前人的经 验成果,总结出渗透测试模型如图4-1所示:图4-1渗透测试模型4. 2模型分析渗透测试模型从信息收集到结果报告的生成过程是全自动的,无人干预,在此过程中, 信息收集的结果筛选和各模块之间的参数传递是一个实现上的难题;另外,漏洞及漏洞利用 程序的及时更新也是渗透测试软件的一个关键技术。(一)信息收集的结果筛选和各模块之间的参数传递渗透测试首先要对被测网络系统进行全面扫描和漏洞的探查,即进行网络勘查、端口扫 描、系统识别、无线网漏洞测试、服务探测(网站信息、Mail信息、名字服务、防病毒木 马)、溢出搜寻,得到的结果很多,需要整理出对漏洞测试有用的信息。这些信息的筛选是 一个较为复杂的过程。信息的不一致性,信息体现的漏洞严重程度判定及与软件漏洞库中漏 洞的相关性判定都会给信息的整理带来一定难度。模块之间的参数传递主要是指信息收集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年跨境电商物流代理服务合同模板3篇
- 2025年度新能源车辆租赁合同担保协议书范本3篇
- 2024年精简版住宅前期物业服务协议范本版B版
- 2024版生物医药制品研发与生产合同
- 2025年度医疗器械出口销售合同空白格式3篇
- 2024版木制别墅建造合同样本
- 2024年私人租房合同附加房产增值收益分享协议2篇
- 2025年度旅游企业实习生服务技能与职业素养培养协议3篇
- 2024年版房屋买卖合同示范2篇
- 2024年邮政快递服务协议
- 自身免疫性脑炎课件
- 2024-2030年撰写:中国第三方检测项目风险评估报告
- 信阳农林学院《新媒体传播学》2023-2024学年第一学期期末试卷
- 2024建筑公司年终工作总结(32篇)
- 污水厂防汛知识培训课件
- 建立创新攻关“揭榜挂帅”机制行动方案
- 2024年浙江省杭州余杭区机关事业单位招用编外人员27人历年管理单位遴选500模拟题附带答案详解
- 10kV供配电系统电气运行规程
- FMEA培训教材(课堂)
- 医院自助机培训
- 2024年支原体肺炎治疗
评论
0/150
提交评论