渗透测试
一、确定工作目标和范围
确定测试有关的范围、目标、相关方以及其他问题等信息。明确测试的目标,渗透测试应该给最终聚焦于发现并确定目标网络上漏洞的范围。确定测试边界。
需要提出的问题:
1.为何要进行渗透测试?
2.被测试的组织的功能或使命是什么?
3.测试有何约束条件或行动规则?
4.哪些数据和服务将纳入测试作为其一部分?
5.数据的所有者是哪些?
6.测试结束是期望得到何种结果?
7.在提交结果是会对其进行何种处理?
8.何时进行测试?
9.内部人员是否得到通知?
10.测试是以黑盒还是白盒方式执行?
11.何种条件可判定测试成功?
12.紧急联系人是和人?
二、选择测试的类型
渗透测试被视为常规IT安全风险管理流程的一部分,它能由具体情况所产生的内部或外部需求驱动。
渗透测试中可能需要测试的项目如下:
1.应用程序
2.IT基础设施
3.网络设备
4.网络链路
5.物理安全与措施
6.策略问题
黑盒测试:是一种最为接近外部攻击状况的测试,也被称为外部测试。需要测试人员像一个真正的攻击者一样远程测试,所知的信息将会非常有限,可能只是公司的名字。通过多种技术,渗透人员能够逐步获取更多关于目标的信息并最终渗透进入公司。同时需要记录并跟踪系统中的漏洞,,并在测试文档中向客户报告这些漏洞。还需要尝试量化任何损失可能对组织造成的影响。
灰盒测试:在此类测试中,获得的知识同样十分有限,比黑盒测试中活得的信息要多,诸如操作系统或者其他数据信息。
白盒测试:充分了解目标环境的结构和组成,一次这种测试有是也被称为内部测试。该类测试比黑盒测试和灰盒测试分析更加深入。白盒测试一般由内部团队或人员执行,作为一种快速发现问题并在外部人员定位和利用这些问题前修复它们的手段。白盒测试发现和解决的时间和成本要比黑盒测试低一些。
三、通过签订合同获取许可
进行渗透测试要谨记的关键原则之一是要获得明确无歧义的测试许可。签合同!
合同中需要包含的要点:
1.要评估的系统和对象(Targets of Evaluation,TEO)
2.预知的风险(降低宕机引起的意外)
3.时间表
4.系统知识
5.发现严重问题时应采取的措施
6.可交付成果
3.1 收集情报
公开信息:从网站中收集目标可能公开的所有信息,如主机和网络信息
领域共性:查明特定环境中所使用的操作系统,可能包括web服务器和web应用程序数据
DNS信息: 确定诸如Whois查询、DNS查询、网络和组织查询等信息
行业系统的共同缺陷:定位当前基础设施中存在的或可能存在的有助于后续开展攻击的漏洞
3.2 扫描与枚举
扫描包括ping扫描、端口扫描和漏洞扫描。
枚举是从发现的入口信息和在扫描过程中发现的i想你想中提取的有用信息过程,如用户名、共享数据、组信息等。
3.3 渗透目标
可能用到的攻击手段:
1.密码破译
2.流量嗅探
3.会话劫持
4.暴力攻击
5.中间人攻击
3.4 维持访问
用于保留在获取访问权限时在系统上开启的入口
3.5隐藏痕迹
有助于隐藏行为的证据并对抗系统所有者的检测和删除操作。留下的证据越少隐藏得越深,防御方就难以组织入侵行为。
3.6记录测试结果
报告应以概述渗透测试的过程开始。概述应该简介明了的说清楚测试期间发生的事情,在分析测试期间发生了哪些漏洞。漏洞应以某种可突出其严重程度的方式进行排序,例如关键重要以及低危等。
报告中应该包含如下内容:
1.每一次渗透成功的场景总结
2.渗透测试期间收集到的所有信息详细列表
3.找到的所有漏洞的详细列表
4.描述发现的所有漏洞
5.解决所发现漏洞的建议和技术
3.7 了解EC-Council流程
黑客道德工作流程的流程之一,EC-Council的黑客道德证书。
以下是EC-Council流程的各个阶段:
1.踩点
2.扫描
3.枚举
4.系统攻击
5.提权
6.隐藏痕迹
7.维持访问
四、依法测试
熟悉相关的法律知识。
五、情报收集
信息分类
技术信息:如操作系统、网络信息、存在的应用程序、IP地址范围还有设备信息。网络摄像头、报警系统和移动设备等等。
管理信息:组织信息,公司政策、招聘程序、员工详细信息、电话簿、供应商信息等等。
物理信息:如位置数据,设施数据,人员细节以及个人的社交互动等。
收集的方法分类
被动收集:指的是与目标五相互作用或接触的方法。通过不与目标接触,希望尽量少或不向目标提供将进行的攻击的迹象。
主动收集:给公司、服务台、员工或其他人打电话此类方法。任何要求主动接触目标的放到都属于主动收集。
公开源情报收集:该过程依赖于从那些对公众可用的开发资源中获取信息。可能的信息源,包括报纸、网络、讨论组、新闻稿、电视、社交网络,博客以及无数的其他来源。
六、扫描和枚举详细介绍
ping扫描用于检查存活系统。此扫描的目的是搜索一个子网或IP地址列表,以确定哪些地址后存在开启电源正在运行的系统。被识别为运行中的那些系统将作为下一步更具体行动的目标。ping命令使用的是所谓Internet控制消息协议(Internet Control Message Protocol,ICMP), 也被称为ICMP扫描。
端口扫描是正对个体IP精选的扫描,该扫描试图识别某个特定系统上开启和关闭的端口。每个打开的端口都可能有一个与之关联的可供后续利用的服务。
漏洞扫描寻找环境中的弱点或问题,并基于扫描的结构生成报告。