THMAdvancedStaticAnalysis
Introduction在 基本静态分析 房间中,我们研究了恶意软件的特征,如字符串、哈希、导入函数和标头中的其他关键信息,以了解给定恶意软件的用途。在 高级静态分析 中,我们将进一步将恶意软件逆向工程到反汇编代码中,并分析汇编指令,以更好地了解恶意软件的核心功能。
高级静态分析高级静态分析是一种用于分析恶意软件代码和结构而不执行恶意软件的技术。这可以帮助我们识别恶意软件的行为和弱点,并为防病毒软件开发签名以检测它。通过分析恶意软件的代码和结构,研究人员还可以更好地了解它的工作原理并开发新的防御技术。
学习目标
这个房间旨在帮助您获得有效逆向恶意软件所需的知识。它将教您更系统地处理汇编指令,使您能够更轻松地识别重要功能,而不是被每条指令所吸引。
这个房间涵盖的一些主题包括:
了解如何执行高级静态分析。
探索 Ghidra 的反汇编程序功能。
理解和识别汇编中的不同 C 构造。
先决条件参与者应完成以下房间以更好地理解。
x86 架构概述
x86 汇编速成课程
基本静态分析
让我们开始学习吧。
Malware Analysis: Overview恶意软件分析是检查恶意软件(恶意软 ...
THMBasicStaticAnalysis
Introduction在本模块的前几个房间中,我们学习了计算机架构和汇编语言的基础知识。虽然这些主题是学习恶意软件分析的基本构建块,但我们将从这个房间开始分析恶意软件。
先决条件在开始这个房间之前,建议您完成以下房间。
恶意软件分析简介
x86 汇编速成课程
x86 架构概述
学习目标分析恶意软件的第一步通常是在不运行它的情况下查看其属性。这种分析称为静态分析,因为恶意软件是静态的并且没有运行。我们将在这个房间中介绍基本的静态分析。特别是,我们将介绍以下主题。
恶意软件分析实验室设置
在恶意软件中搜索字符串
通过哈希对恶意软件进行指纹识别
基于签名的检测机制
从 PE 标头中提取有用信息
事不宜迟,让我们继续下一个任务,了解如何设置恶意软件分析实验室。
Lab SetupBasic precautions for malware analysis:在分析恶意软件之前,必须了解恶意软件通常具有破坏性。这意味着在分析恶意软件时,很有可能破坏正在分析的环境。这种损害可能是永久性的,消除这种损害可能比分析恶意软件所付出的努力还要多。因此,创建一个能够承受恶意软件破坏性的实验室设置是必 ...
THMWindowsInternals
Introduction操作系统背后蕴含的技术和架构比我们最初看到的要多得多。在这个房间里,我们将观察 Windows 操作系统和常见的内部组件。
学习目标
了解并与 Windows 进程及其底层技术交互。
了解核心文件格式及其使用方式。
与 Windows 内部交互并了解 Windows 内核的运行方式。
由于 Windows 机器构成了企业基础设施的大多数,红队需要了解 Windows 内部结构及其可能被(滥用)使用的方式。红队可以在制作攻击性工具或漏洞时(滥用)使用 Windows 来帮助规避和利用。
在开始这个房间之前,请熟悉 Windows 的基本使用和功能。还建议但不要求具备 C++ 和 PowerShell 的基本编程知识。
Processes进程维护并代表程序的执行;应用程序可以包含一个或多个进程。进程有许多组件,这些组件被分解成多个部分进行存储和交互。Microsoft 文档 分解了这些其他组件,“每个进程都提供执行程序所需的资源。进程具有虚拟地址空间、可执行代码、系统对象的打开句柄、安全上下文、唯一进程标识符、环境变量、优先级类、最小和最大工作集大小以及至少 ...
THMIntrotoMalwareAnalysis
Introduction偶尔,当您担任 SOC 分析师时,您会遇到看似可疑的内容(文件或流量),并且您必须确定该内容是否是恶意的。对此类内容提供的所有混杂信号感到困惑是正常的。对于刚开始从事网络安全工作的人来说,这有点不知所措,并且开始自我猜测是很常见的。知道采取什么步骤来解决这种情况很有帮助。这个房间将列出一些步骤,以帮助您就特定可疑文件做出初步结论。
值得注意的是,在这个房间里,您将了解:
什么是恶意软件?
如何开始分析恶意软件
静态和动态恶意软件分析
帮助您分析恶意软件的资源
让我们开始吧!
Malware Analysis恶意软件恶意软件一词源于“恶意软件”一词。因此,任何具有恶意目的的软件都可以被视为恶意软件。恶意软件根据其行为进一步分为不同的类别。但是,我们不会详细介绍这个房间里的恶意软件。在这里,我们将思考如果我们怀疑在机器中发现恶意软件,我们将采取哪些步骤。那么,让我们开始吧。
恶意软件分析背后的目的恶意软件分析是一项重要的技能。简要概述一下,恶意软件分析由安全行业的以下人员执行:
安全运营团队分析恶意软件以编写针对其网络中恶意活动的检测。
事件响应团队分析恶意软 ...
THMYara
Introduction简介
这个房间需要您了解基本的 Linux 知识,例如安装软件和用于系统常规导航的命令。此外,这个房间并非旨在测试您的知识或得分。它旨在鼓励您跟随并尝试您在这里学到的知识。
与往常一样,我希望您从这个房间中学到一些东西,即 Yara(又一个荒谬的缩写)的奇妙之处及其在当今信息安全中的重要性。Yara 由 Victor M. Alvarez (@plusvic) 和 @VirusTotal 开发。查看 GitHub 存储库 此处。
What is Yara?关于 Yara 的一切
“恶意软件研究人员(以及其他所有人)的模式匹配瑞士军刀”(Virustotal.,2020)
有了这样一句恰当的引言,Yara 可以根据二进制和文本模式(例如文件中包含的十六进制和字符串)识别信息。
规则用于标记这些模式。例如,Yara 规则经常被编写为根据文件呈现的特征(或模式)来确定文件是否是恶意的。字符串是编程语言的基本组成部分。应用程序使用字符串来存储文本等数据。
例如,下面的代码片段在 Python 中打印“Hello World”。文本“Hello World”将存储为字符串 ...
THMMITRE
Introduction to MITRE对于网络安全领域的新手来说,您可能从未听说过 MITRE。我们这些已经了解的人可能只会将 MITRE 与 CVE(常见漏洞和暴露)列表联系起来,这是您在搜索特定漏洞的利用时可能会查看的一种资源。但 MITRE 在网络安全之外的许多领域进行研究,以“确保国家安全、稳定和福祉”。这些领域包括人工智能、健康信息学、太空安全等等。
来自 Mitre.org:“在 MITRE,我们解决问题,让世界更安全。通过我们联邦资助的研发中心和公私合作伙伴关系,我们与政府各部门合作,应对国家安全、稳定和福祉面临的挑战。”
在这个房间里,我们将重点介绍美国非营利组织 MITRE 公司为网络安全社区创建的其他项目/研究,具体包括:
ATT&CK®(对抗战术、技术以及通用知识)框架
CAR(网络分析存储库)知识库
ENGAGE(抱歉,不是花哨的缩写)
D3FEND(检测、拒绝和DisruptionFrameworkEmpoweringNetworkDefense)
AEP(ATT&CKEmulationPlans)
Basic Terminology在 ...
VolatilityCheatSheet
Vol2系统相关判断内存镜像内存信息
vol -f file imageinfo
或者
vol -f file kdbgscan
插件使用:
vol -f file –profile=xxx plugin
timeliner: 将所有操作系统事件以时间线的方式展开
shutdowntime: 最后一次关机时间
envars -p :查询指定进程的环境变量
进程相关pslist:该插件列举出系统进程,但它不能检测到隐藏或者解链的进程,
pstree:以树的形式查看进程列表,和pslist一样,也无法检测隐藏或解链的进程
psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程
dlllist: 列出某一进程加载的所有dll文件
malfind: 用于寻找可能注入到各种进程中的恶意软件,也可以-p指定pid
netscan: 获取网络连接
memdump -p: 转存指定进程的内存
文件相关filescan 扫描当前打开的文件
mftparser:解析MFT记录
mftparser –output-file=file -D output_file
敏感信息 ...
VolatilityTHM
IntroductionVolatility 是一款免费的内存取证工具,由 Volatility Foundation 开发和维护,通常由蓝队中的恶意软件和 SOC 分析师使用,或作为其检测和监控解决方案的一部分。Volatility 用 Python 编写,由 Python 插件和模块组成,旨在以即插即用的方式分析内存转储。
Volatility 适用于 Windows、Linux 和 Mac OS,完全用 Python 编写。
Volatility Overview来自 Volatility Foundation Wiki,“Volatility 是世界上使用最广泛的从易失性存储器 (RAM) 样本中提取数字工件的框架。提取技术完全独立于被调查的系统,但提供了对系统运行时状态的可见性。该框架旨在向人们介绍从易失性存储器样本中提取数字工件的技术和复杂性,并为进一步研究这一令人兴奋的研究领域提供平台。”
Volatility 由多个插件共同构建,用于从内存转储中获取信息。要开始分析转储,您首先需要识别图像类型;有多种识别此信息的方法,我们将在后面的任务中进一步介绍。一旦您对图像类型和 ...
WindowsForensics2THM
Introduction介绍我们在 上一个房间 中学习了 Windows 取证,并练习了从 Windows 注册表中提取取证工件。我们学习了如何从 Windows 注册表中收集系统信息、用户信息、访问的文件和文件夹、运行的程序以及连接到系统的外部设备。
但是,注册表并不是取证工件存在的唯一地方。在这个房间里,我们将了解其他地方的取证工件。我们将了解 Windows 常用的不同文件系统,以及在查找工件时在这些文件系统中查找的位置。我们将确定位置和工件以证明执行、文件/文件夹使用或知识以及外部设备使用的证据。我们还将介绍恢复已删除文件的基础知识。对于这个房间的大部分内容,我们将使用 Eric Zimmerman 的工具 来解析工件中存在的信息。我们已经在上一个房间里使用了 Registry Explorer 和 ShellBags Explorer。对于某些任务,我们将使用 Autopsy。
The FAT file systems计算机系统中的存储设备(例如硬盘驱动器或 USB 设备)只是一组位。要将这些位转换为有意义的信息,需要对它们进行组织。为此,计算机科学家和工程师创建了不同的文件 ...
WindowsForensics1THM
Introduction to Windows ForensicsWindows 计算机取证简介:
计算机取证是网络安全的一个重要领域,涉及收集计算机上执行的活动的证据。它是更广泛的数字取证领域的一部分,涉及所有类型数字设备的取证分析,包括恢复、检查和分析数字设备中的数据。数字和计算机取证的应用范围很广,从法律领域(用于支持或反驳民事或刑事案件中的假设)到私人领域(用于帮助公司内部调查以及事件和入侵分析)。
数字取证解决刑事案件的一个完美例子是 BTK 连环杀手 案。当凶手开始通过寄信来嘲弄警方时,这个案件已经搁置了十多年。当他向当地一家新闻台寄出一张软盘时,案件发生了重大转折,后来被警方作为证据带走。警方成功恢复了驱动器上已删除的 Word 文档,并使用元数据和其他一些证据锁定并逮捕了他。
Microsoft Windows 是目前使用最广泛的桌面操作系统。私人用户和企业更喜欢它,它目前占据了大约 80% 的桌面市场份额。这意味着,对于对数字取证感兴趣的人来说,了解如何在 Microsoft Windows 上执行取证分析非常重要。在本模块中,我们将了解从 Windows 注册表收集 ...
WiresharkTrafficAnalysisTHM
Introduction在这个房间里,我们将介绍使用 Wireshark 进行流量分析和检测可疑活动的技术和要点。请注意,这是 Wireshark 三室中的第三个也是最后一个房间,建议在开始这个房间之前先访问下面列出的前两个房间,练习和复习您的 Wireshark 技能。
Wireshark:基础知识
Wireshark:数据包操作
在前两个房间里,我们介绍了如何使用 Wireshark 并进行数据包级搜索。现在,是时候调查和关联数据包级信息以查看网络流量中的大局,例如检测异常和恶意活动。对于安全分析师来说,通过应用分析师的知识和工具功能来阻止和理解数据包中传播的信息至关重要。这个房间将通过综合分析师知识和 Wireshark 功能来调查数据包级别的详细信息,以检测特定情况下的异常和奇怪情况。
Nmap ScansNmap Scans
Nmap 是一种行业标准工具,用于映射网络、识别活动主机和发现服务。由于它是最常用的网络扫描工具之一,安全分析师应该识别用它创建的网络模式。本节将介绍如何识别最常见的 Nmap 扫描类型。
TCP 连接扫描
SYN 扫描
UDP 扫描
了解 Nm ...
WiresharkPacketOperationsTHM
Introduction在这个房间里,我们将介绍使用 Wireshark 进行数据包分析的基础知识,并在数据包级别调查感兴趣的事件。请注意,这是 Wireshark 房间三重奏中的第二个房间,建议在开始这个房间之前先访问第一个房间 (Wireshark:基础知识) 来练习和刷新您的 Wireshark 技能。
在第一个房间里,我们介绍了 Wireshark 的基础知识,重点介绍了它的运行方式以及如何使用它来调查流量捕获。在这个房间里,我们将介绍 Wireshark 的高级功能,重点介绍数据包级别的详细信息,包括 Wireshark 统计信息、过滤器、运算符和函数。
Statistics | Summary统计信息
此菜单提供多个可供调查的统计信息选项,帮助用户了解流量范围、可用协议、端点和对话以及某些特定于协议的详细信息(如 DHCP、DNS 和 HTTP/2)的总体情况。对于安全分析师来说,了解如何利用静态信息至关重要。本节简要介绍了已处理的 pcap,这将有助于分析师为调查创建假设。您可以使用“统计信息”菜单查看所有可用选项。现在启动给定的 VM,打开 Wireshark,加载“E ...
