渗透

news/2024/10/18 15:01:24/文章来源:https://www.cnblogs.com/pppppx/p/18326947

渗透测试

一、简介

渗透测试(Penetration Testing)是一种通过模拟攻击的技术与方法,挫败目标系统的安全控制措施并获得控制访问权的安全测试方法。

​ 网络渗透测试主要依据CVE(Common Vulnerabilities and Exposures,通用漏洞与披露)已经发现的安全漏洞,模拟入侵者的攻击方法对网站应用、服务器系统和网络设备进行非破坏性质的攻击性测试。

1.目的

​ 侵入系统获取机密信息,并将入侵的过程和细节产生报告提供给用户,由此确定用户系统存在的安全威胁,并能提醒安全管理员完善安全策略,降低安全风险。

2.原则

  • 应选择不影响业务系统正常运行的攻击方法
  • 合规性:应符合测试规范和法律要求

二、分类

1.根据渗透测试方法分类

  • 黑盒测试:将测试对象看作一个黑盒子,完全不考虑测试对象的内部结构和内部特性。
  • 白盒测试:把测试对象看作一个打开的盒子,测试人员依据测试对象内部逻辑结构相关信息,设计或选择测试用例。
  • 灰盒测试:介于白盒与黑盒之间,是基于对测试对象内部细节有限认知的软件测试方法。

2.根据渗透测试的位置分类

  • 内网渗透:模拟客户内部违规操作者的行为,在内网中对目标进行渗透测试。
  • 外网渗透:模拟对内部状态一无所知的外部攻击者的行为(包括对网络设备的远程攻击、口令管理安全性测试、防火墙规则试探与规避、Web及其他开放应用服务的安全性测试等),从外网对目标进行渗透测试。

3.根据渗透测试目标分类

  • 主机操作系统渗透:对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。
  • 数据库系统渗透:对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2Access等数据库应用系统进行渗透测试。
  • 应用系统渗透:对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的WWW应用进行渗透测试。
  • 网络设备渗透:对各种防火墙、入侵检测系统、路由器、交换机等网络设备进行渗透测试。

4.针对Web服务体系架构的渗透测试

  • 服务器渗透测试:对服务器自身的安全性(如操作系统、数据库是否存在弱口令等)进行检测。
  • 中间件渗透测试:对Apache、IIS、Tomcat、Nginx等Web中间件的漏洞(如配置缺陷、文件解析、反序列化漏洞等)进行检测。
  • Web应用渗透测试:对CMS、Blog等Web应用程序的漏洞(如SQL注入、XSSCSRF、文件上传与解析、文件包含、命令执行等)进行检测。
  • 业务逻辑渗透测试:对业务逻辑安全性(如验证逻辑问题、会话管理问题、权限控制问题等)进行检测。

三、渗透测试标准与执行流程

1.PTES(Penetration Testing Execution Standard,渗透测试执行标准)

​ 《渗透测试执行标准》(PTES :Penetration Testing Execution Standard)的核心理念是通过建立起进行渗透测试所要求的基本准则基线,来定义一次真正的渗透测试过程,并得到安全业界的广泛认同。

2.执行流程

image-20240727143853708

  • 第一阶段——前期交互阶段

    ​ 在前期交互(Pre-Engagement Interaction)阶段,渗透测试团队与客户组织进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。
    ​ 该阶段通常涉及收集客户需求、准备测试计划、定义测试范围与边界、定义业务目标、项目管理与规划等活动。
    ​ 客户书面授权委托,并同意实施方案是进行渗透测试的必要条件。渗透测试首先必须将实施方法、实施时间、实施人员、实施工具等具体的实施方案提交给客户,并得到客户的相应书面委托和授权。应该做到客户对渗透测试所有细节和风险的知晓,所有过程都在客户的控制下进行。

  • 第二阶段——信息收集阶段

    ​ 信息收集是每一步渗透攻击的前提,通过信息收集可以有针对性地制定模拟攻击测试计划,提高模拟攻击的成功率,同时可以有效地降低攻击测试对系统正常运行造成的不利影响。

    ​ 信息收集的方法包括DNS探测、操作系统指纹判别、应用判别、账号扫描、配置判别等。信息收集常用的工具:
    ​ 商业网络安全漏洞扫描软件Nessus、开源安全检测工具Nmap等。

    ​ 操作系统内置的许多功能(Telnet、Nslookup、IE等)也可以作为信息收集的有效工具。

  • 第三阶段——威胁建模阶段

    ​ 威胁建模主要使用在信息收集分析阶段所获取到的信息,来标识出目标系统上可能存在的安全漏洞与弱点。
    ​ 在进行威胁建模时,将确定最为高效的攻击方法、所需要进一步获取到的信息、以及从哪里攻破目标系统。
    ​ 在威胁建模阶段,通常需要将客户组织作为敌手看待,然后以攻击者的视角和思维来尝试利用目标系统的弱点。

  • 第四阶段——漏洞分析阶段

    ​ 漏洞分析阶段主要是从前面几个环节获取的信息中分析和理解哪些攻击途径会是可行的。
    ​ 特别需要重点分析端口和漏洞扫描结果、攫取到的服务“旗帜”信息以及在信息收集分析环节中得到的其他关键信息。

  • 第五阶段——渗透攻击阶段

    ​ 渗透攻击主要是针对目标系统实施深入研究和测试的渗透攻击,并不是进行大量漫无目的的渗透测试。主要包括:

    • 精准打击

    • 绕过防御机制

    • 定制渗透攻击路径

    • 绕过检测机制

    • 触发攻击响应控制措施

    • 渗透代码测试

  • 第六阶段——后渗透攻击阶段

    ​ 后渗透攻击阶段从已经攻陷了客户组织的一些系统或取得域管理员权限之后开始,将以特定业务系统为目标,标识出关键的基础设施,并寻找客户组织最具价值和尝试进行安全保护的信息和资产,并需要演示出能够对客户组织造成最重要业务影响的攻击途径。主要包括:

    • 基础设施分析
    • 高价值目标识别
    • 掠夺敏感信息
    • 业务影响攻击
    • 掩踪灭迹
    • 持续性存在
  • 第七阶段——报告阶段

    ​ 报告是渗透测试过程中最为重要的因素,将使用报告文档来交流在渗透测试过程中做了哪些、如何做的,以及最为重要的一-客户组织如何修复你所发现的安全漏洞与弱点

