总字符数: 17.24K

代码: 无, 文本: 14.25K

预计阅读时间: 1.03 小时

渗透测试流程PTES

信息、信息安全以及网络安全的基本概念

信息

1948年,数学家香农在题为”交流数学理论”的论文中指出:”信息是用来消除随机不确定性的东西.“,宇宙中所有事物的最基本的创造单位是信息.

  1. 信息:指音频、消息、通信系统中传输和处理的对象,是指人类社会传播的一切内容.(本身是无形的,可以寄存在纸张、大脑记忆、磁盘等.)

    • 信息的功能:它可以减少事物的不确定性.(可以理解为事物本身和外部环境的互动关系).
  2. 消息:消息用于广泛的应用中.新鲜事物被称为消息.(消息是信息的笼统概念,信息则是消息的精确概念.)

  3. 数据:数据是信息的符号表示或者称为载体;信息是数据的内涵,是数据的语义解释.(密码本身是一串数据无价值,但是赋予它某个平台,它就是一条有用的信息.)

信息技术

信息技术(Information Technology , IT),是用于管理和处理信息所采用的各种技术的总称.(一般用在计算机科学和通信技术来设计、开发、安装和实施信息系统及应用软件.)

信息技术的发展:

  • 第一阶段:电讯技术的发明(电磁技术的发展,贝尔(Bell)发明电话机)
  • 第二阶段:计算机技术的发展 (电子管计算机,主要运用于军事处理)
  • 第三阶段:互联网的使用(计算机网络发展成为全球性网络——因特网Internet)
  • 第四阶段:网络社会(云计算,物联网进入各行各业,与人类社会息息相关)

信息安全

信息安全就是信息本身的安全(无关乎是否应用了计算机作为信息处理的手段).

在网络基础上指信息网络的硬件、软件及其系统中的数据受到保护不受偶然的或者恶意的原因而遭到破坏、更改、泄露以及系统连续可靠正常地运行,信息服务不中断.

在商业经济领域上指信息的完整性,保密性,不可否认性等.

信息安全是一门涉及计算机科学、 网络技术、 通信技术、 密码技术、 信息安全技术、应用数学、数论、信息论等多种学科的综合性学科.

ISO(国际标准化组织)的定义为: 为数据处理系统建立和采用的技术、管理上的安全保护,为的是保护计算机硬件、软件、数据不因偶然和恶意的原因而遭到破坏(涉及可用性),更改(涉及完整性)和泄露(涉及机密性).

这里面既包含了层面的概念,其中计算机硬件可以看作是物理层面,软件可以看作是运行层面,再就是数据层面;又包含了属性的概念.

网络安全

网络安全(Cyber Security):网络系统的硬件、软件及系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、篡改、泄露,系统连续可靠正常地运行,网络服务不被中断。

网络安全和信息安全的区别

  1. 包含和被包含的关系:信息安全包含网络安全,信息安全还包括操作系统安全、数据库安全、硬件设备和设施安全、物理安全、人员安全、软件开发、应用安全等。

  2. 针对的设备不同:网络安全侧重于研究网络环境下的计算机安全,信息安全侧重于计算机数据和信息的安全。

  3. 侧重点不同:网络安全更注重在网络层面,比如通过部署防火墙、入侵检测等硬件设备来实现链路层面的安全防护,而信息安全的层面要比网络安全的覆盖面大的多,信息安全是从数据的角度来看安全防护。

通常采用的手段包括:防火墙、入侵检测、代码审计、渗透测试、风险评估等,安全防护不仅仅是在网络层面,更加关注的应用层面,可以说信息安全更贴近于用户的实际需求及想法

网络空间

网络空间具有网络安全威胁高隐蔽性、网络安全技术高密集性、网络安全控制地理区域不可限制性、网络安全防护时间不可区分性、网络攻防严重非对称性的特点。

2016年国家发布了《国家网络空间安全战略》

2017年6月1日实施《中华人民共和国网络安全法》

信息系统

信息系统是具有集成性的系统,每一个组织中信息流动的总和构成一个信息系统.是输入、处理、输出的综合体.

信息系统的安全分为:

  1. 设备安全
  2. 数据安全
  3. 内容安全(符合法律法规)
  4. 行为安全(强调的是软硬件工作)
  5. 过程的安全(保证系统的安全可控)

从安全模型理解信息系统安全

​ 本质上讲,网络安全就是网络上的信息安全,是指网络系统的硬件、软件和系统中的数据受到保护,不受偶然的或者恶意的攻击而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。

​ 广义上讲,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全所要研究的领域。

扩展

在信息安全领域,经过长期的实践和研究总结出了CIA三元组概念.它们是信息安全的基本原则,用来确保数据和系统的安全性、完整性和可信度

  • 实践经验:长期以来,信息安全专业人员在保护数据和系统方面积累了丰富的经验。通过观察实际案例、分析攻击手段和漏洞,他们发现了保密性、完整性和可用性对于信息安全的重要性。

  • 学术研究:学术界对于信息安全领域进行了深入的研究,探索了各种安全威胁和防御机制。在这个过程中,研究者们逐渐发现了保密性、完整性和可用性作为信息安全的核心概念,并将其提出。

  • 标准和框架:国际组织和标准化机构(如ISO、NIST等)为信息安全制定了一系列标准和框架。这些标准和框架强调保密性、完整性和可用性的重要性,并将其作为信息安全管理的核心原则。

