渗透测试的目的_渗透测试为什么搭建环境

hacker|
121

什么是渗透测试?如何做渗透测试?

渗透测试,是为了证明 *** 防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的 *** 策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找 *** 系统安全漏洞的专业人士。

渗透测试一定要遵循软件测试基本流程,要知道测试过程和目标特殊,在具体实施步骤上主要包含以下几步:

1、明确目标

当测试人员拿到需要做渗透测试的项目时,首先确定测试需求,如测试是针对业务逻辑漏洞,还是针对人员管理权限漏洞等;然后确定客户要求渗透测试的范围,如ip段、域名、整站渗透或者部分模块渗透等;最后确定渗透测试规则,如能够渗透到什么程度,是确定漏洞为止还是继续利用漏洞进行更进一步的测试,是否允许破坏数据、是否能够提升权限等。

2、收集信息

在信息收集阶段要尽量收集关于项目软件的各种信息。比如:对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只要掌握目标程序足够多的信息,才能更好地进行漏洞检测。

信息收集的方式可分为以下2种:主动收集、被动收集。

3、扫描漏洞

在这个阶段,综合分析收集到的信息,借助扫描工具对目标程序进行扫描,查找存在的安全漏洞。

4、验证漏洞

在扫描漏洞阶段,测试人员会得到很多关于目标程序的安全漏洞,但这些漏洞有误报,需要测试人员结合实际情况,搭建模拟测试环境对这些安全漏洞进行验证。被确认的安全漏洞才能被利用执行攻击。

5、分析信息

经过验证的安全漏洞就可以被利用起来向目标程序发起攻击,但是不同的安全漏洞,攻击机制不同,针对不同的安全漏洞需要进一步分析,制定一个详细的攻击计划,这样才能保证测试顺利执行。

6、渗透攻击

渗透攻击实际是对目标程序进行的真正攻击,为了达到测试的目的,像是获取用户账号密码、截取目标程序传输数据等。渗透测试是一次性测试,在攻击完成后能够执行清理工作。

7、整理信息

渗透攻击完成后,整理攻击所获得的信息,为后边编写测试报告提供依据。

8、编写报告

测试完成之后要编写报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。

渗透测试一定要在生产环境上进行吗?如果是,为什么?

具体的渗透测试时间其实跟项目进度安排高度相关,如果项目进度紧,一般建议在系统功能基本开发完成,可以在SIT阶段就开始测试,尽早发现问题有时间进行修改。

如果项目时间比较充分的,可以甚至可以在Staging环境中再进行渗透测试,这样测试效果更接近实际运行环境。

测试需要自己搭建测试环境吗?

需要。

1)从岗位职责的要求上,一般测试人员要能够搭建基本的测试环境。软件测试的基础知识,你可以看黑马程序员视频

2)如果是常规的,通用的基础环境要求能够自行搭建,比如WAMP这种。如果公司对于环境有特殊要求,那么要能够根据公司提供的相应的文档资料,操作说明,进行环境的搭建。

3)对于较为复杂的环境问题,在工作中可以向开发和运维人员进行适当求助。

渗透测试的基本流程

渗透测试的基本流程如下:

步骤一:明确目标。

1、确定范围:规划测试目标的范围,以至于不会出现越界的情况。

2、确定规则:明确说明渗透测试的程度、时间等。

3、确定需求:渗透测试的方向是web应用的漏洞?业务逻辑漏洞?人员权限管理漏洞?还是其他,以免出现越界测试。

步骤二:信息收集。

1、基础信息:IP、网段、域名、端口。

2、系统信息:操作系统版本。

3、应用信息:各端口的应用,例如web应用、邮件应用等等。

4、版本信息:所有探测到的东西的版本

5、人员信息:域名注册人员信息,web应用中网站发帖人的id、管理员姓名等。

步骤四:漏洞验证。

将上述中发现有可能可以成功利用的全部漏洞都验证一遍,结合实际情况搭建模拟环境进行实验,成功后再引用于目标。

自动化验证:结合自动化扫描工具提供的结果。

手工验证:根据公开的资源进行手工验证。

试验验证:自己搭建模拟环境进行验证。

登录猜解:可以尝试一下登录口的账号密码的发现。

什么是渗透测试:

渗透测试,是为了证明 *** 防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的 *** 策略,换句话说,就是给你的系统安了一双眼睛。

换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定 *** 进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给 *** 所有者。 *** 所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。

渗透测试流程

渗透测试是什么?

渗透测试,是为了证明 *** 防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的 *** 策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找 *** 系统安全漏洞的专业人士。

渗透测试流程是怎样的?

步骤一:明确目标

1、确定范围:规划测试目标的范围,以至于不会出现越界的情况。

2、确定规则:明确说明渗透测试的程度、时间等。

3、确定需求:渗透测试的方向是web应用的漏洞?业务逻辑漏洞?人员权限管理漏洞?还是其他,以免出现越界测试。

步骤二:信息收集

1、基础信息:IP、网段、域名、端口

2、系统信息:操作系统版本

3、应用信息:各端口的应用,例如web应用、邮件应用等等

4、版本信息:所有探测到的东西的版本

5、人员信息:域名注册人员信息,web应用中网站发帖人的id、管理员姓名等

6、防护信息:试着看能否探测到防护的设备,像有没有CDN、waf等

步骤三:漏洞探索

利用上一步中列出的各种系统、应用等等,使用响应的漏洞

*** :

1、漏扫、awvs、IBM appscan等

2、结合漏洞去exploit-db等位置找利用

3、在网上寻找验证poc

步骤四:漏洞验证

将上述中发现有可能可以成功利用的全部漏洞都验证一遍,结合实际情况搭建模拟环境进行实验,成功后再引用于目标。

自动化验证:结合自动化扫描工具提供的结果

手工验证:根据公开的资源进行手工验证

试验验证:自己搭建模拟环境进行验证

登录猜解:可以尝试一下登录口的账号密码的发现

业务逻辑漏洞:如发现业务逻辑漏洞,进行验证

步骤五:信息分析

为下一步实施渗透做准备

1、精准打击:准备好上一步探测到的漏洞的exp,用来精准打击

2、绕过防御机制:是否有防火墙等设备,如何绕过

3、定制攻击路径:更佳工具路径,根据薄弱入口,高内网权限位置,最终目标

4、绕过检测机制:是否有检测机制,流量监控,杀毒软件 ,恶意代码检测等(免杀)

5、攻击代码:经过试验得来的代码,包括不限于XSS代码,SQL注入语句等

步骤六:获取所需

1、实施攻击,根据前几步的结果,进行攻击

2、获取内部信息:基础设施( *** 连接,vpn,路由,拓扑等)

3、进一步渗透:内网入侵,敏感目标

4、持续性存在:一般我们对客户做渗透不需要,但真实的环境中,我们会做rookit、后门,添加管理账号。驻扎手法。

5、清理痕迹:清理相关日志(访问,操作),上传文件等

步骤七:信息整理

1、整理渗透工具:整理渗透过程中用到的代码,poc、exp等

2、整理收集信息:整理渗透过程中收集到的一切信息

3、整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱的位置信息

(为了形成报告,形成测试结果使用)

步骤八:形成报告

1、按需整理:按照之前之一步跟客户确定好的范围和需求来整理资料,并将资料形成报告

2、补充介绍:要对漏洞成因、验证过程和带来的危害进行分析

3、修补建议:当然要对所有产生的问题提出合理高效安全的解决办法

0条大神的评论

发表评论