网络安全渗透测试技术项目建议书.doc_第1页
网络安全渗透测试技术项目建议书.doc_第2页
网络安全渗透测试技术项目建议书.doc_第3页
网络安全渗透测试技术项目建议书.doc_第4页
网络安全渗透测试技术项目建议书.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络安全渗透测试技术建议书华为技术有限公司huawei technologies co., ltd.目 录1渗透测试服务概述31.1渗透测试概述31.2渗透测试对客户系统网络安全的意义32渗透测试的内容42.1渗透测试的对象42.2渗透测试的目标53华为渗透测试服务53.1渗透测试方法及步骤63.1.1预攻击阶段73.1.2攻击阶段83.1.3后攻击阶段93.2渗透测试实施流程93.2.1制定渗透测试初步实施方案并取得客户同意授权103.2.2信息收集分析103.2.3渗透测试方案细化制定113.2.4渗透测试的实施113.2.5渗透测试报告的输出113.3渗透测试的工具及其软件说明123.3.1常用命令123.3.2有用网站123.3.3漏洞扫描软件133.3.4溢出工具143.3.5密码破解工具143.3.6协以及抓报分析工具143.4风险规避及其它注意事项143.4.1渗透测试时间与策略143.4.2系统备份和恢复153.4.3工程中合理沟通的保证153.4.4系统监测153.5项目交付成果164成功案例16 1 渗透测试服务概述1.1 渗透测试概述渗透测试(penetration test)是指是从一个攻击者的角度来检查和审核一个网络系统的安全性的过程。通常由安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标网络/系统/主机/应用的安全性作深入的探测,发现系统最脆弱的环节。渗透测试能够直观的让管理人员知道自己网络所面临的问题。 作为一种专业的安全服务,类似于军队里的“实战演习”或者“沙盘推演”的概念,通过实战和推演,让用户清晰了解目前网络的脆弱性、可能造成的影响,以便采取必要的防范措施。1.2 渗透测试对客户系统网络安全的意义从渗透测试中,客户能够得到的收益至少有: 协助用户发现组织中的安全最短木板一次渗透测试过程也就是一次黑客入侵实例,其中所利用到的攻击渗透方法,也是其它具备相关技能的攻击者所最可能利用到的方法;由渗透测试结果所暴露出来的问题,往往也是一个企业或组织中的安全最短木板,结合这些暴露出来的弱点和问题,可以协助企业有效的了解目前降低风险的最迫切任务,使在网络安全方面的有限投入可以得到最大的回报。 作为网络安全状况方面的具体证据和真实案例渗透测试的结果可以作为向投资方或管理人员提供的网络安全状况方面的具体证据,一份文档齐全有效的渗透测试报告有助于it 组织管理者以案例的形式向相关人员直观展示目前企业或组织的安全现状,从而增强员工对信息安全的认知程度,提高相关人员的安全意识及素养,甚至提高组织在安全方面的预算。 发现系统或组织里逻辑性更强、更深层次的弱点渗透测试和工具扫描可以很好的互相补充。工具扫描具有很好的效率和速度,但是存在一定的误报率和漏报率,并且不能发现高层次、复杂、并且相互关联的安全问题;渗透测试的价值直接依赖于实施者的专业技能和素养但是非常准确,可以发现系统和组织里逻辑性更强、更深层次的弱点。 发现渗透测试和信息安全风险评估未暴露的其它安全问题目前的渗透测试,更多的仍然是从一个外部人员的角度,模拟黑客攻击的一个过程。往往来说,渗透测试的实施人员并不能完全掌握组织或企业的全部安全现状及信息,他们的渗透测试行为及方法都是局限于自己所掌握的已有信息,因此暴露出来的问题也是有限的(比如说,有些问题单纯从技术上来说利用价值不大,但若是结合一些管理上的缺陷或者是本身具有的某些其它便利,往往可以导致严重风险)。正因为如此,如果换作是一个对企业组织的相关情况更为了解的内部人员来说,结合渗透测试中所暴露出来的某些问题,他能更有效和更全面的发现组织和企业中一些安全风险及问题。 从整体上把握组织或企业的信息安全现状信息安全是一个整体工程,一个完整和成功的渗透测试案例可能会涉及系统或组织中的多个部门、人员或对象,有助于组织中的所有成员意识到自己所在岗位对系统整体安全的影响,进而采取措施降低因为自身的原因造成的风险,有助于内部安全的提升。2 渗透测试的内容2.1 渗透测试的对象渗透测试其测试实施的对象一般包含如下几类:1、主机操作系统windows、solaris、aix、linux、sco、sgi 等操作系统2、网络设备各种防火墙、入侵检测系统、网络设备3、数据库系统ms-sql、oracle、mysql、informix、sybase、db2 等数据库4、应用系统web、ftp、mail、dns等等应用系统5、安全管理安全管理手段技术、制度、流程,人员的安全意识等当然,在大多数的渗透测试实例中,一般主要是从技术上针对系统中的主机、数据库及关键应用如web、mail等进行渗透测试,对网络设备的渗透一般也只是为了绕过网络设备的保护进一步对主机、数据库等进行渗透的中间过程而已。2.2 渗透测试的目标在一个渗透测试的任务中,其最终目标一般是通过渗透测试达到如下目标来最终判断测试对象的安全状况:1、目标系统权限的获取比如帐号/口令、shell code等的获取,各种安全限制的绕过,后门木马的安装等。2、敏感信息、数据的盗取、利用或篡改破坏 利用技术、管理等等方面的漏洞缺陷,获取敏感信息、数据,或对之进行篡改破坏。3、对目标系统的恶意攻击比如各种拒绝服务攻击等。在通常的渗透测试任务中,一般主要以前两种目标为主,除非客户特殊要求,否则不采取第三种测试,因为这个测试往往会对目标系统的正常运行及工作造成负面的影响。为了达到上述的渗透测试目标,我们一般需要根据具体情况,从如下几个方面对对象进行相关的渗透及检查: 帐号口令 远程或本地溢出漏洞 安全策略及配置漏洞 应用脚本安全问题(认证、权限、操作参数过滤、敏感信息暴 露等) 数据通讯安全(sniffer、无线通讯明文传输) 网络隔离、接入、访问控制3 华为渗透测试服务华为作为国内最大的电信设备提供商之一,为中国和国外客户提供多种电信级的应用解决方案,在全国各地和一些国家、地区都设有分支机构,拥有完善的服务体系和丰富全面的服务经验及能力。华为自2000年开始,为了满足客户需求及公司的发展,利用自身的优势开始切入网络安全服务领域,为使用华为公司产品的电信和企业客户提供诸如系统安全集成、信息安全评估、渗透测试、网络安全应急响应、安全审计、安全巡检、安全咨询顾问、安全培训等网络安全服务,经过几年的发展和积累,华为已在上述领域积累了丰富的实施经验,成功完成了多个重大安全项目,成为信息网络安全服务领域的一流服务提供商。3.1 渗透测试方法及步骤凭借着在众多项目中的实施经验,华为形成了一套具有自身特色且行之有效的渗透测试方法。渗透测试实际就是一个模拟黑客攻击的过程,因此其的实施过程也类似于一次完整的黑客攻击过程,我们将其划分为了如下几个阶段: 预攻击阶段(寻找渗透突破口) 攻击阶段(获取目标权限) 后攻击阶段(扩大攻击渗透成果)如下图:3.1.1 预攻击阶段预攻击阶段主要是为了收集获取信息,从中发现突破口,进行进一步攻击决策。主要包括l 网络信息,如网络拓补、ip及域名分布、网络状态等l 服务器信息,如os信息、端口及服务信息、应用系统情况等l 漏洞信息,如跟踪最新漏洞发布、漏洞的利用方法等其利用到的方法及工具主要有:q 网络配置、状态,服务器信息 ping traceroute nslookup whois finger nbtstatq 其它相关信息(如web服务器信息,服务器管理员信息等) google、yahoo、baidu 等搜索引擎获取目标信息 企业组织名称、个人姓名、电话、生日、身份证号码、电子邮件等等(网站、论坛、社交工程欺骗)q 常规扫描及漏洞发现确认 nmap端口扫描及指纹识别 利用各种扫描工具进行漏洞扫描(iss、nessus等) 采用 fwtester、hping3 等工具进行防火墙规则探测 采用 solarwind 对网络设备等进行发现 采用 nikto、webinspect 等软件对 web 常见漏洞进行扫描 采用如appdetectiv 之类的商用软件对数据库进行扫描分析p 应用分析(web及数据库应用) 采用 webproxy、spikeproxy、webscarab、parosproxy、absinthe 等工具进行分析对web服务进行分析检测 用 webscan、fuzzer 进行 sql 注入和 xss 漏洞初步分析 某些特定应用或程序的漏洞的手工验证检测(如sql注入、某些论坛网站的上传漏洞、验证漏洞,某些特定软件的溢出漏洞等) 采用类似oscanner 的工具对数据库进行分析 用 ethereal 抓包协助分析3.1.2 攻击阶段攻击阶段是渗透测试的实际实施阶段,在这一阶段根据前面得到的信息对目标进行攻击尝试,尝试获取目标的一定权限。在这一阶段,主要会用到以下技术或工具:p 账号口令猜解口令是信息安全里永恒的主题,在以往的渗透测试项目中,通过账号口令问题获取权限者不在少数。有用的账号口令除了系统账号如unix账号、windows账号外,还包括一些数据库账号、www账号、ftp账号、mail账号、snmp账号、cvs账号以及一些其它应用或者服务的账号口令。尤其是各个系统或者是应用服务的一些默认账号口令和弱口令账号。大多综合性的扫描工具都有相应的弱口令审核模块,此外,也可以采用brutus、hydra、溯雪等比较专业的账号猜解工具。p 缓冲区溢出攻击针对具体的溢出漏洞,可以采用各种公开及私有的缓冲区溢出程序代码进行攻击,一个比较好的exploit搜索站点是:/exploits/。也可以采用诸如metasploitframework之类的利用程序集合,如下图:p 基于应用服务的攻击基于web、数据库或特定的b/s 或c/s 结构的网络应用程序存在的弱点进行攻击,常见的如sql 注入攻击、跨站脚本攻击、一些特定网站论坛系统的上传漏洞、下载漏洞、物理路径暴露、重要文件暴露等均属于这一类型,特定的对象及其漏洞有其特定的利用方法,这里就不一一举例。3.1.3 后攻击阶段后攻击阶段主要是在达到一定的攻击效果后,隐藏和清除自己的入侵痕迹,并利用现有条件进一步进行渗透,扩大入侵成果,获取敏感信息及资源,长期的维持一定权限。这一阶段,一般主要要进行2个工作:1) 植入后门木或者键盘记录工具等,获得对对象的再一次的控制权;在真实的黑客入侵事件中,这一步往往还要进行入侵行为的隐藏比如清楚日志、隐藏后门木马服务、修补对象漏洞以防止他人利用等,但在渗透测试实例中却不需要如此,往往需要保留对象相应的日志记录,可以作为渗透测试的相关证据和参考信息2) 获得对象的完全权限这一步主要以破解系统的管理员权限账号为主,有许多著名的口令破解软件,如l0phtcrack、john the ripper、cain 等可以帮助我们实现该任务3) 利用已有条件,进行进一步的入侵渗透测试;在成功获取某个对象的一定权限后,就可以利用该成果,以此对象为跳板,进行进一步的入侵渗透。在这一步会重复预攻击阶段和攻击阶段的那些操作,因为前提条件的变化,可能实现许多先前不可能实现的渗透任务。此外,还这个阶段,还有一些有用的攻击方法也是比较有效的,比如sniffer嗅探、跳板攻击、 ip欺骗、arp欺骗与mitm(中间人)攻击等,都可以帮我们实现某些特定渗透结果。3.2 渗透测试实施流程渗透测试与安全风险评估、安全加固等安全服务一样,在具体实施中都有可能带来一些负面风险,因此一个严格的有效的实施流程是保证渗透测试正常实施的关键,华为渗透测试服务严格遵循以下的项目实施流程:3.2.1 制定渗透测试初步实施方案并取得客户同意授权合法性即客户书面授权委托,并同意实施方案是进行渗透测试的必要条件。渗透测试首先必须将实施方法、实施时间、实施人员,实施工具等具体的实施方案提交给客户,并得到客户的相应书面委托和授权。实施方案大致包括下面几方面的内容: 项目基本情况及目标介绍 渗透测试实施方案及计划 渗透测试成果的审核确认 渗透测试实施的风险规避应该做到客户对渗透测试所有细节和风险的知晓、所有过程都在客户的控制下进行。这也是专业渗透测试服务与黑客攻击入侵的本质不同。3.2.2 信息收集分析信息收集是每一步渗透攻击的前提,通过信息收集寻找渗透测试的突破口并细化渗透测试方案,有针对性地制定模拟攻击测试计划,主要涉及这些内容: 域名及ip分布 网络拓补、设备及操作系统os 端口及服务情况 应用系统情况 最新漏洞情况 其它信息(如服务器管理员的相关信息等)3.2.3 渗透测试方案细化制定根据预攻击阶段信息收集的结果,对渗透测试方案进行细化,主要是具体漏洞细节及针对这些漏洞的可能采用的测试手段,详细时间安排,以及可能带来的风险,需要客户配合或关注的地方等。方案细化后再次知会客户并取得客户同意授权才能进行下一步操作。3.2.4 渗透测试的实施在取得客户同意后,开始具体的实施过程,包括如下几方面内容: 获得目标系统权限 后门木马植入,保持控制权 跳板渗透,进一步扩展攻击成果 获取敏感信息数据或资源 在实施过程中,特别提请注意的是采取的渗透测试技术及手段一定不能导致对象的业务中断和工作异常,必须对对象的状态进行实时监控,必要的情况下可以要求客户协助进行。3.2.5 渗透测试报告的输出渗透测试之后,需要向客户提供一份渗透测试报告。报告将会十分详细的说明渗透测试过程中的得到的数据和信息,并且将会详细的纪录整个渗透测试的全部操作。渗透测试报告应包含如下内容: 渗透结论包括目标系统的安全状况、存在的问题、渗透测试的结果等 渗透测试项目的介绍包括项目情况、时间、参与人员、操作地点等 渗透测试过程包括渗透测试的各个实施阶段中的方法、工具、技术及其操作细节等 渗透测试的证据渗透测试的一些过程及证明文件 解决方案针对渗透测试中发现的问题给出对应的解决办法和建议 附录部分渗透测试中的一些其它相关内容,如异常事件的记录和处理等3.3 渗透测试的工具及其软件说明3.3.1 常用命令l pingl traceroute(tracert )l nslookupl whoisl fingerl nbtstatping:网络连接状态信息traceroute(tracert) :跟踪一个消息从一台计算机到另一台计算机所走的路径(路由信息)。 nslookup:域名解析信息whois:提供了在internet上一台主机或某个域的所有者的信息 finger:获取远程服务器上的用户信息(用户名、服务器名、用户当前是否在线、用户登录时间、用户的crond任务等信息)nbtstat:可以收集到一些对方计算机中的用户列表 3.3.2 有用网站l 信息收集分析站点n (可以查询被测试对象的服务器及web服务信息)n (可以查询域名信息)n (可以查询被测试对象的路由信息)n 搜索引擎(google、百度、yahoo等)n 被测试对象的网站、论坛等l 漏洞跟踪站点n /n /n 各个厂家的官方漏洞批漏网站如(微软、ibm、solaris、apache等等)l 溢出代码程序批漏站点u /exploits/u http:/packetstormsecurity.nl/u .ru/u http:/www.hackcoza.tk/u http:/www.web-hack.ru/u /u http:/www.security.nnov.ru/u http:/www.hackerzhell.co.uk/indexmain.phpu http:/hacktheb0x.tk/u http:/neworder.box.sk/u /u /u /3.3.3 漏洞扫描软件l 端口及指纹扫描软件 supscan nmapl 漏洞扫描软件: nessus x-scan sssissl web漏洞扫描工具webproxyniktowebinspectspikeproxywebscarabparosproxyabsinthewebscanfuzzerl 数据库扫描分析工具oscannerappdetetiveiss database scannernsgsoft ngssquirrell 网络设备防火墙 solawindsfwtesterhping33.3.4 溢出工具批量溢出工具集如: metasploit framework具体的漏洞溢出工具可到前面所述的站点去查找下载3.3.5 密码破解工具密码猜解工具:brutus、hydra、溯雪暴力破解工具:l0phtcrack、john the ripper、cain3.3.6 协以及抓报分析工具snifferethereal3.4 风险规避及其它注意事项3.4.1 渗透测试时间与策略 时间选择为减轻渗透测试对网络和主机的影响,渗透测试时间尽量安排在业务量不大的时段或晚上。 攻击策略集选择为防止渗透测试造成网络和主机的业务中断,在渗透测试中不使用含有拒绝服务的测试策略。 保守策略选择对于不能接受任何可能风险的主机系统,如银行票据核查系统,电力调度系统等,可选择如下保守策略:1) 复制一份目标环境,包括硬件平台,操作系统,数据库管理系统,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论