10、进程镂空

2025年08月06日免杀专题

摘要1. 课程目标 掌握进程镂空(Process Hollowing)技术,这是一种高级的代码注入技术,通过替换合法进程的内存映像来执行恶意代码。 1.1 学习目标 - 理解进程镂空的工作原理 - 掌握进程创建与挂起技术 - 学会解映射与重新映射操作 - 实现完整的进程镂空注入 2. 名词解释 3. 技术原理 3.1 进程镂空 vs 进程挂起注入 3.2 技术流程 4. 必备工具与环境 5. 核心数据结构 5.1 必要的类型定义 5.2 PEB中ImageBaseAddress偏移 6. 完整实现代码 6.1 主函数实现 7. 关键技术点详解 7.1 为什么需要解映射 7.2 线程上下文寄存器 8. 常见问题与解决 8.1 解映射失败 原因: 某些系统DLL可能已经映射到目标区域 解决:…

9、Windows日志绕过

2025年08月05日免杀专题

摘要1. 课程概述 1.1 学习目标 - 理解Windows事件日志机制 - 掌握ETW(Event Tracing for Windows)原理 - 学会禁用或绕过日志记录 - 理解安全软件的日志监控方式 2. 名词解释 3. 技术原理 3.1 ETW架构 3.2 关键的ETW Provider 4. 实现代码 4.1 禁用ETW(Patch EtwEventWrite) 4.2 利用NtTraceEvent绕过 4.3 清除事件日志 5. AMSI绕过 5.1 Patch AmsiScanBuffer 6. 安全注意事项 - 禁用日志本身可能被检测 - 清除日志需要管理员权限 - 兩游检测可能发现异常 7. 课后作业 1. 实现ETW bypass并验证效果 2. 研究其他ETW Provider的禁用方法…

8、进程挂起注入执行ShellCode

2025年08月04日免杀专题

摘要1. 课程概述 1.1 学习目标 - 理解进程挂起状态的原理 - 掌握Process Hollowing技术 - 学会在挂起进程中注入ShellCode - 理解如何绕过进程创建监控 2. 名词解释 3. 技术原理 4. 实现代码 4.1 基本挂起进程注入 4.2 使用QueueUserAPC的方式 5. 免杀优势 - 利用合法进程身份 - 挂起状态时无法检测行为 - 可选择可信的系统进程 6. 课后作业 1. 实现挂起进程注入并弹出计算器 2. 尝试注入到不同的系统进程 3. 对比APC和Context修改的效果 7. 下一课预告 下一课我们将学习“Windows日志绕过”。

7、映射注入执行ShellCode

2025年07月14日免杀专题

摘要1. 课程概述 1.1 学习目标 - 理解Windows内存映射机制 - 掌握Section映射注入技术 - 学会使用NtCreateSection/NtMapViewOfSection - 理解如何绕过常见内存分配检测 2. 名词解释 2.1 与VirtualAlloc的区别 3. 实现代码 3.1 本地映射注入 3.2 远程进程映射注入 4. 免杀优势 - 不使用VirtualAllocEx - 不使用WriteProcessMemory - 内存类型为Mapped而非Private - 共享内存不容易被检测 5. 课后作业 1. 实现本地Section映射执行ShellCode 2. 实现跨进程的映射注入 3. 对比VirtualAlloc与Section映射的检测效果 6. 下一课预告…

6、重载NTDLL

2025年07月08日免杀专题

摘要1. 课程概述 1.1 学习目标 - 理解安全软件Hook ntdll的方式 - 掌握从磁盘重新加载ntdll的技术 - 学会使用干净ntdll副本绕过Hook - 理解内存映射与PE加载机制 1.2 前置知识 - PE文件结构 - 内存映射基础 - API Hook原理 2. 名词解释 2.1 核心术语 2.2 为什么需要重载NTDLL 3. 实现方案 3.1 方案比较 4. 实现代码 4.1 从磁盘读取并重载 4.2 从KnownDLLs读取 4.3 完整加载器示例 5. 检测与对抗 5.1 安全软件可能的检测方式 - 监控对ntdll.dll文件的访问 - 检测.text段的修改 - 重新Hook 5.2 绕过思路 - 从其他位置获取ntdll(如WoW64) - 使用挂起进程技术 -…

20、查杀原理

2025年07月03日免杀专题

