通用测试框架流程

通用测试框架流程分为10个过程,分别是:
1.范围界定 2.信息搜集 3.目标识别 4.服务枚举 5.漏洞映射
6.社会工程学 7.漏洞映射 8.权限提升 9.访问维护 10.文档报告

1.范围界定

(1)取得授权
接到项目后跟客户确定范围,如果在测试范围之内就是合法授权的
(2)测试对象是什么
比如测试的是哪个IP段、哪个网址、哪些资产、哪些域名
(3)应当采取何种测试方法
比如黑盒或者是白盒,包括里面的具体手段,例如:扫描、手工等
(4)在测试过程中需要满足的条件
这里也包括一些限制条件等
(5)哪些因素可能会限制测试执行的过程
是否需要连接公司的内网且能否连接到公司的内网可能直接影响到整个测试工作的展开
假如登录公司内网就只弹出登录页面,如果提供登录账号就用提供的登录账号登录,如果不提供也可以自己手工注册一个登录账号
(6)需要多久才能完成测试
某一天的某一个时间段,或者几个月甚至半年都有可能的
(7)此次测试应当达成什么样的任务目标
比如直接进入到内网,提权等
如果真的“”杀入“”到内网后,要确定内网的资产是否在我们的范围内

2.信息搜集

主要搜集的信息包括:DNS服务器、路由关系、whois数据库、电子邮件地址、电话号码、个人信息、用户账户等。
其中电子邮件、电话号码、个人信息、用户账户这些信息可以尝试登录页面。
在信息搜集的过程中,可以看github上有没有源码泄露。
也有很多人在开发的时候为了控制代码的版本,会把它同步到某一个地方去,如果知道了同步的地址也可以下载到本地,拿到代码后就可以进行进一步的代码审计了。
搜集的信息越多,渗透测试的成功率就会越高。

3.目标识别

(1)哪些设备在线
首先要确定设备是否在线
(2)如何去访问
确认资产如何去访问。
一般大的企业网络比较复杂会分很多区域,比如我们在A区,资产在B区,这时要确认如何去访问B区。
要确认是直接通过WIFI访问或者是通过网线去访问,如果通过wifi去访问,要考虑我们是否需要认证、准入、流控等。
是否能访问目标系统

4.服务枚举

(1)端口
要确认开放了哪些端口,还有端口上运行的服务及详细版本。
我们通常认为80端口上运行的服务是web服务,但是80端口上也可以走其他服务,比如:ssh,telnet等,所以说在确定端口的同时,还要看端口上运行的服务。
(2)遇到Web服务要确定什么
技术架构: windows、linux
web容器: apache、IIS、nginx等
开发语言及框架的版本: 比如目标系统使用的是php的开发语言,但使用的框架joomls或者其他框架,这些开发框架因为都是开源的,有些特定的版本存在漏洞,这就是识别框架的目的。
前后端分离、站库分离: 前后端分离通常是前端在一个服务器上,后端在一个服务器上,文件在一个服务器上,数据在一个服务器上。

5.漏洞映射

查找、分析目标系统中存在的漏洞
(1)查找漏洞
(2)漏洞扫描
有主动扫描、被动扫描、工具扫描、手动验证扫描

6.社会工程学

社会工程学就是“”欺骗的艺术“”
可以伪装成网络管理员,通过电话要求用户提供自己的账户信息;
发送钓鱼邮件劫持用户的银行账户;
诱使某人出现在某个地点等;

7.漏洞利用

在发现系统漏洞后,就可以用已有的漏洞利用程序对目标系统进行渗透。审计人员可以把客户端漏洞利用程序和社会工程学进行结合,进而控制目标系统。这个阶段的主要任务是控制目标系统。这个流程可以分为散步,涉及攻击前、攻击、和攻击后的相关行动。

8.权限提升

利用完漏洞进入后,用户可能是访问权限,这时我们就要提升权限到控制权限。

9.访问维护

(1)埋藏后门
(2)隧道技术

10.文档报告

在渗透测试的最后一个环节里,审计人员要记录、报告并现场演示哪些已经识别、验证和利用了的安全漏洞。在被测单位的管理和技术团队会检查渗透时使用的方法,并根据这些文档修补所有存在的安全漏洞。所以从道德角度来看,文档报告的工作十分重要。为了帮助管理人员和技术人员共同理解、分析当前IT基础架构中的薄弱环节,可能需要给不同的部门写不同措辞的书面报告

上面我们讲的是通用测试框架流程,基本适用于所有情况。
接下来讲的是简化渗透测试流程

简化渗透测试流程渗透测试方法论(渗透过程)

黑客攻击的一般过程

渗透测试方法论(渗透过程)

相关文章: