本文最后更新于:2020年9月27日 晚上

渗透测试流程

1、专用术语介绍

​ 1.脚本(asp、php、jsp)

​ 2.html (css、js、html)

​ 3.HTTP协议

​ 4.CMS (B/S)

​ 5.MD5

​ 6.肉鸡、抓鸡、跳板

​ 7.一司话木马、小马、大马

​ 8.webshell、提权、后门

​ 9.源码打包、脱裤

​ 10.嗅探、rookit

2、渗透测试实施流程

渗透测试

模拟恶意黑客的思维方式、技术手段、攻击方法,对计算机网络信息系统进行安全评估的一种测试方法。

渗透测试项目

渗透测试人员在获得授权的情况下,在不同的位置(内网、外网等)利用各种手段对某个特定网络信息系统进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给系统所有者。

3、渗透测试实施流程

渗透测试评估对象

技术缺陷

管理漏洞

业务流程缺陷

人员意识不足

……

4、渗透测试注意事项

合法

得到信息系统运营方的正式授权

得到监管机构的授权

避免影响业务

选择测试方法中避免使用具备破坏性的测试方法

选择非业务高峰时段进行测试

在与生产系统相同的开发、测试等环境中进行测试

考虑风险规避

风险处理计划

备份及恢复

一切都在控制之下,不会对系统造成危害!

5、渗透测试优势和不足

优势

一般在真实生产环境或完全模拟真实生产环境上进行测试,因此发现的问题都是真实的

从攻击者角度进行测试,发现问题可能不被重视甚至不认为是问题,但对于攻击者却很有价值

不足

测试只能达到有限的测试点,覆盖率较低

对测试人员能力有较高要求,技术、知识和经验很重要

不同能力测试人员测试的效果差异巨大

6、渗透测试分类

按测试方式

黑盒:模拟对信息系统完全没有了解的攻击者,例如外部攻击者(恶意黑客、竞争对手等)

白盒:模拟对系统非常了解的内部攻击者,例如内部人员、商业间谍等

灰盒:模拟对系统有一定了解的攻击者,例如合作第三方等

按测试位置

外网测试

内网测试

按测试对象:

主机操作系统渗透

数据库系统渗透

应用系统渗透

网络设备渗透

7、渗透测试黑盒测试

测试目的

应对来自外部攻击的能力

测试内容

未经许或遗漏的外部访问接口、服务

缺乏管理的外部访问接口、服务

信息系统中可被外部利用的缺陷,包括技术缺陷、管理缺陷、业务流程缺陷等

外部服务应对攻击的性能

可能存在的信息泄露

可能存在的数据篡改

可能存在的外部欺诈

……

8、渗透测试白盒测试

测试目的

应对内部专业人员攻击的能力

测试内容

未经许或遗漏的内部可访问服务及功能

缺乏管理的内部可访问接口、服务

内部访问控制缺失的情况

信息系统中可被内部人员利用的缺陷,包括技术缺陷、管理缺陷、业务流程缺陷等

可能存在的信息泄露

可能存在的数据篡改

可能存在的外部欺诈

……

9、渗透测试灰盒测试

测试目的

应对来自合作方或内部人员攻击的能力

测试内容

与白盒测试类似,但对系统了解程度不及白盒测试人员

10、实施流程

shentou1

11、项目启动-测试相关事项沟通

测试对象、范围

生产环境&测试环境

业务系统本身、关联系统、依赖系统

技术评估、管理评估

物理安全、网络安全、操作系统安全、应用系统、数据库、业务流程

测试方式

黑盒、白盒、灰盒

是否包括破坏性测试,例如DoS、缓冲区溢出

是否包括社工测试等

测试时间、地点

测试起止时间

测试时间段,例如仅允许在非业务办理时间段内等

其他需要沟通的测试相关

12、项目启动

获得正式授权

授权书:用户方正式盖章的授权书或其他形式

测试授权文件包括以下内容

测试时间:开始、结束时间,允许测试的时间端

测试地点:允许进行测试的地点,例如测试使用IP

测试方式:允许或限制的测试方式,例如不允许进行拒绝服务类测试等

测试对象、范围:允许测试的目标对象,例如IP地址段、域名等

签署保密协议

保密范围、对象等

13、项目准备

编写测试方案

项目启动阶段沟通内容形成测试方案

与相关方沟通达成一致

方案汇报或评审

