模拟渗透入侵测试方案教程文件
- 格式:doc
- 大小:172.00 KB
- 文档页数:10
渗透测试方案一、介绍渗透测试是一种模拟攻击的安全评估方法,通过模拟黑客攻击的方式,评估目标系统的安全性。
本渗透测试方案旨在提供一套系统化、全面的渗透测试方法,确保识别系统中的安全漏洞并为其提供解决方案。
二、目标与范围1.目标:对目标系统的安全性进行评估,发现和利用可能存在的漏洞。
2.范围:包括目标系统的网络、应用程序、服务器、数据库等。
三、方法和技术1.信息收集:收集目标系统的相关信息,包括IP地址、域名、子域名、相关人员信息等。
-使用WHOIS查询服务获取域名注册信息;- 使用nmap、masscan等工具进行端口扫描,了解目标系统开放的端口和运行的服务;- 使用shodan、zoomeye等工具进行,查找与目标系统相关的公开资料。
2.漏洞评估:通过对目标系统进行安全扫描和漏洞评估,发现系统中存在的安全漏洞。
- 使用漏洞扫描工具(如Nessus、OpenVAS)对目标系统进行扫描,检测网络设备和系统的已知漏洞;-对目标应用程序进行渗透测试,包括输入验证、访问控制、会话管理的评估;-对目标系统进行密码破解测试,包括弱密码检测、字典攻击等。
3.渗透攻击:模拟实际黑客攻击,主动利用系统中的安全漏洞。
- 使用Metasploit等渗透测试工具进行攻击模拟,包括远程执行命令、文件上传、代码注入等;-利用漏洞编写自定义的攻击脚本,提高攻击成功率;-关注系统日志和入侵检测系统,避免对目标系统造成损害。
4.数据分析与整理:对获取的漏洞信息和攻击结果进行整理和分析,并形成渗透测试报告。
-对扫描和攻击结果进行整理和分类,包括系统漏洞、应用程序漏洞及给出的建议;-制作渗透测试报告,包括测试目的、范围、方法、发现的漏洞、修复措施等;-提出改进建议,帮助目标系统提升安全性。
五、诚信原则和法律合规1.诚信原则:在进行渗透测试过程中,要尊重被测系统的所有权利、知识产权和使用权,严禁滥用测试权限。
2.法律合规:遵守国家相关法律和规定,在获得目标系统的合法授权后进行渗透测试,不得进行非法攻击、破坏或盗取数据等违法行为。
一、课程名称渗透检测技术与应用二、课程背景随着互联网技术的飞速发展,网络安全问题日益突出。
渗透检测作为一种重要的网络安全技术,能够帮助企业和个人发现系统中的安全漏洞,从而采取相应的防护措施。
本课程旨在培养学员掌握渗透检测的基本原理、方法和工具,提高网络安全防护能力。
三、课程目标1. 了解渗透检测的基本概念和原理;2. 掌握常用的渗透检测工具和技巧;3. 能够独立进行渗透检测,发现系统漏洞;4. 学会编写安全报告,提出相应的安全建议;5. 增强网络安全意识,提高自我保护能力。
四、课程内容1. 渗透检测概述- 渗透检测的定义和作用- 渗透检测的分类- 渗透检测的发展历程2. 渗透检测工具与技巧- 常用渗透检测工具介绍(如Nmap、Wireshark、Burp Suite等)- 渗透检测技巧(如端口扫描、漏洞扫描、密码破解等)3. 常见安全漏洞分析- SQL注入漏洞- XSS跨站脚本漏洞- CSRF跨站请求伪造漏洞- 服务器配置不当漏洞4. 渗透检测实战- 渗透检测流程- 渗透检测实战案例分析- 渗透检测报告撰写5. 安全防护与应急响应- 常见安全防护措施- 应急响应流程- 应急响应案例分析五、教学方法1. 讲授法:系统讲解渗透检测的理论知识;2. 案例分析法:通过实际案例,让学员了解渗透检测的实战应用;3. 实践操作法:让学员在实验室环境中进行渗透检测操作,提高实际操作能力;4. 讨论法:鼓励学员在课堂上积极发言,分享自己的学习心得和经验。
六、课程考核1. 平时成绩(30%):包括课堂表现、作业完成情况等;2. 实践考核(40%):包括实验室操作、渗透检测报告等;3. 期末考试(30%):书面考试,考察学员对渗透检测知识的掌握程度。
七、课程资源1. 教材:《网络安全技术与应用》;2. 课程讲义;3. 渗透检测工具和案例资料;4. 在线学习平台资源。
八、课程实施1. 课时安排:32学时;2. 教学进度安排:根据教学大纲,合理安排课程进度;3. 教学效果评估:通过课堂提问、作业完成情况、实践考核等手段,对学员的学习效果进行评估。
渗透测试实施方案渗透测试实施方案一、概述:渗透测试是一种模拟真实黑客攻击的活动,旨在评估系统和网络的安全性。
本文将提出一份渗透测试实施方案,以确保安全漏洞的检测和修复,从而提高系统和网络的安全性。
二、目标:1.发现系统和网络中的安全漏洞,如弱口令、未修复的安全更新、未加密的通信等。
2.评估防御措施的有效性,如防火墙、入侵检测系统等。
3.复现黑客攻击行为,以便更好地理解攻击者的思维和方法。
三、实施步骤:1.信息收集:收集目标系统和网络的相关信息,包括IP 地址、域名、开放端口等。
可以使用 WHOIS 查询、网络扫描工具等来获取信息。
2.漏洞扫描:使用漏洞扫描工具对目标系统和网络进行扫描,以发现常见的安全漏洞。
3.攻击仿真:根据收集到的信息和扫描结果,模拟黑客攻击行为,如密码破解、SQL 注入等。
需要注意的是,在执行攻击行为前,需要事先获得系统管理员的许可。
4.渗透测试:在获得系统管理员的许可后,进行渗透测试,尝试获取系统和网络的敏感信息。
测试过程中,需要记录下每一个攻击的步骤和结果,以便分析和报告。
5.结果分析:根据渗透测试的结果,对系统和网络中的安全漏洞进行分析,并给出修复建议。
6.修复漏洞:将分析结果和修复建议交给系统管理员,以便修复系统中发现的安全漏洞。
7.测试报告:编写渗透测试报告,详细描述渗透测试的过程、结果和修复建议。
测试报告需要有足够的技术细节,以便系统管理员能够理解并采取相应的措施。
四、注意事项:1.保证测试过程的安全性:在执行渗透测试前,需要事先与系统管理员协商并获得许可。
同时,需要确保测试过程中不会对目标系统和网络造成损害。
2.保护敏感信息:在渗透测试过程中,可能会获取到系统和网络中的敏感信息。
测试人员需要保护这些信息的安全,以免被泄露。
3.合法性问题:渗透测试只能在获得合法授权的情况下进行,未经授权的渗透测试行为是违法的。
4.测试范围的确认:在进行渗透测试前,需要与系统管理员明确测试的范围和目标,以免误伤非目标系统和网络。
渗透测试实施方案渗透测试(Penetration Testing)是指对计算机系统、网络或应用程序的安全性进行评估的过程。
其主要目的是模拟黑客的攻击手段,发现系统中存在的安全漏洞,以及评估系统对安全威胁的抵抗能力。
渗透测试通过模拟攻击者的行为,发现系统漏洞并提供修复建议,是保障信息系统安全的重要手段之一。
一、准备工作在进行渗透测试之前,首先需要明确测试的目标和范围,明确测试的目的是为了发现系统中存在的安全漏洞,还是为了评估系统的整体安全性。
同时,需要充分了解被测试系统的架构、技术栈、业务流程等相关信息,以便有针对性地进行测试。
二、信息收集信息收集是渗透测试的第一步,通过收集目标系统的相关信息,包括域名、IP地址、子域名、开放端口、系统架构等,为后续的攻击模拟和漏洞利用提供基础。
信息收集的方式包括但不限于网络侦察、端口扫描、漏洞扫描等。
三、漏洞扫描与分析在信息收集的基础上,对目标系统进行漏洞扫描和分析,以发现系统中存在的安全漏洞。
漏洞扫描工具可以帮助测试人员快速地发现系统中存在的已知漏洞,同时也需要进行手工的漏洞挖掘,以发现系统中的潜在安全隐患。
四、攻击模拟与漏洞利用在发现系统中存在的安全漏洞后,测试人员需要进行攻击模拟和漏洞利用,以验证漏洞的真实性和危害性。
攻击模拟可以包括但不限于SQL注入、跨站脚本攻击、文件包含漏洞等,通过模拟攻击者的行为,验证系统对安全威胁的抵抗能力。
五、报告撰写与修复建议渗透测试结束后,测试人员需要撰写测试报告,详细记录测试过程中发现的安全漏洞和漏洞利用的结果,同时提出修复建议和安全加固措施。
报告应该清晰、准确地呈现测试结果,为系统管理员和开发人员提供有效的安全建议。
六、定期复审与持续改进渗透测试并非一次性的工作,随着系统的更新和漏洞的修复,安全威胁也在不断演变。
因此,定期的渗透测试和安全审计是必不可少的,只有不断地发现问题并及时修复,才能保障系统的安全性。
总结渗透测试是保障信息系统安全的重要手段,通过模拟攻击者的行为,发现系统中存在的安全漏洞,并提供修复建议,帮助系统管理员和开发人员及时修复漏洞,提高系统的安全性。
四川品胜安全性渗透测试
测
试
方
案
成都国信安信息产业基地有限公司
二〇一五年十二月
成都国信安信息产业基地有限公司
目录
目录 (1)
1.引言 (2)
1.1.项目概述 (2)
2.测试概述 (2)
2.1.测试简介 (2)
2.2.测试依据 (2)
2.3.测试思路 (3)
2.3.1.工作思路 (3)
2.3.2.管理和技术要求 (3)
2.4.人员及设备计划 (4)
2.4.1.人员分配 (4)
2.4.2.测试设备 (4)
3.测试范围 (5)
4.测试内容 (8)
5.测试方法 (10)
5.1.渗透测试原理 (10)
5.2.渗透测试的流程 (10)
5.3.渗透测试的风险规避 (11)
5.4.渗透测试的收益 (12)
5.5.渗透测试工具介绍 (12)
6.我公司渗透测试优势 (14)
6.1.专业化团队优势 (14)
6.2.深入化的测试需求分析 (14)
6.3.规范化的渗透测试流程 (14)
6.4.全面化的渗透测试内容 (14)
7.后期服务 (16)
第1页共16页。
渗透测试方案渗透测试方案一、背景和目标渗透测试是一种通过模拟攻击者的方法,评估系统的安全性,并发现和修补潜在的漏洞和风险。
本渗透测试方案的目标是评估公司的网络和应用程序的安全性,发现潜在的漏洞和风险,以便采取适当的修补措施。
二、测试范围和方法1. 网络渗透测试- 主机扫描:扫描公司网络中的主机,发现存在的漏洞和风险。
- 漏洞扫描:使用自动化工具扫描公司网络中的服务器和应用程序,发现已知的漏洞和风险。
- 弱口令攻击:通过尝试常见的弱口令,评估公司网络中的账户安全性。
- 社交工程攻击:通过伪装成合法员工,尝试获取公司机密信息。
- 无线网络攻击:评估公司的无线网络安全性,发现存在的漏洞和风险。
2. 应用程序渗透测试- Web应用程序测试:评估公司网站和Web应用程序的安全性,发现可能存在的漏洞和风险。
- 数据库测试:评估公司数据库的安全性,发现可能存在的漏洞和风险。
- API测试:评估公司的API接口的安全性,发现可能存在的漏洞和风险。
- 移动应用程序测试:评估公司的移动应用程序的安全性,发现可能存在的漏洞和风险。
三、测试计划和时间安排1. 测试计划- 确定测试的目标、范围和方法。
- 就测试计划与公司相关人员进行协商和确认。
- 编制详细的测试方案和步骤。
2. 时间安排- 进行网络渗透测试需要1周的时间。
- 进行应用程序渗透测试需要2周的时间。
- 总共需要3周的时间完成全部测试。
四、测试环境和工具1. 测试环境- 虚拟机环境:用于搭建测试环境,确保测试过程不会影响实际环境。
- 模拟攻击者工作站:用于进行漏洞扫描、弱口令攻击、社交工程攻击等测试活动。
2. 测试工具- Nessus:用于进行漏洞扫描和自动化渗透测试。
- Burp Suite:用于进行Web应用程序测试,包括代理、扫描、拦截等功能。
- sqlmap:用于进行数据库渗透测试,发现SQL注入等漏洞。
- Metasploit:用于进行网络渗透测试,包括远程攻击、漏洞利用等功能。
1渗透测试方案1.1渗透测试概述通过智能工具扫描与人工测试、分析的手段,以模拟黑客入侵的方式对服务目标系统进行模拟入侵测试,主要评估目标系统是否存在SQL注入、跨站脚本、跨站伪造请求、认证会话管理、弱口令、信息加密性、文件包含、目录浏览、不安全的跳转、溢出、上传、不安全的数据传输、未授权的访问等脆弱性问题,识别服务目标存在的安全风险,提交《渗透测试报告》。
➢由安全工程师模拟黑客的行为模式,采用黑客最可能采用的漏洞发现技术和尽可能多的攻击方法,对业务应用系统安全性进行深入分析,并提供相应的漏洞报告和解决建议;➢参与渗透测试的人员需技术过硬、声誉良好。
对于用户修复后的漏洞,由技术专家提供严格的复测,复测不通过则要督促信息系统开发人员进一步整改,直到漏洞被彻底修复;➢渗透测试结束后,技术专家依据测试结果,提供整体性测试报告。
1.2渗透测试测试评估通过智能工具扫描与人工测试、分析的手段,以模拟黑客入侵的方式对服务目标系统进行模拟入侵测试,主要评估目标系统是否存在SQL注入、跨站脚本、跨站伪造请求、认证会话管理、弱口令、信息加密性、文件包含、目录浏览、不安全的跳转、溢出、上传、不安全的数据传输、未授权的访问等脆弱性问题,识别服务目标存在的安全风险,提交《渗透测试报告》。
由安全工程师模拟黑客的行为模式,采用黑客最可能采用的漏洞发现技术和尽可能多的攻击方法,对业务应用系统安全性进行深入分析,并提供相应的漏洞报告和解决建议;参与渗透测试的人员需技术过硬、声誉良好。
对于用户修复后的漏洞,由技术专家提供严格的复测,复测不通过则要督促信息系统开发人员进一步整改,直到漏洞被彻底修复;渗透测试结束后,技术专家依据测试结果,提供整体性测试报告。
1.2.1渗透测试概述渗透测试是指安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标网络、系统、主机、应用的安全性作深入的探测,发现系统最脆弱的环节的过程。
渗透测试能够直观的让管理人员知道自己网络所面临的问题。
渗透检测操作指导书1. 引言1.1 目的和范围本文档旨在提供一份详细的渗透检测操作指导,以帮助安全人员进行有效且合规性的网络渗透测试。
该指南涵盖了从准备阶段到报告编写阶段所需执行的步骤。
2. 准备工作在开始任何形式的渗透测试之前,需要完成以下几个重要任务:2.1 确定目标系统或应用程序,并获得授权;2.2 收集关于目标环境、技术架构和已知漏洞等信息;2.3 建立一个实验室环境来模拟真实场景并避免对生产系统造成影响。
3.侦察与情报收集清楚地了解目标是成功进行攻击最基础也是必不可少条件。
这包括但不限于以下内容:- IP地址范围扫描及端口开放状态诊断;- WHOIS查询获取域名注册者相关信息;- DNS记录分析,查找子域名及其IP地址;- 社交媒体平台上搜集有价值线索.4.漏洞评估与利用在此阶段,对目标系统进行深入的漏洞评估和利用。
这包括但不限于以下内容:- 漏洞扫描与自动化工具使用;- 手动渗透测试,如SQL注入、跨站脚本攻击等;- 利用已知或新发现的漏洞获取未授权访问权限。
5.提权与持久性维持一旦成功进入目标系统并取得足够高级别特权后,需要采取行动以确保长期存在,并为下一步操作做好准备。
- 提升用户权限至管理员或根账户;- 安装恶意软件(例如键盘记录器)来收集敲击信息.6. 数据分析及报告编写分析在前面各个阶段中所搜集到的数据和结果,并撰写详尽且易读的报告。
- 对每个发现问题给出明确描述;- 给出修复建议并优先排序;7. 结束语1) 附件:此文档涉及多项附件,请参考相关文件.2) 法律名词及注释:a) 渗透测试:指通过模拟黑客攻击手法检测计算机网络安全弱点,并提供修复建议的一种安全评估方法。
b) 授权:在进行渗透测试之前,必须获得目标系统或应用程序所有者明确授予的许可。
课时:2课时教学目标:1. 理解渗透测试的概念、目的和意义。
2. 掌握渗透测试的基本流程和步骤。
3. 了解渗透测试中的常用工具和技术。
4. 培养学生进行安全评估和风险分析的能力。
教学重点:1. 渗透测试的基本概念和流程。
2. 渗透测试中的常用工具和技术。
教学难点:1. 渗透测试的合法性和道德边界。
2. 渗透测试中的风险分析和评估。
教学准备:1. 投影仪、电脑、网络连接。
2. 渗透测试相关资料和案例。
3. 渗透测试工具演示。
教学过程:第一课时一、导入1. 引导学生思考:什么是网络安全?网络安全的重要性是什么?2. 介绍渗透测试的概念,提出本节课的学习目标。
二、渗透测试概述1. 渗透测试的定义:模拟黑客攻击,发现系统漏洞,提高系统安全性的技术。
2. 渗透测试的目的:发现潜在的安全隐患,提高系统的安全性。
3. 渗透测试的意义:保护企业、组织和个人信息安全。
三、渗透测试分类1. 按测试方式分类:黑盒测试、白盒测试、灰盒测试。
2. 按测试目标分类:网络渗透测试、应用渗透测试、主机渗透测试。
四、渗透测试流程1. 预评估:了解目标系统的基本情况,确定测试范围和测试方法。
2. 信息收集:收集目标系统的相关信息,包括网络结构、系统架构、服务端口等。
3. 漏洞扫描:使用工具对目标系统进行漏洞扫描,发现潜在的安全漏洞。
4. 漏洞验证:针对扫描出的漏洞,进行手动验证,确认漏洞的存在和可利用性。
5. 利用漏洞:利用已知的漏洞,对目标系统进行攻击,获取系统控制权。
6. 分析报告:总结测试过程,分析测试结果,提出改进建议。
五、渗透测试工具和技术1. 渗透测试工具:Nmap、Burp Suite、Metasploit等。
2. 渗透测试技术:端口扫描、漏洞扫描、密码破解、社会工程学等。
第二课时一、合法性和道德边界1. 渗透测试的合法性:在获得授权的情况下进行渗透测试。
2. 渗透测试的道德边界:不进行非法入侵,不泄露测试信息。
二、风险分析和评估1. 风险分析:评估目标系统面临的安全风险,包括漏洞、攻击途径等。
网络安全渗透测试实践教程第一章:网络安全渗透测试概述网络安全渗透测试是指通过模拟真实攻击的方式来评估和验证目标系统的安全性。
本章将介绍网络安全渗透测试的基本概念和目的,以及渗透测试的一般方法和流程。
网络安全渗透测试是一种主动安全评估的手段,通过模拟黑客攻击来检测目标系统存在的安全漏洞和弱点,帮助组织发现并修复这些问题,提高系统的安全性。
渗透测试通常包括情报收集、漏洞扫描、渗透攻击、权限提升和漏洞利用等步骤。
第二章:渗透测试方法和流程本章将详细介绍渗透测试的方法和流程。
一般来说,渗透测试包括四个主要步骤:信息收集、漏洞分析、攻击和访问控制。
这些步骤需要有条不紊地进行,确保测试的系统性和全面性。
信息收集是渗透测试的第一步,通过各种技术手段搜集目标系统的相关信息,包括IP地址、域名、系统架构、开放端口等。
漏洞分析阶段用于识别目标系统可能存在的安全漏洞,并评估漏洞的危害程度。
攻击阶段是模拟黑客攻击的过程,常见的攻击手段包括密码破解、社会工程学攻击、SQL注入等。
访问控制阶段是通过获得系统的访问权限来证明漏洞的存在,并向系统管理员提供修复建议。
第三章:渗透测试工具和技术本章将介绍一些常用的渗透测试工具和技术。
渗透测试工具包括端口扫描工具、漏洞扫描器、密码破解工具等。
其中,端口扫描工具用于扫描目标系统的开放端口,漏洞扫描器用于自动化地发现系统的安全漏洞,密码破解工具则用于猜解系统的用户密码。
此外,渗透测试还需要一些常见的攻击技术,如社会工程学攻击、SQL注入、跨站脚本攻击等。
社会工程学攻击是指通过操纵人类心理,获得目标系统的访问权限或敏感信息。
而SQL注入和跨站脚本攻击则针对Web应用程序,通过在输入插入恶意代码来获取系统权限或窃取用户信息。
第四章:渗透测试实践案例分析本章将通过实际案例分析来说明渗透测试的应用。
案例一描述了一家公司内部系统的渗透测试,通过对公司内部网络进行扫描和测试,发现了多个安全漏洞,如弱口令、未打补丁的系统等。
模拟渗透入侵测试方案1.背景介绍当前世界网络互联趋势发展神速,相关的网络技术深入的渗透到了业务各个层面,并且网络由于其特殊性,生活区域,文化区域,办公区域,业务区域等无国界化,导致了访问的效率性,方便性。
但是,网络整体化发展的同时,也带来了负面的影响。
业务网络,个人终端遭受到的恶意攻击也非常频繁及容易,这就给我们带来了各种困难。
如何面对难于追踪的攻击者,自我实现高度安全的保障呢?对于企业集团内部要实现一个很好的安全评估体系,模拟渗透入侵测试是一个有效的评测方式。
2.模拟渗透入侵技术简介模拟渗透入侵测试,是指为了对一个目标网络的安全性进行实际检查,进行带有攻击性行为的全面的安全压力测试;是一个在评估目标主机和网络的安全性时模仿黑客特定攻击行为的过程。
详细地说,是指安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标网络的安全性作深入的探测,发现系统最脆弱环节的过程。
测试过程中,会采用各种手段和途径,包括端口扫描,漏洞扫描,密码猜测,密码破解,数据窃听,伪装欺骗等技术方式。
最终目的就是为了检验该网络各个环节的安全性。
3. 企业网络环境企业网络环境和其它局域网的拓扑结构大同小异的,有差异的地方在于企业网络会有一个DMZ区域,这样一个能够独立与网内敏感数据的特殊环境,DMZ 内通常放置一些不含机密信息的公用服务器,比如Web、Mail、FTP等。
这样来自外网的访问者可以访问DMZ中的服务,但不可能接触到存放在内网中的公司机密或私人信息等,即使DMZ中服务器受到破坏,也不会对内网中的机密信息造成影响。
然而大多数的安全威胁恰恰来自于这个DMZ区域,它间接的提供了很多能够被入侵者利用的信息,可以说入侵者通过对DMZ的信息的获得,进一步深入渗透整个局域网络。
另外一个企业网络环境与其它局域网络的一个差异是,企业网络环境一般都涉及到一些所谓的关系到企业的敏感数据,这也是大多入侵者的最终目标,所以企业网络环境相对与其它环境的安全性更显得尤为重要。
下面是典型的企业网络环境图:这张图描述了一个企业网络环境中所涉及的网络设备以及终端设备,大体上给安全管理提供了一个基本的网络概念,而渗透测试要做的就是设法找出网络弱点所在。
针对这个典型的网络环境,可以从以下几个方面的进行模拟渗透入侵测试针对外网服务器1.A突破防火墙的攻击---突破防火墙的防护,对外部服务器的攻击2.B服务器远程攻击测试---对服务器的应用进行远程攻击,目标是获得基本的权限3.C服务器本地攻击测试---对服务器的本地权限进行攻击,获得管理员权限4.D跨区域渗透攻击---获得了DMZ的控制权后,进行内网渗透攻击尝试。
针对办公OA网络1.E内网扩散攻击测试---对内网整个网络进行扩散攻击,目标是控制所有的机器2.H网络结构灾难攻击---对整个网络进行灾难性的攻击。
模拟病毒爆发等手段(针对性测试)。
针对核心数据区域1.F核心区域攻击测试---对核心区域的服务器进行远程攻击,尝试获取控制权2.G核心数据毁灭性攻击---对核心数据进行暴力攻击,尝试毁坏数据等手段。
(针对性测试)下图说明以上攻击性测试当然这个网络环境只不过是一个典型的结构,根据不同的企业性质会有一些差异,具体环境要根据实际环境进行选择性测试。
4. 模拟渗透入侵技术实施方法4.1 根据测试者掌握信息多少分类根据不同的测试需求,测试者在测试前掌握被测对象的信息多少是不同的。
渗透测试在实际进行中具体划分为以下二种不同的方法:黑盒测试和白盒测试[。
黑盒测试黑盒测试又被称为“Zero-knowledge testing”,渗透测试操作人员完全处于对系统一无所知的状态,通常这类测试的最初信息来自于DNS、Web、Email及各种公开对外的服务器。
白盒测试白盒测试与黑盒测试不同,测试者可以通过正常渠道向被测者要求,取得各种资料,包括网络拓扑、员工资料甚至网站或其他程序的代码片断,也能够与被测组织内的其他员工(销售、程序员、管理者……)进行面对面的沟通。
这类测试的目的是模拟组织内部雇员的越权操作,和预防万一组织重要信息泄露,网络黑客能利用这些信息对组织构成的危害。
4.2 根据测试者位置分类测试目标不同,采用的技术也会有一定差异。
测试者在系统网络的不同位置、不同攻击路径下进行渗透测试,结果反应的问题迥然不同。
内网测试内网测试指的是渗透测试人员由内部网络发起测试,这类测试能够模拟组织内部违规操作者的行为。
最主要的“优势”是绕过了防火墙的保护。
外网测试外网测试指的是渗透测试人员完全处于外部网络(例如拨号、ADSL或外部光纤),模拟从组织外部发起的攻击行为,可能来自于对组织内部信息一无所知的攻击者也可能来自于对组织内部信息一清二楚的攻击者。
不同网段之间的测试这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan进行渗透。
5.渗透测试模型渗透测试模型是一个整合渗透测试技术和方法的原型系统。
该系统可以提供渗透测试各个步骤的各种功能,检验被测对象网络和计算环境的安全性和抗攻击能力,发掘被测对象网络系统中从物理层到应用层各个层面的脆弱性。
5.1 系统架构设计系统分为六大模块:管理控制模块、信息收集模块、漏洞测试模块、结果报告模块、痕迹清除模块、数据通信模块。
管理控制模块负责对整个系统进行管理,对各个模块进行调用,对各模块功能进行集中控制;信息收集模块负责收集被测网络系统的相关信息,并对收集到的信息进行整理提炼;漏洞测试模块负责对网络系统的漏洞进行测试;结果报告模块负责最终的结果生成;痕迹清除模块负责将在被测网络系统中渗透测试留下的痕迹进行清除;数据通信模块负责各个模块之间的通信。
5.2 流程设计渗透测试的流程在不同的应用模式下是有所区别的。
黑盒测试包含了渗透测试的所有步骤和功能,白盒测试根据可见信息获悉的多少可能省去部分信息收集的操作。
一次黑盒测试必须从信息收集开始,对收集到的信息进行整理,提炼出对网络渗透有用的信息;根据收集到的有用信息,制定一定的渗透策略,进行漏洞测试;为了模拟整个攻击的过程和检验网络防护系统的日志报警强度,在渗透工作结束后进行痕迹清除;对信息收集的结果和漏洞测试的结果进行整理,生成网络渗透测试报告。
渗透测试在实际运用中要考虑到系统所处的网络环境,具体的要分为内网测试、外网测试和不同网段之间的测试。
渗透测试系统在这三种使用方法下所要完成的功能不尽相同。
在系统实现过程中,针对这三种应用,提供三种不同的使用用例。
如内网测试,考虑到内网处于防火墙的内部,其内部的防护相对较低,内网中的渗透测试以漏洞测试和口令猜测为主,集中在重要的应用系统的安全漏洞测试,安全配置的测试(防火墙和访问控制测试、入侵检测系统测试)可以从简。
5.3 模型关键技术渗透测试模型从信息收集到结果报告的生成过程是全自动的,无人干预,在此过程中,信息收集的结果筛选和各模块之间的参数传递是一个实现上的难题;另外,漏洞及漏洞利用程序的及时更新也是渗透测试软件的一个关键技术。
信息收集的结果筛选和各模块之间的参数传递渗透测试首先要对被测网络系统进行全面扫描和漏洞的探查,即进行网络勘查、端口扫描、系统识别、无线网漏洞测试、服务探测(网站信息、Mail信息、名字服务、防病毒木马)、溢出搜寻,得到的结果很多,需要整理出对漏洞测试有用的信息。
这些信息的筛选是一个较为复杂的过程。
信息的不一致性,信息体现的漏洞严重程度判定及与软件漏洞库中漏洞的相关性判定都会给信息的整理带来一定难度。
模块之间的参数传递主要是指信息收集模块的信息向漏洞测试模块与结果报告模块的参数传递,漏洞测试模块的结果信息向结果报告模块的参数传递,漏洞测试模块将在被测网络系统中可能产生的记录信息向日志清除模块的参数传递。
软件实现中,信息收集以对各测试对象的扫描为主,将扫描出的主要漏洞及其与漏洞库中漏洞的对应关系传递给漏洞攻击模块,漏洞攻击模块调用相应的漏洞利用程序进行漏洞的渗透测试。
漏洞及漏洞利用程序更新网络系统中的各项应用纷繁复杂,仅仅操作系统,每天都会有新的漏洞出现,各种应用软件系统的漏洞更是层出不穷。
渗透测试软件系统的优劣很大程度上取决于漏洞数量及质量,质量的好坏是指软件是否能够紧跟当前各类软件系统的最新漏洞,能否及时更新漏洞测试工具。
6.渗透测试涉及的技术下面我们简单介绍在渗透测试的各个阶段(与骇客攻击的阶段相似)可能会用到的一些工具。
渗透测试的各个阶段图:6.1. 预攻击阶段基本网络信息获取ping 目标网络得到IP 地址和ttl 等信息tcptraceroute 和traceroute 的结果whois 结果netcraft 获取目标可能存在的域名、Web 及服务器信息curl 获取目标web 基本信息nmap 对网站进行端口扫描并判断操作系统类型google、yahoo、baidu 等搜索引擎获取目标信息采用FWtester、hping3 等工具进行防火墙规则探测……常规漏洞扫描和采用商用软件进行检测结合使用游刃与Nessus 等商用或免费的扫描工具进行漏洞扫描采用SolarWind 对网络设备等进行发现采用nikto、webinspect 等软件对web 常见漏洞进行扫描采用如AppDetectiv 之类的商用软件对数据库进行扫描分析……对Web 和数据库应用进行分析采用WebProxy、SPIKEProxy、webscarab、ParosProxy、Absinthe 等工具进行分析用Ethereal 抓包协助分析用webscan、fuzzer 进行SQL 注入和XSS 漏洞初步分析手工检测SQL 注入和XSS 漏洞采用类似OScanner 的工具对数据库进行分析……应用分析的注意事项检查应用系统架构、防止用户绕过系统直接修改数据库检查身份认证模块,防止非法用户绕过身份认证检查数据库接口模块,防止用户获取系统权限检查文件接口模块,防止用户获取系统文件检查其他安全威胁其中每个环节都还有详细的checklist,读者可以自行补充。
6.2. 攻击阶段基于通用设备、数据库、操作系统和应用的攻击可以采用各种公开及私有的缓冲区溢出程序代码,一个比较好的Exploit 搜索站点是:/exploits/。
也可以采用诸如MetasploitFramework之类的利用程序集合。
基于应用的攻击基于web、数据库或特定的B/S 或C/S 结构的网络应用程序存在的弱点进攻击,常见的如SQL 注入攻击、跨站脚本攻击等均属于这一类型。
口令猜解技术口令是信息安全里永恒的主题,在笔者参与的渗透测试项目中,通过弱口令获取权限者不在少数。
进行口令猜解可以采用游刃、X-Scan、Brutus、Hydra、溯雪等工具。
下图为游刃的口令策略审查模板。
6.3. 后攻击阶段口令嗅探与键盘记录嗅探、键盘记录、木马等软件,功能简单,但要求不被防病毒软件发觉,因此通常需要自行开发或修改。