信息安全的概念

  1. 保密性(CONFIDENTIALITY):确保数据和信息只能被授权的人或实体访问和查看。通过使用加密技术、身份验证和访问控制等方法,防止未经授权的访问和泄露。
  2. 完整性(INTEGRITY):确保数据和信息在传输、存储和处理过程中不被篡改、损坏或修改。使用数据校验和完整性验证机制,如哈希函数、数字签名和访问日志等,以保证数据的完整性。
  3. 可用性(AVAILABILITY):确保系统和服务在需要时可用和正常运行。通过实施冗余和备份策略、灾备计划、故障恢复机制等,以提供持续的可用性和业务连续性。
  4. 可控性(CONTROLLABILITY):确保对系统和资源的访问和操作可以被有效地管理和控制。通过实施访问控制、权限管理、审计跟踪和安全策略等措施,确保只有授权的用户可以进行合法的访问和操作。
  5. 不可否认性(NON REPUDIATION):确保发送方和接收方都无法否认已发送或接收到的数据或交互行为。通过使用数字签名、时间戳和审计跟踪等技术手段,可以提供不可抵赖的证据,防止交易和操作的双方否认其行为。

保密性(confidentiality)与Integrity(完整性)和Availability(可用性)并称为信息安全的CIA三要素

这三个特性被选定为CIA三元组的原因
  1. 相互独立:保密性、完整性和可用性是相互独立的概念,每个特性都关注信息安全的不同方面。保密性关注数据的机密性和访问控制,完整性关注数据的完整性和防止篡改,可用性关注系统和服务的可用性和正常运行。它们共同构成了一个全面的信息安全框架。
  2. 平衡性:保密性、完整性和可用性之间存在一种平衡关系。在信息安全管理中,需要权衡这三个特性,以满足组织的安全需求。例如,过于强调保密性可能会降低可用性,过于强调可用性可能会牺牲保密性等。因此,将它们作为三元组,有助于我们在信息安全设计和实现中找到适当的平衡点。
  3. 综合性:保密性、完整性和可用性涵盖了信息安全的核心要素。除了这三个特性之外,还有其他特性如真实性、不可抵赖性等,但它们通常可以被归类为保密性、完整性和可用性的子属性。因此,CIA三元组提供了一个全面而简洁的框架,使我们能够系统地考虑信息安全的关键方面。

综上所述,保密性、完整性和可用性之所以被选定为CIA三元组,是因为它们相互独立、平衡且综合地涵盖了信息安全的核心要素。这个三元组框架在实践中被广泛接受,并成为设计和评估信息安全措施的基础。

安全思维模型一:CIA Triad

CIA Triad原则就是一切的攻防手段都是围绕着保密性(C)、完整性(I)、可用性(A)三原则展开的。

  1. 保密性:【保密性实际上是它的本质就是信息越界】这个边界实际上是有两类:一:时间边界;二:空间边界。时间边界就是说还没到那个时间点,他提前给放出来。比方说我们说高考试卷,每年的高考语文试卷不到6月7号上午9点,九点之前你弄出来了,这就是一个重大的泄密。再说空间边界,这个信息从你的内网跑到外网去了,从本来是只能张三李四知道是变成了王五知道。这就是一个跨越了空间的边界,信息它跨越了非授权、非受控的空间边界,它就是一种信息的泄密,保密性遭受破坏。
  2. 完整性:【完整性是指信息的它原本的状态,系统的原本的结构和组成】如果说这信息它原本的状态发生了变化,它比方说从1变成了2,它的组成是从无到有或是结构要素的位置发生了变化、或比例发生了变化,这导致了完整性遭受破坏。
  3. 可用性:这一点比较好理解,就是【我需要的时候,这个系统或信息能够去在合理的时间之内获得,就是可用性】这就是所谓的我们说的CIA这个模型.

这三个属性用来确保信息的合法性和可信度

“DAD”模型是一种用于描述和分析数据安全性风险的模型。它关注的是攻击者对数据进行篡改、破坏或泄露的能力和方式,以及这些威胁对数据完整性、可用性和保密性的影响。通过建立”DAD”模型,可以评估数据安全风险,制定相应的安全策略和措施来保护数据。

“DAD”模型通常包含以下几个要素:

  1. 数据篡改(Data Alteration):指未经授权的修改或变更数据的内容,可能导致数据不准确、不完整或误导性。
  2. 数据破坏(Data Destruction):指对数据进行有意的破坏或删除,使其无法再被使用或恢复。
  3. 数据泄露(Data Disclosure):指未经授权的披露或泄露敏感数据,可能导致隐私泄露或其他潜在风险。

安全思维模型二:访问控制模型

