渗透测试方法论

文章目录

  • 渗透测试方法论
    • 1. 渗透测试种类
      • 黑盒测试
      • 白盒测试
      • 脆弱性评估
    • 2. 安全测试方法论
      • 2.1 OWASP TOP 10
      • 2.3 CWE
      • 2.4 CVE
    • 3. 渗透测试流程
      • 3.1 通用渗透测试框架
        • 3.1.1 范围界定
        • 3.1.2 信息搜集
        • 3.1.3 目标识别
        • 3.1.4 服务枚举
        • 3.1.5 漏洞映射
        • 3.1.6 社会工程学
        • 3.1.7 漏洞利用
        • 3.1.8 权限提升
        • 3.1.9 访问维护
        • 3.1.10 文档报告
      • 3.2 渗透测试执行标准
        • 3.2.1 七个阶段
        • 3.2.2 主要特点优势
      • 3.3 简化渗透测试流程
      • 3.4 黑客攻击流程

渗透测试方法论

攻击与防御,攻击典型代表就是黑客入侵,非法的和渗透测试,合法的等工作。防御的典型代表等级保护、安全基线检查与加固、安全设备等。

渗透测试(penetration testing,pentest)是模拟黑客攻击,实施安全评估(即审计)的具体手段。方法论是在制定、实施信息安全审计方案时,需要遵循的规则、惯例和过程。人们在评估网络、应用、系统或三者组合的安全状况时,不断摸索各种务实的理念和成熟的做法,并总结了一套理论-渗透测试方法论。

关键词:

  • 安全弱点
  • 安全风险
  • 安全漏洞

渗透测试与红队(Red Team)不同:

红队是攻击队伍,想尽一切办法入侵目标系统。

渗透测试是尽可能的披露目标系统的安全弱点、风险、漏洞等,任何安全问题都不要放过。

渗透测试的目的是为安全加固,漏洞修复做准备

1. 渗透测试种类

黑盒测试、白盒测试和脆弱性评估

黑盒测试

  • 不清楚内部单位技术构造
  • 摸拟黑客攻击的过程
  • 漏洞评级
    • 高危
    • 中危
    • 低危
    • 信息级别

白盒测试

  • 获取被测单位全部资料或者有限资料
  • 代码审计(Fortify SCA工具)
  • 可以与应用的研发生命周期相结合(Security Development Lifecycle,SDL)

脆弱性评估

脆弱性评估通过分析企业资产面临安全威胁的情况和程度,评估内部和外部的的安全控制的安全性。这种技术上的信息系统评估,不仅揭露现有防范措施里存在的风险,而且要提出多重备选的补救策略,并将这些策略进行比较。内部的脆弱性评估可保证内部系统的安全性,而外部的脆弱性评估则是验证边界防护(perimeter defenses)的有效性。无论进行内部脆弱性评估还是进行外部脆弱性评估,评估人员都会采用各种攻击模式来严格测试网络资产的安全性,从而验证信息系统处理安全威胁的能力,进而确定应对措施的有效性。不同类型的脆弱性评估需要的测试流程、测试工具和自动化测试技术也不相同。这可以通过一体化的安全弱点管控(vulnerability management)平台来实现。现在的安全弱点管理平台带有可自动更新的漏洞数据库,能够测试不同类型的网络设备,而且不会影响配置管理和变更管理的完整性。
脆弱性评估和渗透测试两者最大的区别就是:渗透测试不仅要识别目标的弱点,它还涉及在目标系统上进行漏洞利用、权限提升和访问维护。换句话说,脆弱性评估虽然可以充分发现系统里的缺陷,但是不会考虑去衡量这些缺陷对系统造成的危害。另外,相比脆弱性评估,渗透测试更倾向于入侵,会刻意使用各种技术手段利用安全漏洞;所以渗透测试可能对生产环境带来实际的破坏性影响。而脆弱性评估以非入侵的方式,定性、定量得识别已知安全弱点。


关键点:

  • 黑盒测试=安全弱点、风险、漏洞的发现+漏洞利用+后渗透
  • 脆弱性评估=安全弱点、风险、漏洞的发现
  • 脆弱性评估的方法,包括漏同扫描,手工挖掘。

2. 安全测试方法论

开放式Web应用程序安全项目(Opeh Web Application Security Project,OWASP)

  • Web安全测试指南
  • OWASP WebGoat
  • OWASP TOP10国外
  • 2021 OWASP TOP 10 — OWASP-CHINA