如需要进行方案汇报或评审,需要准备方案交流汇报的幻灯片

14、项目准备-测试工具准备

信息收集

端口扫描

漏洞扫描

域名解析

信息调查

口令破解

漏洞利用

Sqlmap

Burpsuite

Metasploit

集成工具

kali linux

悬剑

15、项目准备-编写应急方案

充分考虑测试可能存在的风险

制定风险处置措施,避免或降低测试可能带来的损失

编写应急预案并与相关方确认

执行应急预案

16、测试实施-信息收集

了解目标对象的过程

信息收集方式

扫描

​ 端口扫描

​ 漏洞扫描

公开信息

​ 搜索引擎

​ 网站、论坛

​ 媒体报道

其他方式

​ 社工

​ ……

17、测试实施-脆弱性测试

工具测试(漏洞扫描)

优点:高效、方便、测试内容全面

不足:存在误报、漏报等情况

测试方式

漏洞扫描,通用脆弱性测试方式,高效、方便,能发现各类通用漏洞

特定漏洞扫描:针对特定类型漏洞或特定漏洞

手工测试

漏洞测试(例如SQL注入测试)

错误反馈

错误配置

……

18、测试实施-问题验证

对脆弱性测试中发现的问题进行验证

对漏洞进行利用以发现问题(非破坏性漏洞)

对漏洞存在环境进行验证(破坏性漏洞)

​ 漏洞存在的环境是否符合目标对象情况

​ 漏洞测试方式是否存在误报可能

​ 是否有另外方式进行验证是否存在漏洞

19、测试实施-关联数据搜集

脆弱性利用数据

利用工具、代码(exploit)

脆弱性测试工具

脆弱性防御工具

补丁、升级版本

防护软件

20、测试报告-测试数据

保留测试过程证据

扫描原始记录(工程文件)

操作记录

保留测试结果证据

测试结果截屏(录屏)

获取到的文件等非破坏性证据

21、报告-汇总问题并提供解决建议

对测试数据进行汇总分析

问题类型

严重程度

关联数据

提供解决措施

补丁

防火墙策略

关闭服务··

权限调整

……

22、测试汇报-测试报告及幻灯片

编写测试报告

整理测试相关数据,编制渗透测试报告

测试报告与相关方沟通达成一致

编写项目汇报幻灯片

23、测试汇报-测试报告格式

项目背景

测试目标系统现状

测试相关操作

​ 技术测试

​ 管理测试

测试实施

​ 测试方式、测试时间、测试地点、测试团队、测试工作流程等

问题说明

​ 解决措施建议

​ 给出一个或多个可供选择的参考

24、渗透测试中的风险规避

为什么要进行风险规避

渗透测试是模拟攻击,在测试过程中存在对测试对象保密性、可用性和完整性的影响,在项目中应采取主动措施以避免或降低由于测试带来的相关风险

风险规避是一种有效的风险管理方式

了解渗透测试中的风险,在确定项目目标、项目范围、测试方式等时考虑相关风险

对渗透测试方案进行评审

测试实施过程中也应关注测试对象状况以规避风险

25、渗透测试中的风险规避方法

放弃或终止可能导致风险的实施活动,例如

扫描时关闭DDoS类测试

不进行缓冲区溢出类测试

……

改变实施活动的性质,例如

风险较高的测试在测试环境而非生产环境中进行

对数据进行备份避免测试导致数据丢失

……

26、风险规避措施

授权措施

保密措施

方案评审

人员

时间

范围

测试方式

测试工具

备份

27、风险规避措施-授权

合法: 避免法律风险

正式授权是风险规避渗透测试实施的前提

合规:明确合规性操作内容

是否在授权范围内操作是风险责任判定依据

28、风险规避措施-保密

保密协议

​ 依托法律手段避免数据泄露

数据保护

​ 测试环境

​ 测试数据

​ 对真实生产数据进行脱敏后用于测试环境

​ 按业务规则构造的仅用于测试的虚拟数据

29、风险的规避-方案评审

依托流程和专家经验确保渗透测试方案合理

​ 合格的渗透测试人员

​ 授权的时间

​ 授权地点

​ 授权的范围

​ 授权的方式

​ 合规的工具

30、风险规避措施-备份

系统备份

数据备份

提高系统的可用性和可恢复性,在系统崩溃时,可以利用备份恢复系统或数据

图片1


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

初学nmap(1) 上一篇
nisp(6)应用与数据安全 下一篇