大部分的攻击最终都是为了获取相关权限,很多手段都是围绕去获取受害者的身份信息和验证信息(比如密码)。这个模型当中,发起访问的一方就是访问主体,被访问的那方就叫做客体。整个访问就会产生信息流。

在任何一个访问控制系统中,都包含以下四个行为:

  1. 身份标示:访问主体在一个确定边界的系统范围被给予唯一的标示,解决你是谁的问题;
  2. 身份验证:对访问主体需要做基本的身份验证,解决你宣称就是谁谁谁的问题。
  3. 授权:用户身份验证通过后,需要确定用户可以访问哪些资源,以及对资源进行怎样的操作(读、写、删除等)。解决用户能做什么的问题。
  4. 审计:对用户的访问行为都记录在案,以备事后追责或改进系统。

安全思维模型三:边界与隔离模型

边界和隔离是安全防御的第一手段;

边界与隔离模型是指在网络和系统设计中采用边界和隔离机制来保护系统免受外部攻击和内部滥用。这些模型包括网络边界防火墙、网络分段、虚拟专用网络(VPN)、沙箱环境等,通过划定边界和实施隔离措施,限制不同区域之间的访问和通信,提高系统的安全性。

无论是我们所说远古的长城还是到现在的墨西哥和美国边境之间的隔离墙,边界和隔离都是非常有效的一种最古老、最朴素的技术手段,到现在还在运用。划定边界,以界隔离,大道至简。

安全思维模型四:恶意行为攻击模型

安全思维模型五:风险管理模型

  1. 风险识别:这个环节旨在识别和确定潜在的安全风险。通过对组织内外的各种因素进行分析和调查,包括系统漏洞、侵入方式、业务过程等,以识别可能导致安全事件发生的风险源。
  2. 风险分析:在风险分析环节,对已经识别出来的风险进行深入分析。这包括评估风险发生的概率、影响程度、持续时间等方面。通过对风险的综合分析,可以得出每个风险的相对优先级,以便在后续的决策过程中进行排序和处理。
  3. 风险评估:这一环节旨在对已经分析出来的风险进行定量或定性评估。根据组织的风险承受能力和目标,可以为每个风险分配一个合适的风险等级。评估结果可用于决策制定、资源分配和风险处理的参考。
  4. 风险应对:在这个环节中,基于前面的风险评估,制定相应的风险应对策略和措施。这可能包括预防措施(如加强安全培训、修补漏洞)、应急响应计划、备份和恢复策略等。风险应对旨在减轻或消除风险的影响,并防止未来的风险事件发生。

风险管理模型是一种用于评估和管理安全风险的框架或方法,它包括一系列环节,如风险识别、风险分析、风险评估和风险应对等。通过使用风险管理模型,组织可以更好地理解和评估可能对其安全目标造成威胁的各种风险,并制定相应的风险控制策略和措施。

安全思维模型六:安全生命周期模型

​ 安全生命周期模型(Security Development Lifecycle):安全生命周期模型强调在软件和系统开发过程中整合安全性,包括需求分析、设计、开发、测试和维护等阶段,确保产品的安全性能和可靠性。

介绍靶场渗透实战

什么是靶场?

​ 在网络安全领域,靶场指的是模拟真实网络环境、用于进行安全演练、攻击模拟和安全测试的特定环境或系统。靶场提供了一个安全的环境,使安全专业人员能够模拟真实的攻击场景,并测试不同防御策略和技术

靶场可以用于多种目的,包括以下几个方面:

  1. 安全演练:靶场模拟各种攻击场景,例如网络入侵、恶意软件感染等,使安全团队能够实时进行应急响应和事件处置的演练,提高应对突发安全事件的能力。

  2. 攻击模拟:通过模拟真实的攻击行为,例如渗透测试、红队演练等,安全专业人员可以评估目标系统的安全性,并找出潜在的漏洞和弱点,从而改进和加强防御措施。

  3. 安全研究与学习:靶场提供了一个安全的环境,供安全研究人员和学生学习和研究各种安全技术和攻击手法,加深对网络安全的理解和认识。

靶场可以是物理的、虚拟的或混合的环境,可以包括真实网络设备、虚拟机、网络模拟器等。为确保安全,靶场应该被隔离在独立的环境中,以防止攻击对其他系统和网络造成影响。同时,在使用靶场进行测试和演练时,必须遵守法律法规,并获得合法的授权

为什么进行靶场渗透实战?

靶场渗透实战对于安全专业人员的成长和技能提升至关重要