2.1 OWASP TOP 10

d41b015104a98db3fdb1730749164b0

  • 1、失效的访问控制
用户越权
  • 2、加密机制失效
一个应用程序使用自动化的数据加密系统加密存储中数据库中的信用卡号。但是,这些数据在检索时会自动解密这就使得SQL注入漏洞以明文形式获得信用卡号。在账号登录时,密码以密文的形式存储防止管理员在数据维护的时候无意间造成密码泄露
  • 3、注入
SQL注入
  • 4、不安全的设计
业务逻辑漏洞
比如说:windows系统忘记密码的时候,设置了安全问题,只要安全问题答对了,就进入了系统
如果安全问题设置的都是关于家人问题,可以通过社工利用 得到安全问题答案
  • 5、安全配置错误
密码的四分之三原则:大小写字母,数字,特殊符号,四个占三个。
  • 6、自身缺陷和过失的组件
phpstudy后门漏洞
  • 7、身份识别和身份验证错误
密码爆破
自动化威胁 或 撞库攻击撞库(拿着QQ密码去登录苹果ID)
  • 8、软件和数据完整性故障
Java中使用外部类
不安全的反序列化
  • 9、安全日志和监控故障
系统日志问题
  • 10、服务端请求伪造
SSRF

2.3 CWE

通用缺陷列表(Common Weakness Enumeration,CWE)

漏洞类别的编号:

[CWE-78: Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’)](CWE-78: Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’))

CWE-89: Improper Neutralization of Special Elements used in an SQL Command (‘SQL Injection’)

CWE-352: Cross-Site Request Forgery (CSRF)

2.4 CVE

通用漏洞与披露(Common Vulnerabilities and Exposures,CVE)

国外的官网

尝试确定以下漏洞发生的组件名称、版本以及漏洞类型

CVE-2020-14882    Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.3,12.2.1.4,14.1.1.0。weblogic未授权远程命令执行漏洞CVE-2020-9484Apache Tomcat: 10.0.0-M1 to 10.0.0-M4  Apache Tomcat: 9.0.0.M1 to 9.0.34  Apache Tomcat: 8.5.0 to 8.5.54    Apache Tomcat: 7.0.0 to 7.0.103     Tomcat Session(CVE-2020-9484)反序列化漏洞CVE-2020-1938Apache Tomcat 9.x < 9.0.31Apache Tomcat 8.x < 8.5.51Apache Tomcat 7.x < 7.0.100Apache Tomcat 6.x任意文件读取漏洞CVE-2017-11882Microsoft Office 2007 Service Pack 3、Microsoft Office 2010 Service Pack 2、Microsoft Office 2013 Service Pack 1 和 Office 2016 Microsoft允许攻击者通过未能正确处理内存中的对象(也称为“Microsoft Office 内存损坏漏洞”)在当前用户的上下文中运行任意代码。

3. 渗透测试流程

3.1 通用渗透测试框架

从技术管理的角度来看,遵循正规的测试框架对安全测试极为重要。通用渗透测试框架涵盖了典型的审计测试工作和渗透测试工作会涉及到的各个阶段。

无论是进行白盒测试还是黑盒测试,选择和使用测试步骤都是测试人员的责任。在测试开始前,测试人员需要根据目标系统的实际环境和已掌握的相关目标系统的情况,再指定最佳的测试策略。

相关阶段如下:

范围界定
信息收集
目标识别
服务枚举
漏洞映射
社会工程学
漏洞利用
权限提升
访问维护
文档报告

3.1.1 范围界定

在开始技术性安全评估之间,务必要观察、研究目标环境的被测范围。同时还要了解,这个范围牵扯多少个单位,是单个单位还是多个单位会参与到安全评估的工作中来,在范围界定阶段,需要考虑的典型因素如下:

  • 确定目标
  • 取得授权:
  • 应当采取何种测试方法?
  • 有哪些在测试过程中需要满足的条件?
  • 哪些因素可能会限制测试执行的过程?
  • 需要多久才能完成测试?
  • 此次测试应当达成什么样的任务目标?
  • 是否是复测?

3.1.2 信息搜集

外围信息收集,非接触式信息收集。

在划定了测试范围之后,就需要进入信息收集阶段。在这个阶段,渗透人员需要使用各种公开资源尽可能地