摘要1. 课程目标 深入了解安全软件的查杀原理,为后续的免杀技术学习打下理论基础。 1.1 学习目标 - 理解杀毒软件的工作原理 - 掌握静态检测与动态检测的区别 - 了解机器学习在安全检测中的应用 - 学会分析样本被查杀的原因 2. 名词解释 3. 检测技术分类 3.1 检测层次 4. 静态检测技术 4.1 特征码检测 4.2 哈希检测 4.3 PE结构分析 5. 动态检测技术 5.1 API监控 5.2 行为规则 5.3 沙箱分析 6. 机器学习检测 6.1 特征提取 6.2 检测模型 7. 云查杀机制 7.1 工作流程 7.2 信誉系统 8. AMSI机制 8.1 AMSI工作原理 8.2 AMSI扫描点 9. 免杀思路总结 10. 课后作业 10.1、作业1:特征分析(必做) 1.…

4、遍历内存快执行ShellCode

2025年07月01日免杀专题

摘要1. 课程概述 1.1 学习目标 - 理解Windows内存分页机制 - 掌握内存区域遍历技术 - 学会在现有可执行内存中注入ShellCode - 理解如何绕过内存分配检测 1.2 前置知识 - Windows内存管理基础 - 内存保护属性概念 - VirtualQuery API使用 2. 名词解释 2.1 核心术语 2.2 内存保护属性 3. 技术原理 3.1 为什么遍历内存块 1. 避免分配新内存:VirtualAlloc调用可能被监控 2. 利用现有可执行内存:寻找RWX或可写的可执行区域 3. Code Cave注入:在现有模块的空洞中写入代码 3.2 遍历流程 4. 实现代码 4.1 遍历进程内存 4.2 查找可执行可写区域 4.3 在现有模块中注入执行 5. 免杀应用 5.1 优势 -…

3、未导出API执行ShellCode

2025年06月15日免杀专题

摘要1. 课程概述 1.1 学习目标 通过本课时的学习,你将掌握: - 理解Windows导出表与未导出API的区别 - 掌握动态获取未导出API地址的方法 - 学会使用未导出API执行ShellCode - 理解如何绕过导入表检测 1.2 前置知识 - PE文件结构基础 - Windows API调用机制 - 内存操作基础 2. 名词解释 2.1 核心术语 2.2 API调用层次 2.3 为什么使用未导出API 1. 绕过IAT Hook:安全软件通常Hook导出API 2. 绕过导入表检测:不在导入表中留下痕迹 3. 调用更底层的功能:绕过高层安全检查 3. 必备工具 4. 技术原理 4.1 导出API vs 未导出API 4.2 获取未导出API的方法 1. 特征码搜索:在内存中搜索函数特征 2.…

2、栈溢出调用CALL

2025年06月13日免杀专题

摘要1. 课程概述 1.1 学习目标 通过本课时的学习,你将掌握: - 理解函数调用时的栈结构 - 掌握栈溢出漏洞的原理 - 学会利用栈溢出执行ShellCode - 理解如何在免杀中应用栈溢出技术 1.2 前置知识 - C/C++基础语法 - 汇编语言基础(x86/x64) - 内存布局和地址空间概念 - ShellCode基本概念 2. 名词解释 2.1 核心术语 2.2 寄存器对照表 3. 必备工具 3.1 开发工具 3.2 调试工具 3.3 辅助工具 4. 栈结构详解 4.1 函数调用栈布局(32位) 4.2 函数调用过程 4.3 64位调用约定差异 5. 栈溢出原理 5.1 漏洞代码示例 5.2 溢出过程图解 5.3 计算溢出偏移 6. 实现代码 6.1 漏洞程序(关闭安全特性) 6.2…

1、R3进程伪装

2025年06月09日免杀专题

摘要1. 课程概述 1.1 学习目标 通过本课时的学习,你将掌握: - 理解Windows进程内存结构(PEB/TEB) - 掌握进程伪装的核心技术 - 学会使用相关工具进行分析和验证 - 理解免杀中进程伪装的作用 1.2 前置知识 - C/C++基础语法 - Windows API基本使用 - 指针与内存结构 - 对PE文件格式有基本了解 2. 名词解释 2.1 核心术语 2.2 Windows内存结构图 2.3 什么是进程伪装 进程伪装是指修改进程的PEB结构,使得在任务管理器、进程查看器等工具中显示为其他进程的名称或路径。 应用场景: - 绕过基于进程名的白名单检测 - 伪装成系统进程规避用户怀疑 - 混淆安全分析人员的视线 2.4 技术原理图解 3. 必备工具 3.1 开发环境 3.2 分析工具 3.3…