靶场渗透实战的优点

  • 实际操作经验:靶场渗透实战提供了真实且可控的环境,在这个环境中进行操作可以使学习者深入了解攻击和防御技术。通过实际操作,他们可以学习到不同类型的漏洞和攻击手法,了解如何利用这些漏洞,以及如何有效地捕捉和分析攻击流量。
  • 安全意识培养:通过参与靶场渗透实战,学习者将被直接暴露在模拟的攻击环境中。他们有机会亲自感受到攻击造成的影响,并从中认识到安全问题的重要性。这种体验可以有效地提高他们对网络安全的关注度和理解能力,培养出积极主动的安全意识。
  • 深入了解安全漏洞:靶场渗透实战提供了一个模拟的系统和网络环境,使学习者能够全面了解各种安全漏洞和弱点。他们可以主动寻找和利用这些漏洞,了解它们的工作原理和可能导致的风险。这种深入了解能够让学习者更好地规划和实施安全措施,提高整体的网络安全性。
  • 团队协作与合作能力:靶场渗透实战通常需要多人合作完成。学习者要团结合作,共同攻克难题。这样的实战训练不仅可以培养他们的团队协作和沟通能力,还能锻炼问题解决能力和决策能力。
  • 增强解决问题的能力:靶场渗透实战对学习者的解决问题的能力提出了较高的要求。在实际操作中,学习者需要分析和评估系统的漏洞和脆弱点,并设计并执行相应的攻击和防御策略。这种思考和解决问题的能力是靶场渗透实战的重要收获,也是学习者在实际工作中非常宝贵的技能。

将靶场实战与安全模型相结合

网络安全测试流程

当进行网络安全测试时,我们通常会按照以下流程进行。

  • 前期交互阶段,这包括确定目标IP地址以及与客户进行沟通和了解需求。
  • 信息收集阶段,在这个阶段我们使用工具如nmap和arp-scan进行扫描,收集有关目标系统和网络的信息。
  • 威胁建模阶段,我们根据收集到的信息和端口情况制定一个攻击路线和威胁模型。
  • 漏洞分析阶段,我们根据攻击路线逐一分析系统和网络是否存在漏洞,并进行相应的POC(Proof of Concept)收集。
  • 完成漏洞分析后,我们进入渗透攻击阶段,使用合适的exploit工具来获取目标系统的访问权限。
  • 后渗透攻击阶段,我们通过提权等方式进一步获取root权限并维持权限,同时进行日志清理等操作以隐藏我们的痕迹。
  • 渗透测试报告阶段,我们将整个测试过程的发现整理成报告,提供给客户以供参考和修复漏洞。

其实上面的流程就是来自于一个被广泛接受的标准是PTES,即Penetration Testing Execution Standard。它提供了一个全面的方法论来指导渗透测试的执行。PTES帮助测试团队按照一致的流程和标准进行工作,以确保测试的质量和实用性

靶场渗透测试实战简介

在接下来我们要演示的DC3靶场中,我们将使用一系列工具和技术来进行渗透测试,包括主机存活检测、端口服务扫描、网站指纹收集、漏洞扫描、SQL注入、John密码破解、Webshell连接以及内核提权。

  1. 主机存活检测: 使用网络工具(如ping、ICMP)确认目标主机是否在线。主机存活检测是渗透测试的第一步,在攻击之前需要先确认目标是否可达。
  2. 端口服务扫描: 使用端口扫描工具(如nmap)扫描目标主机上开放的网络服务。通过识别开放的端口和服务,我们可以了解目标系统的架构和可能存在的潜在漏洞。
  3. 网站指纹收集: 通过检查目标网站的HTTP响应头、元数据等信息,收集网站的特征和版本信息。这有助于我们针对特定漏洞或弱点进行更有针对性的渗透测试。
  4. 漏洞扫描: 使用专业的漏洞扫描工具(如Nessus、OpenVAS)对目标主机进行扫描,以发现已知的安全漏洞。漏洞扫描帮助我们识别系统中存在的脆弱点,并为后续的攻击提供目标。
  5. SQL注入: 利用对数据库进行恶意操作的漏洞,尝试执行恶意SQL语句,以获取数据库中的敏感信息。SQL注入是常见的网络应用程序漏洞之一,渗透测试中需要重点关注和利用。
  6. John密码破解: 使用密码破解工具(如John the Ripper)对明文或散列密码进行破解。通过猜测密码或破解散列值,我们可以获取系统用户的凭据,进而获取更高的访问权限。
  7. Webshell连接: 通过漏洞攻击或弱密码等方式获取Web服务器的权限,并建立与服务器的远程shell连接。Webshell是一个常用的攻击手段,可让我们远程执行命令和操纵目标系统。
  8. 内核提权: 利用漏洞或配置错误来提升对系统的访问权限,获取管理员或Root级别权限。内核提权是渗透测试中的高级技术,通过利用操作系统的漏洞来获取最高权限。

安全问题的重要性

大家可以思考一下,在我们刚刚的实战过程中

获取了哪些信息?

这是答案1

得到了哪些权限?

这是答案2

哪些是因为配置不当造成的

这是答案3

哪些是因为未及时更新造成的

这是答案3

这些所有简单的问题其实都是我们的安全问题,由此可见安全问题的重要性

  • 保护机密信息:许多安全问题涉及到保护敏感信息的机密性和完整性。如果未经授权的人员可以访问或修改敏感信息,那么可能会导致数据泄露或其他严重后果。
  • 防止黑客攻击:根据安全行业的普遍认知,黑客在攻击一个目标之前通常会尝试利用一些已知的漏洞,或通过社交工程等方式攻击目标的弱点。了解并识别这些攻击向量,能够帮助我们在保护我们的系统免受黑客攻击的同时,提高我们的安全意识。
  • 减少业务风险:安全问题可能会导致数据丢失、数据泄露、破坏业务连续性等问题,这些问题可能会带来巨大的财务和声誉损失。因此,了解各种安全问题的重要性,并采取相应的安全措施来优化安全威胁的效果,可以减少业务风险。