四、渗透测试 vs APT(Advanced Persistent Threat,高级持续威胁)

1.目的

  • 渗透测试的目的是评估计算机网络系统的安全性
  • APT的目的是对高价值目标进行有组织、长期持续性的控制

2.手段方法

  • 渗透测试通过被允许的行为模拟黑客攻击来对目标系统进行测试“鱼叉”攻击
  • APT利用任何各种高技术手段(包括0day漏洞、“水坑”攻击、等)进行攻击

3.结果

  • 渗透测试提高了目标系统的安全级别
  • APT在达成目的的过程中一般会给目标系统带来严重损失

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

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

相关文章

学习Java的第四周

第四周的学习记录来喽,本周的重点就是之前提到过的判断和循环(其中包括流程控制语句的三种结构:顺序、分支、循环;顺序结构即Java程序的默认流程,分支结构学了if判断语句的三种格式、switch语句练习和扩展知识,循环结构学了for循环格式和练习、累加思想和统计思想、while…

idea在pom中引入第三方依赖

项目右侧点击maven,点击加号(鼠标放上去会出现add maven project字样) 找到要导入的项目的pom文件选中,ok(这里我以及导入过了,所以ok是灰色) 回到原项目中,在pom中添加dependency 其中,artifactId是导入进来的姓名的名字,groupId是导入进来的项目的java目录下的包名…

计算机组成与体系结构-cache

概念 Cache,高速缓冲存储器。是解决CPU与主存之间速度不匹配而采用的一项重要技术,位于主存与CPU之间,由静态存储芯片(SRAM)组成,容量比较小,Cache存储了频繁访问的内存数据命中率 CPU欲访问的信息已在Cache中的比率,设在一段程序执行期间cache完成存取次数为NC,主存完成…

《Programming from the Ground Up》阅读笔记:p88-p94

《Programming from the Ground Up》学习第5天,p88-p94总结,总计7页。 一、技术总结 1.touppercase.s #PURPOSE: This program converts an input file #to an output file with all letters #converted to uppercase.#PROCESSING: #(1)Open the input file #(2)Open the o…

计算机网络第三讲 数据链路层

计算机网络第三讲 数据链路层 第一节:数据链路层功能 1. 概述2. 数据链路层的功能封装成帧透明传输差错控制实现无比特差错 不是可靠传输 丢失,乱序,重复无法解决

计算机组成与体系结构-层次化存储体系

将数据分为多个层次进行存储,以最优的控制调度算法和合理的成本,构成具有性能可接受的存储系统. 解决两个矛盾采用层次化存储体系,可以通过平衡存储介质的速度和成本得到最佳的存储效用。解决了主存容量不足与高成本的矛盾、CPU与主存速度不匹配的矛盾存储器分类RAM,随机存…

计算机网络第一讲

计算机网络第一讲 计算机网络概述考点一 1. 计算机网络的定义2. 计算机网络的组成物理组成工作方式英特网中的服务 考研中只有 TCP是可靠服务,其他都是不可靠的 面向连接的服务只有1.TCP 2.PPP 其他所有均无连接有应答服务:1.TCP 2.CSMA/CA3. 计算机网络的特点 共享4. 计算机…

计算机组成原理基础第7讲 输入输出系统

计算机组成原理基础第7讲 输入输出系统2. 输入输出系统的组成考点二:I/O接口接口的功能和组成I/O接口的基本组成3. 接口类型4. 程序查询方式考点三:中断系统

ABC273F Hammer 题解

dp的本质是拓扑(),感觉可以套一个线段树优化建图搞到 nlogn,好喔ABC273F Hammer 题解 题目大意 数轴上有 \(n\) 个锤子和 \(n\) 堵墙,第 \(i\) 个锤子位于 \(x_i\),第 \(i\) 堵墙位于 \(y_i\),第 \(i\) 个锤子可以对应的敲开第 \(i\) 堵墙。以原点为起点,给定终点 \(t\…

一款.NET开源、跨平台的DASH/HLS/MSS下载工具

前言 今天大姚给大家分享一款.NET开源(MIT License)、免费、跨平台的DASH/HLS/MSS下载工具,并且支持点播和直播(DASH/HLS)的内容下载:N_m3u8DL-RE。 网络流媒体传输协议介绍 DASH DASH是一种基于HTTP的自适应流媒体网络传输协议,它允许流媒体内容以多个编码和比特率的形…

计算机组成与体系结构-主存编址

主存 存储器的基本单位是存储单元 一般以8位二进制(bit位)为一个存储单元(Byte 字节) 每个存储单元都有一个地址,一般用十六进制 数表示主存编址 编址 给每个单元赋予一个地址码,就叫编址。经编址后,存储器在逻辑上便构成一个线性地址空间。编址可以按字 或 字节编址 寻址 存…