获取测试目标的相关信息。他们搜集信息的互联网渠道主要有:

  • 论坛
  • 公告板
  • 新闻组
  • 媒体文章
  • 博客
  • 社交网络
  • github
  • 其他商业或非商业性的网站。

此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。收集的信息主要包括:

  • DNS服务器
  • 路由关系
  • whois数据库
  • 电子邮件地址
  • 电话号码
  • 个人信息
  • 用户账户

收集的信息越多,渗透测试成功的概率越高。

3.1.3 目标识别

这个阶段的主要任务是识别目标的网络状态、操作系统和网络架构。该阶段工作旨在完整地展现目标网络里各种联网设备或技术的完整关系,以帮助测试人员在接下来的工作里枚举目标网络的各种服务。

  • 扫IP。
  • 哪些设备在线?
  • 如何去访问?

3.1.4 服务枚举

这一阶段会根据前面各个阶段的成果,进一步找出目标系统中所有开放的端口。一旦找到了所有开放的端口,就可以通过这些端口来列出目标系统上运行的服务。主机上开放的端口都有相应的服务程序,对这些信息进行深度分析之后,可进一步发掘目标网络基础设施中可能存在的漏洞。

  • 扫端口。
  • 开放的端口。
  • 运行的服务。
技术架构
Web容器
开发语言以及框架
前后端分离

3.1.5 漏洞映射

可以根据已经发现的开放端口和服务程序,查找、分析目标系统中存在的漏洞。如果能够采用自动和手动这两种不同的测试方法结合起来,审计人员对目标系统的认知就会更为清晰、透彻,并能够仔细地检查任何已知和未知的漏洞。

  • 扫漏洞。
  • 漏洞挖掘:手工+工具。
  • FUZZ测试。

3.1.6 社会工程学

如果目标网络没有直接的入口,欺骗的艺术将起到抛砖引玉的重要作用。对目标组织中的人员进行定向攻击,很有可能帮助我们找到渗透目标系统的入口。例如,诱使用户运行安装存在后门的恶意程序,就可能为审计

人员的渗透工作形成突破。社会工程学渗透分为多种不同实现形式。

  • 伪装成网络管理员,通过电话要求用户提供自己的账户信息:
  • 发送钓鱼邮件来劫持用户的银行账户:
  • 诱使某人出现在某个地点。

在社会工程学中,达成同一既定目标的实现方式应有尽有。需要注意的是,在对目标实施欺骗以达成渗透目标之前,多数情况下需要长时间研究目标人员的心理。另外,在开展这个阶段的工作之前,您需要研究国内的法律是否有关于社会工程学的相关条款。

3.1.7 漏洞利用

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

3.1.8 权限提升

获取目标系统的痉制权是渗透成功的标识。接下来,工程师就可以根据其所拥有的访问权限,在被测系统中自由发挥。审计人员也可以使用适用于目标系统的本地漏洞来提升自己的权限。只要他们能够在目标系统上运行提权漏洞利用程序,就可以获得主机的超级用户权限或者系统级权限。工程师还可以以该主机为跳板,进一步攻击局域网络。根据之前渗透范围的界定(授权),审计人员接下来会开展的攻击可能是受限制的,也可能是不受限制。然后,他们很有可能个以各种方式获得与控制系统有关的更多信息。具体的说,他们可能是用嗅探手段截获网络数据包,破解各种服务的密码,在局域网络中使用网络欺骗手段。所以说,提升权限的最终目的是获得目标系统的最高访问权限。

3.1.9 访问维护

多数情况下,审计人员需要在一段时间内维护他们对目标系统的访问权限。例如,在演示越权访问目标系统的时候,安装后门将节省重新渗透目标系统所耗费的大量时间。这种情况下,访问维护将节约获取目标系统访问权限所需要的时间、花费和资源。审计人员可以通过一些秘密的通信隧道,在既定时间内维持对目标的访问权限。这些隧道往往基于特定协议、代理或者点对点方法的后门程序。这种对系统的访问方法可以清楚地展示,入侵人员在目标系统实施攻击时隐藏行踪的具体方法,

  • 埋藏后门。
  • 隧道技术。

3.1.10 文档报告

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

3.2 渗透测试执行标准

The Penetration Testing Execution Standard

渗透测试执行标准包含两个部分:PTES方法论:PTES技术指南。

这个标准有渗透测试7个阶段的标准组成,可以在任意环境中进行富有成果的渗透测试。