安全问题 - 弱密码

​ 弱密码是指易于猜测、推测或破解的密码,由于其缺乏复杂性、长度和随机性,容易受到各种攻击方式的威胁。以下是弱密码可能带来的危害:

  • 安全性降低:弱密码容易被猜测或通过暴力破解等手段获取,这将导致用户帐号和系统的安全受到威胁。攻击者可以通过获得弱密码来越过访问控制,进而盗取个人信息、进行未经授权的活动,甚至入侵整个系统。
  • 越权访问和数据泄露:使用弱密码的用户可能会被攻击者盗取其帐号,进而获取越权访问权限。攻击者可以利用这些权限访问敏感信息、私人数据和财务记录,从而导致数据泄露和隐私泄露问题。
  • 被挟持和滥用:弱密码使用户更容易受到社会工程学攻击,例如钓鱼、密码重置和身份欺诈等。攻击者可以通过伪装成合法机构或服务提供商,引诱用户输入其登录凭据,从而控制用户帐号并进行滥用。
  • 影响他人安全:如果用户在多个平台或服务中使用相同的弱密码,一旦其中一个帐号被攻破,攻击者就可以尝试在其他地方重复使用相同的凭据。这将给其他用户和相关系统带来潜在的安全威胁和风险。
  • 企业和组织受损:在企业环境中,如果员工使用弱密码来保护企业资产和系统,企业可能面临数据泄露、业务中断、声誉受损等严重后果。此外,弱密码也给企业的安全管理和合规性带来挑战。

对应的安全模型:访问控制模型

  • 弱密码与访问控制密切相关:弱密码可能导致未经授权的访问系统和资源。访问控制模型是确保只有授权用户可以访问系统和资源的机制,因此弱密码直接涉及访问控制问题。
  • 弱密码影响身份验证:弱密码容易被猜测、破解或使用暴力攻击进行登录尝试。身份验证是访问控制的核心组成部分,而弱密码会直接影响身份验证的有效性和安全性。
  • 访问控制模型解决弱密码问题:访问控制模型通过权限管理、身份验证和授权机制等手段限制用户对系统和资源的访问权限。弱密码是访问控制模型需要解决和管理的问题之一。

解决和预防弱密码问题

  • 强制密码策略:实施一套强制的密码策略,包括要求密码长度、复杂性(如数字、字母和特殊字符的组合)、定期更换密码等。这将提高密码的复杂性并降低猜测或破解密码的风险。
  • 多因素身份验证(MFA):采用多因素身份验证机制,例如结合密码与手机验证码、指纹识别、硬件令牌等。即使密码被破解,攻击者也无法通过第二个因素进行验证。
  • 教育和培训用户:提供密码安全的教育和培训,教育用户选择强密码、避免使用常见的密码、不共享密码等好的安全实践。
  • 密码管理工具:推荐用户使用密码管理工具来生成和管理强密码。这些工具能够自动生成随机且强大的密码,并将其加密保存在一个安全的数据库中。
  • 定期审查密码:定期对系统和用户的密码进行审核,检查是否存在弱密码并提醒用户修改。管理员可以使用密码破解工具或密码策略审核工具来辅助识别弱密码。
  • 锁定账户和限制登录尝试:实施账户锁定机制,当用户连续多次登录失败时,暂时锁定账户,以防止恶意攻击者进行暴力破解密码。
  • 使用单点登录(SSO)和身份提供商(IdP):通过使用SSO和IdP,可以减少用户需要记住的密码数量,从而降低弱密码问题的风险。

安全问题 – 漏洞利用

​ 漏洞利用(Vulnerability Exploitation)是指攻击者利用软件、系统或网络中的漏洞,通过输入特定的数据或执行恶意代码等手段,成功入侵目标系统或获取未经授权的权限。

  • 未经授权访问:漏洞利用可以使攻击者绕过访问控制机制,进入受攻击的系统、应用程序或网络。攻击者可以获取管理员权限、访问敏感信息、操纵和删除数据,甚至完全控制目标系统。
  • 数据泄露和隐私泄露:通过漏洞利用,攻击者可以获取包括个人身份信息、财务数据、健康记录等敏感信息。这些数据泄露可能导致个人隐私受到侵犯,进而被用于身份盗窃、欺诈和其他非法活动。
  • 业务中断和系统崩溃:某些漏洞利用技术可以导致目标系统崩溃、服务中断或不可用。攻击者可以通过发送恶意数据包、执行拒绝服务(Denial of Service,DoS)攻击来占用系统资源,使业务无法正常运行,给企业和用户带来巨大影响。
  • 恶意代码传播:漏洞利用可以用于传播恶意软件、病毒和蠕虫等恶意代码。攻击者可以通过利用系统或应用程序中的漏洞实施远程执行代码(Remote Code Execution,RCE),将恶意代码注入到目标系统中,进而传播到其他系统和网络。

