声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频)
本章课程链接:蓝队基础之网络七层杀伤链_哔哩哔哩_bilibili
二、七层杀伤链概念:
网络七层杀伤链(Cyber Kill Chain)是一种网络攻击的模型,它将网络攻击过程划分为七个不同的阶段,这七个阶段通常是沿着网络协议的七层模型(从物理层到应用层)来考虑攻击流程的,帮助安全团队更好地理解、防御和应对网络攻击。以下是这七个阶段的详细介绍:
1.侦察(Reconnaissance)
含义:攻击者在这个阶段收集目标信息,包括目标网络的拓扑结构、系统类型、开放的端口、运行的服务以及可能存在的漏洞等。这就像是攻击者在作案前对目标进行踩点。
举例:通过网络扫描工具(如 Nmap)扫描目标网络的 IP 地址范围,获取哪些主机处于活动状态,以及这些主机上开放了哪些端口(如常见的 HTTP 服务对应的 80 端口、SMTP 服务对应的 25 端口等);利用搜索引擎查找目标公司的员工信息、网络架构信息等,这些信息可能会被用于后续的攻击。
2.武器化(Weaponization)
含义:攻击者根据侦察阶段获取的信息,制作或选择适合的攻击工具。这些工具可以是恶意软件(如病毒、木马、蠕虫等),也可以是利用特定漏洞的脚本或程序。
举例:如果发现目标系统存在某个软件的旧版本漏洞,攻击者可能会编写一个利用该漏洞的恶意程序。例如,利用 Adobe Flash Player 旧版本的漏洞制作一个包含恶意代码的 Flash 文件,一旦用户在未更新软件的情况下访问包含该文件的网页,就可能被攻击。
选用工具时尽量选择不要带特别明显特征的软件,这类软件容易被目标防范屏蔽,尽可能做到二开,如nmap,sqlmap之类有名软件修改其的特征。
3.投递(Delivery)
含义:将武器化的攻击工具发送到目标系统或用户手中。这可以通过多种方式实现,如电子邮件附件、恶意链接、感染的移动存储设备等。
举例:攻击者发送一封带有恶意附件的电子邮件,伪装成合法的文件(如看似是一份重要的公司文档),诱导目标用户打开附件。或者在一些被攻击者控制的网站上放置恶意链接,通过社会工程学手段(如在社交媒体上诱导用户点击链接)让用户访问这些链接,从而触发攻击。
4.利用(Exploitation)
含义:当攻击工具成功到达目标后,攻击者利用目标系统或应用程序中的漏洞,执行攻击代码,获取目标系统的控制权或在目标系统中执行恶意操作。
举例:如果目标系统存在缓冲区溢出漏洞,攻击者发送的恶意程序就可以利用这个漏洞,覆盖系统内存中的关键数据,如返回地址,从而使程序执行流程跳转到攻击者指定的恶意代码区域,实现代码执行。例如,著名的 “永恒之蓝” 漏洞被 WannaCry 勒索软件利用,通过网络共享协议中的漏洞在未打补丁的 Windows 系统中自动传播并加密用户文件。
5.安装(Installation)
含义:攻击者在成功利用漏洞后,会在目标系统中安装恶意软件或后门程序,以便长期控制目标系统。这些后门程序可以让攻击者在需要的时候随时访问目标系统,而不被轻易发现。
举例:安装一个远程访问木马(RAT),如灰鸽子木马。攻击者通过之前的攻击步骤将灰鸽子木马安装到目标系统后,就可以使用配套的控制端软件,通过网络远程控制目标计算机,如查看文件、执行程序、窃取用户输入的账号密码等信息。
6.命令与控制(Command & Control,C2)
含义:安装在目标系统中的恶意软件会与攻击者控制的服务器建立通信连接,攻击者通过这个连接向目标系统中的恶意软件发送命令,指挥其进行各种恶意活动。
举例:通过文件上传漏洞进行一句话木马上传,执行成功后就可以通过蚁剑或菜刀等工具进行远程链接。
7.行动(Actions on Objectives)
含义:攻击者实现其最终的攻击目的,如窃取敏感数据(如用户的银行账户信息、企业的商业机密等)、篡改系统数据、破坏系统正常运行等。
通过对网络七层杀伤链的分析,安全防御者可以在每个阶段采取相应的防御措施,例如在侦察阶段加强网络监控,检测异常的扫描行为;在投递阶段使用邮件过滤系统拦截可疑邮件等,从而有效降低网络攻击的成功率。
网络七层杀伤链的应用场景主要体现:
网络安全防御
威胁检测与预警:通过对杀伤链各阶段的特征进行监测和分析,安全团队能够及时发现潜在的网络攻击迹象。例如,在侦察阶段,监测到异常的网络扫描行为;在投递阶段,识别出可疑的邮件附件或恶意链接等,从而提前发出预警,为防御争取时间.
攻击溯源与分析:当发生网络攻击时,利用杀伤链模型可以追溯攻击的源头和路径。通过分析攻击在各个阶段留下的痕迹,如恶意软件的来源、攻击者控制的服务器等,有助于安全团队更好地了解攻击者的手法和意图,为后续的防范和应对提供依据.
安全策略制定与优化:根据网络七层杀伤链的不同阶段,制定相应的安全策略和措施。例如,在侦察阶段加强网络访问控制和数据保护,防止敏感信息泄露;在投递阶段,部署邮件过滤系统和网页防护工具,阻止恶意软件的传播等,从而构建全方位的防御体系,提高网络安全防护能力.
安全产品研发与评估
入侵检测与防御系统:研发人员可以依据杀伤链模型,设计和开发更有效的入侵检测与防御系统(IDS/IPS)。这些系统能够识别和阻止在杀伤链各个阶段的恶意活动,如检测异常的流量模式、拦截已知的恶意软件和漏洞利用等,从而增强对网络攻击的抵御能力.
安全产品评估与测试:利用网络七层杀伤链作为评估框架,对各类安全产品的性能和效果进行测试和评估。例如,评估防病毒软件在检测和清除不同阶段的恶意软件的能力,测试防火墙对攻击流量的拦截效果等,帮助企业选择最适合自身需求的安全产品。
应急响应与事件处理
攻击阻断与遏制:在网络攻击发生时,安全团队可以根据杀伤链所处的阶段,迅速采取相应的措施进行攻击阻断和遏制。例如,在发现漏洞利用阶段的攻击行为时,及时隔离受感染的系统,防止恶意软件的进一步传播和扩散,降低攻击造成的损失.
系统恢复与重建:借助杀伤链模型,安全团队可以更好地了解攻击对系统造成的影响范围和程度,从而有针对性地进行系统恢复和重建工作。在确保系统安全的前提下,恢复受影响的数据和服务,使业务能够尽快恢复正常运行 。
网络安全培训与教育
知识体系构建:网络七层杀伤链为网络安全培训提供了一个清晰的知识体系框架。通过讲解杀伤链的各个阶段、相关的攻击技术和防御方法,帮助学员全面了解网络攻击的全貌,构建系统的网络安全知识体系,提高其对网络安全威胁的认识和防范意识。
实战模拟与演练:基于网络七层杀伤链设计实战模拟场景,让学员在模拟的网络攻击环境中进行演练。学员可以扮演攻击者或防御者的角色,亲身体验攻击和防御的过程,从而更好地掌握网络安全技能和应对策略,提高其在实际工作中的应急响应能力。
企业风险管理
风险评估与量化:企业可以运用网络七层杀伤链模型,对自身面临的网络安全风险进行评估和量化。通过分析攻击在各个阶段可能对企业造成的影响,确定风险的优先级和严重程度,为企业制定合理的风险管理策略提供依据。
安全投资决策:根据网络七层杀伤链中不同阶段的风险状况,企业可以合理分配网络安全投资。将资源重点投入到风险较高的环节,如加强对关键系统和数据的保护、提升检测和响应能力等,以实现最优的安全投资效益,降低企业因网络攻击而遭受的损失 。
辅助实施网络七层杀伤链模型的工具:
侦察阶段
Shodan:一个搜索引擎,可扫描和索引联网设备,为攻击者提供识别潜在目标的有价值信息,如查找运行过时软件版本的易受攻击的 Web 服务器等,防御者也可借此了解自身网络设备的暴露情况.
Maltego:能收集有关组织、个人和网络的信息,帮助攻击者绘制潜在攻击向量,防御者则可利用其分析自身可能存在的薄弱环节,如通过它收集目标组织员工的电子邮件地址和社交媒体资料等.
Nmap:一款网络扫描工具,可用于探测目标网络中的活跃主机、开放端口以及运行的服务等信息,帮助攻击者发现潜在的入侵点,同时防御者能据此检查网络配置的安全性.
武器化阶段
Metasploit Framework:强大的漏洞利用框架,攻击者可利用它开发、测试并针对目标系统执行攻击,而防御者可借助该工具了解常见的攻击手法和漏洞利用方式,提前做好防范措施.
Social Engineering Toolkit (SET):帮助攻击者制作具有说服力的钓鱼邮件和网站来欺骗受害者,防御者可利用它来模拟攻击,从而提高员工对社会工程学攻击的警惕性和识别能力.
投递阶段
Next-Gen Firewalls:新一代防火墙能够基于应用层的信息对网络流量进行深度检测和过滤,可有效阻止包含恶意软件的网络连接和数据传输.
Email and Web Gateway Security:邮件和网页网关安全设备可检测和拦截钓鱼邮件、恶意链接以及其他恶意内容,防止其到达用户终端.
DDoS Mitigation Tools:分布式拒绝服务攻击缓解工具可检测和抵御大规模的 DDoS 攻击,保护网络资源的可用性,避免因攻击导致服务瘫痪.
利用阶段
SIEM (Security Information and Event Management):安全信息和事件管理系统可收集、分析来自各种网络设备和系统的日志和事件数据,通过关联分析等手段及时发现异常的漏洞利用行为.
Web Application Firewalls (WAF):Web 应用防火墙可专门保护 Web 应用程序免受各种攻击,如 SQL 注入、跨站脚本攻击等,对检测和阻止针对 Web 应用的漏洞利用非常有效.
安装阶段
Intrusion Prevention Systems (IPS):入侵防御系统可实时监测和阻止恶意软件的安装和入侵行为,通过对网络流量和系统行为的深度检测,及时发现并阻断可疑的连接和操作.
Host-based Intrusion Detection Systems (HIDS):基于主机的入侵检测系统可监控主机上的系统活动和文件变化,检测和防范恶意软件在主机上的安装和运行.
命令与控制阶段
Network Traffic Analysis Tools:网络流量分析工具可监测网络中的异常通信行为,帮助检测和追踪攻击者与被控制主机之间的命令与控制通信,及时发现并切断控制通道.
DNS Monitoring Tools:DNS 监测工具可监控域名系统的查询和解析活动,检测和防范攻击者利用 DNS 进行命令与控制通信或恶意域名解析.
目标达成阶段
Data Loss Prevention (DLP):数据丢失防护工具可防止敏感数据的泄露和非法传输,通过对数据的分类、标记和监控,确保敏感数据在传输和存储过程中的安全性,防止攻击者窃取数据.
Endpoint Detection and Response (EDR):端点检测与响应工具可实时监控端点设备上的活动,及时发现和响应数据泄露等异常行为,保护端点设备上的数据安全 。
杀伤链(Kill Chain)是一个在网络安全领域广泛使用的概念,它描述了一个攻击者从发现目标到实现其攻击目标所经历的一系列步骤。杀伤链模型为安全专业人员提供了一种理解和预防网络攻击的方法。了解杀伤链对于企业和组织来说非常重要,因为它可以帮助他们识别并预防潜在的网络攻击。通过加强每个阶段的安全防护,可以大大降低被攻击的风险。同时,杀伤链也提醒我们,网络安全是一个持续的过程,需要时刻保持警惕。
三、日志收集
日志收集是网络安全监控的基础,它涉及从各种关键日志来源收集数据。这些来源包括但不限于代理服务器、邮件服务器、Web服务器、数据库、身份认证服务器、防火墙、路由器和交换机,以及应用程序服务器和工作站。为了有效地收集这些日志,需要配置日志源以生成日志,并将其转发给日志收集器,然后上传到SIEM(安全信息和事件管理)系统。
在Windows系统中,可以使用事件日志收集和转发机制来获取日志数据。而在Linux系统中,则通常使用syslog来收集和聚合日志,并将其转发到指定的日志收集器。此外,随着物联网技术的发展,楼宇管理和工控网络日志也成为了重要的日志来源,这些系统现在通常连接到企业网络,并可能成为攻击者的主要目标。
日志搜索与分析
收集到的日志数据需要进行有效的搜索和分析,以便及时发现潜在的安全威胁。Splunk等日志管理工具提供了强大的日志收集、存储、搜索、分析和可视化功能。此外,SIEM系统能够关联日志与活动,识别可疑内容,而Splunk也可以作为SIEM解决方案之一。
监控告警
监控告警是网络安全响应的重要组成部分。告警可以来自SIEM系统,但也可以直接来自安装在系统和网络中的传感器实时告警系统,如IDS(入侵检测系统)设备。此外,事后告警系统,如AIDE(监视系统文件的修改)等,也可以提供重要的安全信息。在某些情况下,事件可能不会从日志或警报中触发,例如攻击者更改了用户密码后,用户可能会直接联系管理员进行通告。
事件响应
事件响应是网络安全管理的关键环节。L2级分析师在收到L1级的工单后,会进行分析评估,并进行相应的事件响应流程。数字取证分析是网络安全的一个专门领域,通常由L3级分析师处理。他们会对内存、硬盘等存储设备以合法方式进行取证,以保护数据的完整性。
Cyber Hunting(网络狩猎)
网络狩猎是SOC(安全运营中心)L3级分析师的一门新兴学科。它假设网络已被渗透,通过主动寻找恶意软件(或入侵者),争取在攻击造成损失之前发现。网络狩猎需要寻找一系列指标,以还原网络攻击时间线。MITRE ATT&CK框架是网络威胁猎人的一个关键资源,它提供了攻击者行为方式及其使用工具的信息,有助于发现攻击痕迹。网络威胁搜寻需要非常了解正常状态,并能够识别入侵和异常活动。
威胁情报
威胁情报是网络安全管理的重要组成部分。妥协指标(IOC)是用于识别恶意软件或恶意活动的签名,通常以文件名和哈希值的形式提供。考虑到新威胁信息的规模,手动获取和记录威胁情报已不再可行。因此,自动化威胁管理变得尤为重要。MITRE开发了结构化威胁信息表达(STIX)和可信智能信息自动交换(TAXII)协议,以实现威胁信息的自动提供和摄取。这些协议允许自动获得威胁情报,并将其输入IDS、SIEM等工具,从而实现威胁情报的近乎实时更新,以确保击败已知威胁。此外,AlienVault OTX等开放威胁交换服务也提供了手动访问危害指标的功能。
安全管理
安全管理是一组确保公司业务安全的日常流程。它涵盖了多个方面,包括身份管理(IAM)、访问控制、特权管理(PAM)、媒体消毒、人事安全、证书管理以及远程访问等。IAM是任何安全程序的基础,也是黑客攻击的主要目标。访问控制需要配置和验证用户访问系统的权限,并制定审计规则。PAM系统使非特权用户能够请求特权访问,以提升权限。媒体消毒涉及在生命周期结束时对敏感数据进行安全清理和销毁。人事安全是公认的业务安全程序之一。证书管理对于维护PKI架构的完整性至关重要。而后疫情时代,远程访问已成为攻击的重点,因此需要加强对其的安全管理。
零信任网络
在2010年谷歌遭受极光行动网络攻击之后,其内部网络管理方式发生了深刻变革,并创造了“零信任”一词,用以描述一种始终假设内部网络可能已被破坏的运行方式。这种全新的安全理念在NIST特别出版物800-207:零信任架构中得到了正式确立,并现已成为所有美国政府机构必须强制实施的安全标准。
零信任架构的核心在于其四个关键特征:
即时访问(Just-In-Time Access, JITA):用户或服务在需要时才被授予访问权限,且权限具有时效性,一旦任务完成或时间过期,权限即被收回。
只需足够的访问权限(Least Privilege Access, LPA 或 JEA, Just Enough Access):用户或服务仅被授予完成特定任务所需的最小权限集,以减少潜在的安全风险。
动态访问策略:访问控制策略根据用户身份、设备状态、位置、时间等多种因素动态调整,以适应不断变化的安全环境。
微观分割:将网络划分为多个小型的、相互隔离的安全区域,以限制攻击者在网络内的横向移动能力。
安全和基础设施
在构建零信任网络的同时,还需关注以下安全和基础设施方面的要素:
数据备份/恢复:作为重要的运营技术,数据备份在发生灾难或攻击事件时,是恢复业务连续性和数据完整性的关键安全资产。
变更管理:安全策略需要与系统的变化过程紧密关联,确保在提交变更前已充分评估风险,并制定详细的变更管理计划,包括推出计划、回滚计划、影响评估和依赖关系清单。
管理物理环境:数据中心环境的物理和电子安全同样重要,包括物理访问控制、机房环境监控(如功率、温度、气压等)。
事件响应
有效的事件响应机制是零信任网络不可或缺的一部分。事件管理生命周期通常包括以下几个阶段:
准备:了解系统及现有控制措施,通过培训和演练提高组织的应急响应能力。
响应:识别安全事件、进行调查、采取行动以响应事件并恢复业务服务。
后续:事后进一步调查、形成报告、总结经验教训,并据此改进安全流程和策略。
SABSA多层控制策略
SABSA(Sherwood Applied Business Security Architecture)多层控制策略提供了一种全面的安全框架,包括威慑、预防、遏制、检测和通知恢复等多个层次的控制措施。
管理事件响应的方法
NIST特别出版物800-61:计算机安全事件处理指南提供了一种标准化的事件响应方法,包括检测和分析、遏制、根除和恢复以及事件后活动等阶段。此外,PDCA(Plan-Do-Check-Act)循环也被广泛应用于事件响应生命周期的优化和持续改进中。
应急响应准备
在构建全面的应急响应体系时,我们需要从多个维度进行准备,包括但不限于风险评估、威胁分析、人员、流程和技术配置,以及持续的控制和成熟度评估。
一、风险评估与威胁分析
风险评估:深入了解组织的技术资产、系统和数据,并明确它们对业务的重要性,从而确定关键保护对象。
威胁分析:通过策略、技术和实践来识别潜在的风险点,并据此制定和实施相应的控制措施。
二、人员、流程和技术
建立团队:组建专业的应急响应团队,明确各成员的角色和责任。
配备工具:为团队提供必要的应急响应工具和设备,如日志分析工具、网络扫描器等。
制定流程剧本:针对不同类型的安全事件,制定详细的应急响应流程和剧本。
演练:定期进行应急响应演练,以提升团队的实战能力和协同效率。
三、控制
响应手册:编制应急响应手册,明确在不同安全事件发生时应执行的标准操作程序。
事前流程规避:通过制定和执行严格的安全政策和流程,尽可能减少安全事件的发生。
事中数据支持:在事件发生时,提供必要的数据支持和分析工具,帮助团队快速定位问题。
事后备份恢复:确保有可靠的数据备份和恢复机制,以便在事件发生后能够迅速恢复业务。
四、成熟度评估
CREST成熟度评估工具:利用CREST提供的成熟度评估工具,对组织的应急响应能力进行持续评估和改进。
流程培训+实践技能培训:结合理论培训和实践技能培训,提升团队的整体应急响应水平。
五、应急响应手册概述
该手册详细规定了在不同安全事件发生时应执行的标准操作程序,涵盖了扫描、托管威胁、入侵、可用性、信息、欺诈、恶意内容、恶意软件检测、技术诚信和盗窃等多个安全事件类别。每个类别下都包含了具体的应急处理流程和操作规范。
六、演练与沟通
演练:通过红蓝对抗等模拟真实攻击场景的方式,锻炼团队的应急响应能力,并验证应急计划的有效性。
沟通:在应急响应过程中,及时、充分、准确的信息沟通至关重要。沟通对象包括内部员工、外部合作伙伴、客户、媒体和政府等。
七、事件检测与响应
事件上报:一旦发现安全事件,立即进行上报。
系统监控与检查日志告警:利用系统监控工具和日志分析技术,及时发现并响应安全事件。
确定事件级别:根据事件的严重程度和影响范围,确定事件的级别。
调查事件:对事件进行深入调查,包括溯源取证等。
采取遏制措施:根据调查结果,采取必要的遏制措施,防止事件进一步扩大。
八、报告与总结
编写应急响应报告:详细记录事件的经过、处理过程和结果,以及后续的调查计划和改进建议。
经验总结与改进建议:对事件处理过程中的经验和教训进行总结,并提出针对性的改进建议。
九、入侵检测与防御
Snort:利用Snort等入侵检测和防御系统,对网络流量进行实时监控和分析,及时发现并阻止网络威胁。
流量分析:通过流量分析技术,发现恶意流量,并采取相应的告警和阻止措施。
IDS与IPS:根据实际需求,选择合适的部署方式(带外监视或串联部署),以实现更高效的入侵检测和防御。
十、安装依赖包与配置Snort
安装DAQ数据采集库:为Snort提供必要的数据采集支持。
安装内存分配器:确保Snort在运行过程中有足够的内存资源。
安装配置Snort3:根据实际需求,安装并配置Snort3,包括自定义规则等。
自定义规则示例:如针对发往特定系统或子网中IP地址的任何流量发出警报等。
一、文件管理概述(Snort规则配置)
在网络安全监控中,Snort等工具的规则配置是关键。规则定义了如何检测和处理网络流量,并触发相应的告警。这些规则包含多个字段,每个字段都扮演着特定的角色,共同确保网络活动的准确监控。
二、Snort规则配置字段详细描述
alert
含义:指示这是一个告警规则。当流量匹配规则时,Snort将生成告警。
示例:alert icmp any any -> $HOME_NET any (msg"Test Ping Event"; ...)
icmp/tcp/udp
含义:指定要监控的协议类型(如ICMP、TCP、UDP)。
示例:alert icmp ... 或 alert tcp ...
any
作为源/目标IP或CIDR:表示任意IP地址。
作为源/目标端口:表示任意端口。
示例:any any(任意源IP和端口)
< >(方向运算符)
含义:指示流量的方向。
示例:-> 表示从源到目标的流量。
$HOME_NET
含义:在Snort配置中定义的本地网络。
示例:$HOME_NET 替代具体的IP范围。
msg
含义:告警的描述性名称。
示例:msg"Test Ping Event"
sid
含义:规则的唯一签名ID。
示例:sid:1000001
rev
含义:规则的版本号,用于跟踪更新。
示例:rev:1
classtype
含义:告警的分类类型。
示例:classtype:icmp-event
content
含义:在流量中查找的特定内容。
示例:content:"Login incorrect"
三、本地账号与Snort条件子句概述
Snort可通过设置条件子句来监控本地账号相关活动,如失败的登录尝试。当满足条件时,触发告警或执行其他操作。
四、具体Snort条件子句示例及解释
示例:检查失败的telnet登录尝试
规则语句:
alert tcp $HOME_NET 23 -> any any (msg:"Failed login attempt"; content:"Login incorrect"; sid:1000002; rev:1; classtype:attempted-user;)
详细解释:
协议及源目标设定:
alert tcp:针对TCP协议的告警。
$HOME_NET 23:源网络为本地网络,端口为23(Telnet)。
-> any any:流量流向任意目标IP和端口。
告警信息及分类相关:
msg:"Failed login attempt":告警名称为“Failed login attempt”。
content:"Login incorrect":流量中需包含“Login incorrect”字符串。
sid:1000002:规则的唯一签名ID为1000002。
rev:1:规则版本号为1。
classtype:attempted-user:告警分类为“attempted-user”。
五、外部规则集
相关网址:
Proofpoint:可能提供网络安全规则和建议。
Emerging Threats:提供新兴威胁相关的规则集。
六、In Line部署及阻断操作
In Line部署:
Snort直接介入网络流量路径,实现实时处理。
阻断操作:
D drop:丢弃符合特定条件的流量。
sdrop:类似D drop,但具体实现可能有所不同。
reject:拒绝流量并发送拒绝响应给源端。
七、总结
通过综合运用Snort的规则配置、外部规则集以及In Line部署和阻断操作,可以实现对网络活动的全面、有效监控和安全防护。这要求管理员深入理解Snort的配置字段和条件子句,并能够根据实际情况灵活设置和调整规则,以确保网络的安全性和稳定性。