3.2.1 七个阶段

  • 事前互动
  • 情报搜集
  • 威胁建模
  • 漏洞分析
  • 漏洞利用
  • 深度利用
  • 书面报告

3.2.2 主要特点优势

它是非常全面的渗透测试框架,涵盖了渗透测试的技术方面和其他重要方面,如范围蔓延(scope creep)、报告,以及渗透测试人员保护自身的方法。

它介绍了多数测试任务的具体方法,可指导您准确测试目标系统的安全状态。

它汇聚了多名日行一“渗”的渗透测试专家的丰富经验。

它包含了最常用的以及很罕见的相关技术。

它浅显易懂,您可根据测试工作的需要对相应测试步骤进行调整。

3.3 简化渗透测试流程

简化的渗透测试流程是在进行渗透测试过程中经常使用的流程:

在这里插入图片描述

3.4 黑客攻击流程

  • 黑客攻击一般过程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DTT1Ie2b-1692715045191)(./1%E3%80%81%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%E6%96%B9%E6%B3%95%E8%AE%BA.assets/f2d9f32af695c1f479c755c1aaabdfb.png)]

  • C2攻击过程:

cc 攻击:dos攻击(拒绝服务攻击)的一种,模拟正常用户的流程

c2攻击:Command and Control 命令和控制(远程控制)

97e2b5c0bbacaf1ac5719774b890db0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[LitCTF 2023]Flag点击就送!

进入环境后是一个输入框&#xff0c;可以提交名字 然后就可以点击获取flag&#xff0c;结果回显提示&#xff0c;需要获取管理员 可以尝试将名字改为admin 触发报错&#xff0c;说明可能存在其他的验证是否为管理员的方式 通过抓包后&#xff0c;在cookie字段发现了 特殊的东西…

嵌入式系统入门实战:探索基本概念和应用领域

嵌入式系统是一种专用的计算机系统,它是为了满足特定任务而设计的。这些系统通常具有较低的硬件资源(如处理器速度、内存容量和存储容量),但具有较高的可靠性和实时性。嵌入式系统广泛应用于各种领域,如家用电器、汽车、工业控制、医疗设备等。 嵌入式系统的基本概念 微控…

实战项目 在线学院springcloud调用篇3(nacos,feging,hystrix,gateway)