对应的安全模型:边界与隔离模型

漏洞利用往往可以通过攻击系统的弱点或漏洞来入侵系统。在边界与隔离模型下,重要的是将系统划分为不同的边界区域,每个区域都有特定的安全策略和访问控制规则。这样可以限制漏洞利用的传播和影响范围,即使一部分系统受到攻击,其他区域仍然可以保持相对安全。

  • 限制攻击面:通过设置边界和隔离控制,可以减少系统暴露在外部攻击的机会。攻击者需要首先突破边界才能进一步进行漏洞利用。
  • 损失隔离:将系统划分为不同的区域和层次可以减轻漏洞利用的潜在影响。即使一个区域受到攻击,其他区域仍然可以保持相对安全。
  • 访问控制:边界与隔离模型注重实施严格的访问控制策略。只有经过授权的用户或实体才能穿越边界并访问相应的资源。
  • 维护容错性:通过隔离和分段的设计,边界与隔离模型可提高系统的容错性。即使一个区域出现漏洞利用或故障,其他区域仍然可以正常运行。

解决和预防漏洞利用问题

  • 漏洞管理:建立一个系统化的漏洞管理流程,包括漏洞扫描、漏洞评估和漏洞修复。定期检查和修补系统和应用程序中的已知漏洞,确保及时更新和安装安全补丁。
  • 访问控制和权限管理:实施严格的身份验证、访问控制和权限管理机制,限制对系统和敏感数据的访问。根据最小权限原则,对每个用户或角色分配最低必要权限。
  • 网络安全措施:部署防火墙、入侵检测系统(IDS)和入侵预防系统(IPS)等网络安全设备,监测和阻断恶意流量。定期进行网络漏洞扫描和安全审计。
  • 应用程序安全:开发安全的应用程序,包括使用安全编码实践、输入验证、输出过滤、安全配置和错误处理机制。进行应用程序漏洞扫描和代码审计,修复和消除潜在的漏洞。
  • 持续监测和响应:建立安全事件监测和响应机制,包括实时监控、日志分析和安全事件响应策略。及时检测和处理异常行为和潜在的漏洞利用活动。
  • 安全更新和漏洞通告:定期关注安全厂商和供应商发布的安全更新和漏洞通告。确保及时跟踪并采取必要的行动来解决已知的漏洞。
  • 安全审计和合规性:定期进行安全审计和风险评估,确保系统符合安全标准和合规性要求。根据审计结果,改进安全策略和控制措施。

安全问题 – 数据泄露

数据泄露指的是未经授权或非法方式导致敏感信息、个人数据或机密信息被披露、公开或泄露的事件。这些信息可以包括但不限于个人身份信息、银行账号、信用卡信息、健康记录、商业机密等。

  • 个人隐私暴露:当个人敏感信息被泄露后,个人的隐私权可能受到侵犯。攻击者可能利用这些信息进行身份盗窃、欺诈活动或其他非法行为。
  • 金融损失:银行账号、信用卡信息等被泄露后,攻击者可以通过盗取资金、进行非法交易或滥用信用卡等方式导致受害者遭受经济损失。
  • 信誉受损:组织遭受数据泄露事件后,其信誉和声誉可能受到损害。公众对该组织的信任度可能降低,客户和合作伙伴可能会转向竞争对手,从而对组织造成负面影响。
  • 知识产权风险:商业机密、专有技术或研究成果等的泄露可能导致知识产权受损。竞争对手或其他不良方进行恶意盗取、复制、使用或披露,给组织带来重大经济损失。
  • 组织运营受阻:数据泄露事件可能导致系统瘫痪、服务中断或业务操作受到干扰。这可能会造成生产停滞、客户流失、员工不信任等问题,对组织的正常运营造成重大影响。

对应的安全模型:安全生命周期模型

安全生命周期模型被视为与数据泄露有关的安全思维模型,因为它提供了一个全面、前瞻且持续的框架,帮助我们在整个软件或系统的生命周期中集成和管理安全性,从而更好地预防和应对数据泄露风险。

  • 全面性:安全生命周期模型提供了一个全面的安全开发和管理框架,涵盖了软件或系统的整个生命周期。在每个阶段中,都集成和考虑了安全性,从需求分析到设计、开发、测试、部署和维护等各个环节。数据泄露通常与系统或应用程序的某个环节存在关联,因此在整个生命周期中集成安全性能够更好地降低数据泄露的风险。
  • 防患于未然:安全生命周期模型强调在早期阶段识别和解决安全问题,以防止数据泄露等安全漏洞的出现。通过在需求分析和设计阶段考虑安全需求和安全措施,可以在后续的开发和测试过程中更好地建立起安全性。这种前瞻性的思维模式有助于减少潜在的数据泄露风险。
  • 持续性:安全生命周期模型将安全性视为一个持续的过程,而不是一次性的解决方案。在软件或系统的整个生命周期中,需要不断地进行安全性评估、漏洞修复和风险管理等工作。通过持续地关注和改进安全性,可以更好地应对新的威胁和漏洞,并及时采取相应的措施来预防数据泄露等安全问题。

