如何对系统进行渗透测试(渗透测试及渗透测试操作流程)

一、渗透测试与入侵的最大区别:

  • 渗透测试:出于保护系统的目的,更全面地找出测试对象的安全隐患。
  • 入侵:不择手段地(甚至是具有破坏性的)拿到系统权限。

二、一般渗透测试流程

如何对系统进行渗透测试(渗透测试及渗透测试操作流程)(1)

2.1 明确目标

  • 确定范围:测试目标的范围,IP,域名,内外网
  • 明确规则:能渗透到什么程度,时间,能否修改上传,能否提权等。
  • 确定需求:web应用的漏洞(新上线程序),业务逻辑漏洞(针对业务的),人员权限管理漏洞(针对人员、权限)等。

2.2 信息收集方式:主动扫描,开放搜索等开放搜索:利用搜索引擎获得后台、未授权页面、敏感url等。

  • 基础信息:IP,网段,域名,端口
  • 系统信息:操作系统版本
  • 应用信息:各端口的应用,例如web应用,邮件应用等
  • 版本信息:所有这些探测到的东西的版本
  • 人员信息:域名注册人员信息,web应用中网站发帖人的id,管理员姓名等。
  • 防护信息:试着看能否探测到防护设备

2.3 漏洞搜索利用上一步中列出的各种系统、应用等相应的漏洞。** 方法:**

  1. 漏洞扫描,awvs,IBM appscan等。
  2. 结合漏洞去exploit-db等位置找利用
  3. 在网上寻找验证poc

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

2.5 信息分析为下一步实施渗透做准备

2.6 获取所需

  1. 实施攻击:根据前几步的结果,进行攻击
  2. 获取内部信息:基础设施(网络连接,VPN,路由,拓扑等)
  3. 进一步渗透:内网入侵,敏感目标
  4. 持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
  5. 清理痕迹:清理相关日志(访问操作),上传文件等。

2.7 信息整理

  1. 整理渗透工具:整理渗透过程中用到的代码,poc,exp等
  2. 整理收集信息:整理渗透过程中收集到的一切信息
  3. 整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息** 目的:为了最后形成报告,形成测试结果使用。**

2.8 形成报告

  • 按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
  • 补充介绍:要对漏洞成因,验证过程和带来危害进行分析
  • 修补建议:当然要对所有产生的问题提出合理高效安全的解决办法

2.9 流程总结

如何对系统进行渗透测试(渗透测试及渗透测试操作流程)(2)

三、网安相关术语3.1 黑盒测试在未授权的情况下,模拟黑客的攻击方法和思维方式,来评估计算机网络系统可能存在的安全风险。黑盒测试不同于黑客入侵,并不等于黑站。黑盒测试考验的是综合的能力(OS、Datebase、Script、code、思路、社工)。思路与经验积累往往决定成败

3.2 白盒测试相对黑盒测试,白盒测试基本是从内部发起。白盒测试与黑盒测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片断,也能够与单位的其它员工(销售、程序员、管理者……)进行面对面的沟通。

3.3 黑白盒的另外一种说法知道源代码和不知道源代码的渗透测试。这时,黑盒测试还是传统的渗透测试,而白盒测试就偏向于代码审计。

3.4 APT攻击Advanced Persistent Threat,高级可持续性攻击,是指组织(特别是政府)或者小团体利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。特点:

  • 极强的隐蔽性
  • 潜伏期长,持续性强
  • 目标性强

附操作流程:

1.1. 测试活动实施流程1.1.1. 实施流程图1.1.2. 确定测试范围

目的

确定Web应用测试范围

描述

根据Web应用的入口,结合后台应用接口的URL来确定Web应用的测试范围。例如http://example.com/下所有可到达功能点。

步骤

1. 分析测试范围内容:

1) 分析Web应用系统各应用入口及入口类型,主体业务功能。

2. 确定测试范围:

1) 被测系统物理子系统名称、所属部门信息、各产品应用入口、被测环境类型等信息。

2) 根据本次测试的目的,确定从应用入口开展全范围测试,还是测试其中部分业务功能或部分测试项。

实施要求