一 springcloud与springboot的关系 1.1 关系 1.2 版本关系 1.3 list转json串 public class Test {public static void main(String[] args) {List<String> dataListnew ArrayList<String>();dataList.add("12");dataList.add("45");dataLi…

2023国赛数学建模思路 - 案例:退火算法

文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…

深入剖析Kubernetes之控制器模式的实现-Deployment

文章目录 Deployment Deployment Deployment 实现了 Kubernetes 项目中一个非常重要的功能&#xff1a;Pod 的“水平扩展 / 收缩”&#xff08;horizontal scaling out/in&#xff09;。这个功能&#xff0c;是从 PaaS 时代开始&#xff0c;一个平台级项目就必须具备的编排能力…

Idea配置Remote Host

一、打开RemoteHost窗口 双击shift打开全局搜索 搜索Tools→Deployment→Browse Remote Host或 idea项目顶部Tools→Deployment→Browse Remote Host 二、添加服务 右侧边栏打开RemoteHost&#xff0c;点击三个点&#xff0c;起个名字&#xff0c;选择type为SFTP&#xff…

使用Nacos与Spring Boot实现配置管理

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

直击成都国际车展:远航汽车多款车型登陆车展,打造完美驾乘体验

随着市场渗透率日益高涨&#xff0c;新能源汽车成为今年成都国际车展的关注焦点。在本届车展上&#xff0c;新能源品牌占比再创新高&#xff0c;覆盖两个展馆&#xff0c;印证了当下新能源汽车市场的火爆。作为大运集团重磅打造的高端品牌&#xff0c;远航汽车深度洞察高端智能…

速卖通产品权重打造,自养号补单技术策略

跨境电商市场的竞争确实很激烈&#xff0c;中小卖家要在速卖通上获得一席之地确实有一定难度。虽然补单可以提升销量和排名&#xff0c;但是目前的测评市场确实存在一些问题&#xff0c;选择一个成熟的服务商进行补单是非常重要的。 在选择服务商时&#xff0c;确保他们的技术…

尝试自主打造一个有限状态机(二)

前言 上一篇文章我们从理论角度去探索了状态机的定义、组成、作用以及设计&#xff0c;对状态机有了一个基本的认识&#xff0c;这么做有利于我们更好地去分析基于实际应用的状态机&#xff0c;以及在自主设计状态机时也能更加地有条不紊。本篇文章将从状态机的实际应用出发&am…

windows11不允许安装winpcap4.1.3

问题&#xff1a;下载安装包后在安装时显示与电脑系统不兼容&#xff0c;不能安装。 原因&#xff1a;winpcap是一个用于Windows操作系统的网络抓包库&#xff0c;有一些安全漏洞&#xff0c;存在被黑客攻击的风险。Windows11为了加强系统安全而禁用了这个库&#xff0c;因此不…

opencv/C++ 人脸检测

前言 本文使用的测试资源说明&#xff1a; opencv版本&#xff1a;opencv 4.6.0 人脸检测算法 Haar特征分类器 Haar特征分类器是一个XML文件&#xff0c;描述了人体各个部位的Haar特征值。包括&#xff1a;人脸、眼睛、鼻子、嘴等。 opencv 4.6.0自带的Haar特征分类器&…

2023中国算力大会 | 中科驭数加入DPU推进计划,探讨DPU如何激活算网融合新基建

8月18日&#xff0c;由工业和信息化部、宁夏回族自治区人民政府共同主办的2023中国算力大会在宁夏银川隆重召开。作为DPU算力基础设施领军企业&#xff0c;中科驭数产品运营部副总经理曹辉受邀在中国信通院承办的算网融合分论坛发表主题演讲《释放极致算力 DPU激活算网融合新基…

计算机竞赛 基于大数据的社交平台数据爬虫舆情分析可视化系统

文章目录 0 前言1 课题背景2 实现效果**实现功能****可视化统计****web模块界面展示**3 LDA模型 4 情感分析方法**预处理**特征提取特征选择分类器选择实验 5 部分核心代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据…

代码随想录算法训练营之JAVA|第三十八天|494. 目标和

今天是第38天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天。 算法挑战链接 494. 目标和https://leetcode.cn/problems/target-sum/ 第一想法 题目理解&#xff1a;题目给出一个数组&#xff0c;使用 或 - 算术符号&#xff0c;有多少种组合可以得到target的值。 拿…

【头歌】构建哈夫曼树及编码

构建哈夫曼树及编码 第1关:构建哈夫曼树 任务描述 本关任务:构建哈夫曼树,从键盘读入字符个数n及这n个字符出现的频率即权值,构造带权路径最短的最优二叉树(哈夫曼树)。 相关知识 哈夫曼树的定义 设二叉树具有n个带权值的叶子结点{w1,w2,...,wn},从根结点到每个叶…

FreeSWITCH 1.10.10 简单图形化界面4 - 腾讯云NAT设置

FreeSWITCH 1.10.10 简单图形化界面4 - 腾讯云NAT设置 0、 界面预览1、 查看IP地址2、 修改协议配置3、 开放腾讯云防火墙4、 设置ACL5、 设置协议中ACL&#xff0c;让PBX匹配内外网6、 重新加载SIP模块7、 查看状态8、 测试一下 0、 界面预览 http://myfs.f3322.net:8020/ 用…

关于事件回调机制

OVERVIEW 关于事件回调机制1.事件回调编程模式2.C中的事件回调编程模式函数指针回调函数对象回调 3.简单回调实例 关于事件回调机制 1.事件回调编程模式 当涉及到编程和软件开发时&#xff0c;事件回调是一种常见的编程模式。它用于处理异步事件和消息传递系统中的事件通知。 …

自然语言处理(一):词嵌入

词嵌入 词嵌入&#xff08;Word Embedding&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一种技术&#xff0c;用于将文本中的单词映射到一个低维向量空间中。它是将文本中的单词表示为实数值向量的一种方式。 在传统的文本处理中&#xff0c;通常使用独热编码&…

pytorch学习(8)——现有网络模型的使用以及修改

1 vgg16模型 1.1 vgg16模型的下载 采用torchvision中的vgg16模型&#xff0c;能够实现1000个类型的图像分类&#xff0c;VGG模型在AlexNet的基础上使用3*3小卷积核&#xff0c;增加网络深度&#xff0c;具有很好的泛化能力。 首先下载vgg16模型&#xff0c;python代码如下&…