解决和预防数据泄露问题

  • 实施数据分类:数据分类可以根据数据的敏感程度和重要性将数据分为不同级别,然后为每个级别分配合适的保护措施。比如公司内部有些数据只能供内部团队查看,而不是每个员工都可以访问。
  • 强化系统访问控制:限制系统访问权限可以控制员工和外部人员对数据的访问,从而减少数据遭到不当使用或泄露的风险。为每个用户分配权限,并定期审查和更新这些权限。
  • 加密数据:加密是一种有效的保护数据隐私和防止数据泄露的方法。可以利用数据库、文件夹或通信线路进行数据加密,确保数据在传输和存储过程中的安全性。
  • 监控数据访问和使用:监控数据访问和使用可以帮助企业及时发现和处理可能的数据泄露事件。例如,记录所有数据访问和操作,使用报警系统以及实施审计和监控,可以使管理者在数据流出问题发生之前了解到问题。
  • 定期进行漏洞扫描和渗透测试:定期进行漏洞扫描和渗透测试可以发现系统或应用程序中的安全漏洞,并及时修复它们,从而减少数据泄露的风险。

相关术语

渗透测试

何为?what?

首先,我们需要获得目标系统拥有者或合法授权人的书面授权(无授权不上机),这份授权文件明确规定了测试的权限范围和方式。

同时,我们也会与目标系统拥有者签署保密协议,确保测试结果只限于授权人员知晓,并防止泄漏敏感信息。

在测试开始之前,我们会提供一份风险告知书,详细说明可能出现的风险和潜在影响,以确保目标系统拥有者清楚地理解测试的性质。通过这些准备工作,我们能够建立起测试团队与目标系统拥有者之间的合作和信任关系,为顺利进行渗透测试奠定基础。

为什么要这样做why?

​ 渗透测试已成为安全计划中不可或缺的一部分,用于对系统或整个IT基础设施进行模拟测试。

通过渗透测试,可以揭示操作系统、网络设备和应用程序中的核心攻击向量和弱点。其主要目的是发现和修复漏洞,以防止攻击者利用它们。

在当今日益复杂的网络犯罪环境中,包括DDoS攻击、网络钓鱼勒索软件和其他无数攻击策略的使用,渗透测试变得比以往任何时候都更加重要。最佳的防御措施始于了解业务/公司的优势和劣势,正如《战争艺术》中所述,如果对敌人和自身一无所知,就必然会面临威胁。

渗透测试通过了解可能遭受的攻击方式,并采取相应的保护步骤,提供了使安全组织更加成熟的情报和见解。

如何做?HOW?

当谈到渗透测试时,我们可以使用一个类比来解释其过程,比如小偷进入一座建筑物的例子:

  1. 确定目标:小偷决定要进入的建筑物是他的目标。
  2. 收集信息:小偷开始收集有关建筑物的信息,例如它的结构、门窗的位置和安全措施。
  3. 发现漏洞:小偷利用他收集到的信息,寻找建筑物中的漏洞,例如未锁好的门、窗户没有关闭或者是容易破坏的锁。
  4. 获取访问权限:小偷选择最容易进入的路径,比如找到一个未锁好的门或窗户,然后进入建筑物。
  5. 探索系统:一旦小偷进入建筑物,他开始探索里面的各个房间,寻找贵重物品或者其他有价值的东西。
  6. 维持访问:如果小偷成功地找到了贵重物品,他可能会决定在建筑物内继续停留,以确保他可以长时间持续获取财物。
  7. 分析结果:小偷分析他所获得的贵重物品,并决定如何处理这些物品。
  8. 编写报告:小偷可能会记录他的行动、观察和建议,以便他可以在未来的行动中学习和改进。

渗透测试的思维是怎么样的?

我们所谓的猥琐的思维就是渗透的思维,也就是大家常说的鬼点子多,鬼主意多。

这意味着我们要从不同角度去思考同⼀件事情我们在渗透的时候要始终贯彻⼀个方针:换位思考。

比如管理员会怎么设置网站,管理员会怎么设置密码,管理员会… …

渗透就跟泡妹纸⼀样

  1. 认识妹纸(确定目标)
  2. 了解妹纸(信息收集)
  3. 逗妹纸开心(漏洞扫描) 得到妹纸的肯定之后就开始寻找时机表白(漏洞利用)
  4. 表白失败(漏洞被修补或有WAF)
  5. 要么死缠烂打要么就Next one,要么就用其他的方法来搞定妹纸

漏洞利用

何为?what?

​ 漏洞(Vulnerability)是指软件、系统或网络中存在的错误或缺陷,可能被恶意利用从而导致安全威胁。漏洞可以存在于操作系统、应用程序、网络协议或硬件设备中。

我们使用的各种设备,如手机、电脑、工作站、服务器、路由器和门铃等,在某个时间点都可能存在一些弱点,也就是漏洞。

