信息系统渗透测试方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息系统渗透测试方
案
Revised on November 25, 2020
广东省XXXX厅重要信息系统
渗透测试方案
目录
1.概述
1.1. 渗透测试概述
渗透测试(Penetration Test)是指安全工程师尽可能完整摸拟黑客使用的漏洞发现技术和攻击手段,对目标网络/系统/主机/应用的安全性做深入的探测,发现系统最脆弱的环节的过程,渗透测试能够直观的让管理人员知道自己网络面临的问题。
渗透测试是一种专业的安全服务,类似于军队里的“实战演习”或者“沙盘推演”,通过实战和推演,让用户清晰了解目前网络的脆弱性、可能造成的影响,以便采取必要的防范措施。
1.2. 为客户带来的收益
从渗透测试中,客户能够得到的收益至少有:
1)协助用户发现组织中的安全最短板,协助企业有效的了解目前降低风险
的初始任务;
2)一份文档齐全有效的渗透测试报告有助于组织IT管理者以案例说明目
前安全现状,从而增强信息安全认知程度,甚至提高组织在安全方面的
预算;
3)信息安全是一个整体工程,渗透测试有助于组织中的所有成员意识到自
己岗位同样可能提高或降低风险,有助于内部安全的提升;
当然,渗透测试并不能保证发现目标网络中所有的弱点,因此我们不宜片面强调它的重要性。
2. 涉及的技术
我们简单介绍渗透测试的各个阶段可能会用到的一些工具。
2.1. 预攻击阶段
基本网络信息获取
● Ping 目标网络得到IP 地址和ttl 等信息
● Tcptraceroute 等traceroute 的结果
● Whois 结果
● Netcraft 获取目标可能存在的域名、web 及服务器信息
● Curl 获得目标web 基本信息
● Nmap 对网站进行端口扫描并判断操作系统类型
● Google 、yahoo 、baidu 等搜索引擎获取目标信息
● 采用FWtester 、hping3等工具进行防火墙规则探测
● ……
常规漏洞扫描和采用商用软件进行检测
●结合使用xscan与Nessu等商用或免费扫描工个进行漏洞扫描
●采用Solarwind对网络设备等进行发现
●采用nikto、webinspect等软件对web常见漏洞进行扫描
●采用如AppDetective之类的商用软件对数据库进行扫描分析
●……
对Web和数据库应用进行分析
●采用Webproxy、SPIKEProxy、webscarab、ParosProxy、Absinthe等
工具进行分析
●用Ehtereal进行抓包协助分析
●用webscan、fuzzer进行SQL注入和XSS漏洞初步分析
●手工检测SQL注入和XSS漏洞
●采用类似OScanner工具对数据库进行分析
●……
对应用分析的注意事项
●检查应用系统架构、防止用户绕过系统直接修改数据库
●检查身份认证模块,防止非法用户绕过身份验证
●检查数据库接口模块,防止用户获取系统权限
●检查其他安全威胁
●……
2.2. 攻击阶段
基于通用设备、数据库、操作系统和应用的攻击
可以采用各种公开及私有的缓冲区溢出程序代码,
基于应用的攻击
基于Web、数据库或特定的B/S或C/S结构的网络应用程序存在的弱点进行攻击,常见的如SQL注入攻击、跨站脚本攻击等。
口令猜解技术
口令是信息安全里永恒的主题,通过弱口令获取权限者不在少数。进行口令猜解可以用X-scan、Brutus、Hydra、溯雪等工具。
2.3. 后攻击阶段
口令嗅探与键盘记录
嗅探、键盘记录、木马等软件,功能简单,但要求不被防病毒软件发觉,因此通常需要自行开发或修改。
口令破解
有许多口令破解工具,如L0phtCrack、John the Ripper、Cain等。
2.4. 其它手法
这里列出的方法,有些可能对用户的网络造成较大的影响(如服务中断),有的则与安全管理密切相关,有的则需要到现场才能进行作业,因此通常情况下较少采用。但可以根据客户的需求状态进行判断。
●DoS&DDoS
●客户端攻击
●社交工程方法
3.操作中的注意事项
3.1. 测试前提供给渗透测试者的资料
3.1.1.黑箱测试
黑箱测试又被称为所谓的“zero-knowledge testing”,渗透者完全处于对系统一无所知的状态,通常这类型测试,最初的信息获取来自于DNS、Web、Email 及各种公开对外的服务器。
3.1.2.白盒测试
白盒测试与黑箱测试恰恰相反,测试者可以通过正常的渠道向被单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片断,也能够与单位的其它员工(销售、程序员、管理者……)进行面对面的交流。这类测试的目的是模拟企业内部雇员的越权操作。
3.1.3.隐秘测试
隐秘测试是对被测单位而言的,通常情况下,接受渗透测试的单位网络管理部门会收到通知:在某些时段进行测试,因此能够监测网络中出现的变化,但隐性测试则被测单位也仅有极少数人知晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢复做得否到位。
3.2. 攻击路径
测试目标不同,涉及需要采用的技术也会有一定差异,因此下面简单说明在不同位置、攻击路径不同时可能采用的技术。