1. 测试范围应清晰明确,提供给测试人员的应用入口可直接访问。

1.1.3. 准备测试环境

目的

准备测试执行所使用的环境,提供测试账号。

描述

确保渗透测试范围涉及的功能完备可用、业务流畅,含有必要的铺底数据。准备多个不同权限,不同种类,不同机构的测试账号。

步骤

1. 准备功能完善,业务执行流畅的测试环境。关键交易与敏感功能上应具有相应的铺底数据,可以模拟实际使用场景。

2. 依据实际使用场景,准备不同权限级别的若干个账号,保证每一级别权限有一个账号可使用。如果不同机构、不同种类的账号业务功能有区别,则需准备不同机构、不同种类的账号。如果在生产环境中测试实施,提供测试使用的号,或由渗透测试人员自行注册。

实施要求

1. 测试环境功能完善,业务流畅,具有一定铺底数据。

2. 提供若干不同权限级别的测试账号。

指南

1.1.4. 渗透测试实施

目的

针对测试范围内的各功能点、安全机制进行相应的安全性测试,以发现其中安全漏洞与风险。

描述

测试执行人员针对系统特征分析测试要点,结合常见安全检测项开展测试实施工作,尝试发现应用的安全漏洞和风险。

步骤

1. 访问被测Web应用的功能,确认应用功能正常。

2. 分析系统特征,结合常见安全漏洞开展针对性测试。

1) 认证类:如弱口令、暴力破解等认证相关漏洞,一般攻击面在注册、登录、修改密码和重置密码等功能。

2) 授权类:如未授权访问、越权等漏洞,各种功能均需验证是否存在此类漏洞。

3) 会话管理类:如会话登出不失效、会话漏洞、跨站请求伪造等,应用的会话机制,会话令牌管理功能等需重点关注。

4) 输入验证类:如SQL注入、XSS、XXE等注入类漏洞,对各种输入的功能均需验证。

5) 信息泄露类:如敏感信息泄露、敏感信息弱加密、注释与备份中泄露信息,需对应用功能、页面前端代码等进行检测。

6) 命令/代码执行类:如命令执行、反序列化漏洞,需对接口的后台处理、所使用的框架组件进行检测。

7) 业务逻辑类:如支付绕过、短信炸弹、验证码失效、文件上传等漏洞,对重点业务逻辑进行检测。

8) 其他相关安全风险与漏洞的测试。

3. 编写测试结果,针对发现的漏洞,说明漏洞严重程度、漏洞位置、测试详细步骤、漏洞修复建议等信息。

4. 开发人员根据漏洞详情开展漏洞的整改。

5. 渗透测试人员进行复测,并记录复测过程。

实施要求

1. 测试充分性要求。参考《渗透测试检查基线》中各测试项的测试要点开展测试。对于不适用于本次测试的测试项在测试报告中说明,根据实际情况,如果存在其他新增测试项,在测试报告中补充。

2. 测试规范及注意事项:

1) 测试注入类漏洞,能证明可读取数据即可,如果为生产环境中测试,严禁读取生产环境表内数据。

2) 生产环境中测试,验证越权/未授权访问类漏洞时,严禁进行批量读取数据。

3) 生产环境中测试不能影响线上正常用户,不能越权增删改真实账号,需使用自行注册的账号或项目组提供的测试帐号开展测试。

4) 生产环境中测试存储型XSS漏洞,应使用不影响其他用户的测试payload。

5) 生产环境中测试,如果可以执行shell或者命令执行,推荐上传一个文本证明,如纯文本的1.php、1.jsp等证明问题存在即可。

6) 生产环境中短信/邮件使用内部账号,测试环境中的短信/邮件功能如果会真实发送短信/邮件,也需使用内部账号。

7) 生产环境禁止使用扫描器。

8) 禁止使用社会工程学开展内部测试,禁止开展DOS攻击测试。

3. 测试结果漏洞命名定级规范,参照《银行互联网渗透测试指南》(JR/T0232—2021)中银行互联网渗透测试漏洞风险定级参考开展定级。

银行互联网渗透测试指南:下面的路径是

https://max.book118.com/html/2022/0507/7050016101004120.shtm

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页