特别是对于大企业和小企业而言,我们都希望不让这些漏洞存在,因此我们需要采取一些措施来检测并修复它们。

在互联网上,黑客们一直在寻找这些漏洞,他们希望利用这些漏洞来实现某种目标。如果存在这样的漏洞,他们会尝试利用它。

因此,漏洞就是系统中的弱点,而威胁或威胁者则是指利用这些弱点的人,我们通常将他们称为黑客。

据统计,有95%的网络攻击是利用已知的漏洞进行的,并且每年都会发现超过15000个新的漏洞。

这再次强调了修补漏洞的重要性,以降低黑客攻击的风险。

为什么要这样做why?

漏洞利用是指利用计算系统中存在的潜在漏洞或弱点来实施攻击的过程。

举个例子,如果我们想要破坏一个窗户,我们可以向窗户扔一块石头或使用一根撬棍。无论哪种方式,都是利用窗户易碎这个共同的潜在漏洞。

在计算机系统中也可能发生类似的情况,即漏洞利用是通过发送一些恶意代码(即恶意软件本身)给受害者来实现的。

黑客会利用操作系统或应用程序中的潜在漏洞,以此进行漏洞利用攻击。他们可能会利用这些漏洞来获取未经授权的访问权限、窃取敏感信息或对系统进行损坏。

如何做?HOW?

exploitDB

​ 漏洞利用数据库是一个大家都知道的资源库,里面包含了已经发现的可以用来攻击系统漏洞的代码。其中一个非盈利组织安全公司维护的项目叫做exploitDB(也称为searchsploit)。该项目的目的并不是收集漏洞本身,而是收集那些可用于利用漏洞的工具和代码,从最简单的概念验证(即证明漏洞存在)到成熟的可以实际利用漏洞的代码和软件。这个数据库拥有成千上万的漏洞利用程序,并且还在不断增加新的内容。通过使用这个数据库,安全专业人员可以更好地了解已知的漏洞,并采取相应的安全措施来保护软件和系统。

MSF

Metasploit Framework(简称MSF)是一种常见且广为人知的漏洞利用工具。它是一个开源框架,任何人都可以下载和使用。该框架包含2000多个不同的漏洞利用程序,可以自动化地利用这些漏洞。它主要用于进行渗透测试,但也可以被滥用以非法访问系统。Metasploit基于模块化设计,任何人都可以贡献新的模块,并且有几种不同类型的模块可用。

漏洞复现

何为?what?

​ 漏洞复现是指通过重新创建或模拟已知的漏洞情景,以验证漏洞的存在和可利用性。它是一个安全测试过程中的重要步骤。通过漏洞复现,安全专业人员可以确认漏洞的存在,并评估其对系统或应用程序的威胁程度。

​ 漏洞复现通常包括以下步骤:

  1. 收集漏洞相关信息:安全专业人员首先会收集有关漏洞的详细描述、已公开的漏洞利用代码或漏洞报告等信息。
  2. 重建漏洞环境:为了复现漏洞,安全专业人员需要在实验环境中重建与漏洞相关的系统或应用程序。这可能涉及到配置特定的操作系统、软件版本和网络设置等。
  3. 复现漏洞:在重建的漏洞环境中,安全专业人员会按照已知的漏洞利用方法和步骤,尝试复现漏洞的具体行为。他们可能使用漏洞利用工具或自行编写代码来实施攻击。
  4. 观察和记录结果:在漏洞复现的过程中,安全专业人员会观察漏洞的表现,并记录详细的复现过程和结果。这些记录对于后续的漏洞分析和修复非常重要。

为什么要这样做why?

  1. 理解漏洞本质:通过漏洞复现,渗透测试工程师可以深入理解漏洞的本质、原理和影响。这对于他们在渗透测试过程中更好地识别和利用类似漏洞至关重要。
  2. 验证漏洞存在:在渗透测试中,识别漏洞并确认其存在是至关重要的一步。通过漏洞复现,渗透测试工程师可以验证已发现的漏洞,并获得更多有关漏洞的详细信息。
  3. 发现未知的漏洞:在复现已知漏洞的过程中,渗透测试工程师或学习者有可能意外地发现原本未知的漏洞。这种发现不仅是对自身技术能力的肯定,也为系统安全提供了更全面的保护。
  4. 学习攻击技术:通过漏洞复现,渗透测试学习者可以学习和了解不同类型漏洞的攻击技术。他们可以通过模拟攻击来加深对漏洞利用过程的理解,提高自己的技术水平。
  5. 提供修复建议:通过漏洞复现,渗透测试工程师可以收集足够的证据和数据,为系统管理员或开发者提供详细的修复建议。这有助于加强系统的安全性和减少潜在的攻击风险。温
  6. 故而知新:通过漏洞复现,渗透测试工程师或学习者可以重新研究和复习已知的漏洞类型和攻击技术。这有助于加深对现有漏洞的理解,并为探索新漏洞奠定基础。

如何做?HOW?

优秀UP主推荐