jeremyt12345/Introduction-To-Malware-Malware-Analysis
GitHub: jeremyt12345/Introduction-To-Malware-Malware-Analysis
一份以备考复习为目的的恶意软件分析入门学习笔记,系统整理了恶意软件分类、分析技术和 Windows 底层机制,并配有 pestudio 与 x64dbg 的实操练习。
Stars: 0 | Forks: 0
# 恶意软件与分析简介
这只是用我自己的话对这个有趣主题进行的拆解,以便在我的考试窗口开放时作为理解的参考。
恶意软件定义
- 恶意软件只是旨在渗透、利用或破坏计算机系统、网络和数据的恶意软件。
恶意软件类型
病毒 - 就像生活在活体内的病毒一样,它们需要宿主来维持生存并执行其操作。这些操作的范围从破坏操作系统到甚至在网络中传播。
蠕虫 - 蠕虫是自主的恶意软件,能够在无需人工干预的情况下通过网络进行自我复制。它们利用网络漏洞未经授权地入侵系统。
木马 — 将自身伪装成合法软件以欺骗用户运行它们,然后为远程访问和数据窃取创建后门。
勒索软件 — 加密您的文件并要求支付赎金以换取解密密钥,从而造成重大的财务和运营损害。
间谍软件 — 静默监控用户活动,在用户不知情的情况下捕获击键、凭证和浏览习惯。
广告软件 — 向受感染的系统大量投放不需要的广告,并可能出于定向广告的目的跟踪用户行为。
僵尸网络 — 由中央服务器控制的受感染设备网络,用于 DDoS 攻击、垃圾邮件活动或传播恶意软件。
Rootkit — 深度嵌入的恶意软件,隐藏在操作系统内部,使其极难被检测或移除,同时保持持久的访问权限。
后门/RATs — 为攻击者提供对受感染系统的持久远程访问和控制,以便进行持续的利用。
Droppers — 充当传递载体,在已受感染的系统上秘密安装额外的恶意软件 payload。
信息窃取程序 — 专门针对并窃取敏感数据(如凭证和个人信息),这些数据通常在暗网上出售或用于身份盗用。
工具
我们可以使用一些免费的或付费的资源/工具来分析恶意软件样本,例如 VirusShare、Hybrid Analysis、TheZoo、Malware-Traffic-Analysis、VirusTotal、ANY.Run、Contaigo Malware Dump 和 VX Underground。
恶意软件分析的定义、目的和常见活动
通过了解恶意软件的类型、范围和后果,我们可以更好地开发预防这些攻击的机制。分析的目的包括检测与分类、逆向工程、行为分析和威胁情报。
恶意软件分析技术
静态分析 — 在不运行恶意软件的情况下检查其代码,查看文件结构、字符串、签名和元数据,以初步了解其功能。
动态分析 — 在沙箱等安全、隔离的环境中执行恶意软件,以观察其实时行为,包括网络流量、系统调用和文件更改。
代码分析 — 反汇编或反编译恶意软件的代码,以了解其逻辑、加密方法、C2 基础设施、混淆技术和潜在的 IOC。
内存分析 — 检查恶意软件如何与系统内存交互,以揭示注入的代码、hook、rootkit 和其他运行时篡改技术。
恶意软件脱壳 — 对加壳或混淆的恶意软件进行逆向工程,剥离其压缩或加密层,暴露出原始的恶意代码以供分析。
Windows 内部机制
用户模式 — 普通应用程序运行的地方,具有受限的系统访问权限,通过 API 进行交互且彼此隔离。这里的恶意软件仍然可以操纵文件、注册表和网络连接,并且可能会尝试提权以获取更多控制权。
内核模式 — 高度特权的层级,Windows 内核和设备驱动程序在此运行,拥有对硬件和系统资源的无限制访问权限。在此运行的恶意软件会获得深度控制权,使其能够隐藏自身、拦截系统调用并篡改安全机制。
恶意软件 API 调用流程
恶意软件通常利用 Windows API 调用与系统交互并执行恶意操作。
在下文中,我被提示首次使用两个新工具 Pestudio 和 x64dbg 进行静态和动态的恶意软件分析。
Q1 : 在本节目标的 C:\Samples\MalwareAnalysis 目录中,有一个名为 potato.exe 的文件。使用 pestudio (C:\Tools\pestudio\pestudio) 检查此可执行文件的各个节,并提供 .text 节的熵值作为您的答案。
Q2 : 在本节目标的 C:\Samples\MalwareAnalysis 目录中,有一个名为 potato.exe 的文件。使用 x64dbg (C:\Tools\x64dbg\release\x64) 打开此可执行文件并导航到 Symbols 选项卡。输入名称以 "Attach" 开头的导出 Kernel32.dll 函数。答案格式:Attach_
Q2 : 在本节目标的 C:\Samples\MalwareAnalysis 目录中,有一个名为 potato.exe 的文件。使用 x64dbg (C:\Tools\x64dbg\release\x64) 打开此可执行文件并导航到 Symbols 选项卡。输入名称以 "Attach" 开头的导出 Kernel32.dll 函数。答案格式:Attach_
标签:DAST, 合规性检查, 学习笔记, 恶意软件分析, 网络安全, 防御加固, 隐私保护