摘要1. 课程目标 深入学习ETW (Event Tracing for Windows) 绕过技术。 2. ETW简介 ETW是Windows的事件跟踪机制,安全软件用它来监控: - 进程创建/终止 - 线程创建 - 模块加载 - 网络活动 - 等等 3. ETW绕过方法 3.1 Patch EtwEventWrite 3.2 Patch NtTraceEvent 3.3 禁用Provider 4. 检测ETW状态 5. 课后作业 5.1、作业1:ETW Patch(必做) 1. 实现EtwEventWrite的patch 2. 验证ETW事件不再产生 5.2、作业2:恢复检测(进阶) 1. 编写检测ETW是否被patch的工具 2. 研究安全软件的ETW保护机制 6. 下一课预告…
摘要1. 课程目标 继续补充ShellCode加载方式,完成免杀专题学习。 2. 更多加载方式 2.1 RtlCreateUserThread 2.2 SetTimer回调 2.3 SetWindowsHookEx 2.4 CopyFileEx回调 3. 内存注入总结 4. 免杀专题总结 本章我们学习了: 1. 进程伪装与注入 - 进程镂空、模块镂空、APC注入 2. API绑过 - 直接Syscall、NTDLL重载、ETW绕过 3. UAC绕过 - 白名单利用、DLL劫持、COM对象 4. 保护机制 - PPL、ACG、CFG 5. ShellCode技术 - 加密、混淆、花指令 6. 检测绕过 - 特征码定位、行为欺骗、反调试 5. 课后作业 5.1、作业1:综合项目(必做) 1.…
摘要1. 课程目标 补充更多ShellCode加载方式的基础知识。 2. 加载方式汇总 2.1 内联汇编 2.2 函数指针 2.3 CreateThread 2.4 Fiber纤程 2.5 NtCreateThreadEx 3. 课后作业 3.1、作业1:多方式测试(必做) 1. 测试5种不同的加载方式 2. 比较被检测情况 3.2、作业2:组合使用(进阶) 1. 将加密与加载方式组合 2. 评估免杀效果 4. 下一课预告 下一课我们将继续补充基础ShellCode加载方式。
摘要1. 课程目标 结合异常处理与反调试技术,实现更隐蔽的ShellCode执行。 2. 异常反调试 2.1 利用异常检测调试器 2.2 NtSetInformationThread隐藏 3. 组合技术 4. 课后作业 4.1、作业1:异常反调试(必做) 1. 实现基于异常的调试器检测 2. 结合ShellCode执行 4.2、作业2:组合技术(进阶) 1. 将多种反调试技术组合 2. 测试对不同调试器的效果 5. 下一课预告 下一课我们将补充基础ShellCode加载方式。
摘要1. 课程目标 学习使用异常处理机制来执行ShellCode。 2. 异常处理基础 Windows异常处理类型: - SEH (Structured Exception Handling) - 结构化异常处理 - VEH (Vectored Exception Handling) - 向量化异常处理 3. VEH加载ShellCode 4. SEH加载ShellCode 5. 硬件断点触发 6. 课后作业 6.1、作业1:VEH加载(必做) 1. 实现VEH方式加载ShellCode 2. 测试执行效果 6.2、作业2:硬件断点(进阶) 1. 使用硬件断点触发ShellCode执行 2. 研究检测方法 7. 下一课预告 下一课我们将补充更多异常ShellCode加载和反调试方法。
摘要1. 课程目标 学习如何隐藏已加载的DLL模块,避免被检测工具发现。 2. 隐藏方法 2.1 从PEB.Ldr链表中摘除 2.2 修改模块名称 3. 检测隐藏模块 4. 课后作业 4.1、作业1:隐藏模块(必做) 1. 实现从PEB链表中摘除模块 2. 使用Process Hacker验证效果 4.2、作业2:检测隐藏(进阶) 1. 实现扫描隐藏模块的工具 2. 测试检测效果 5. 下一课预告 下一课我们将学习更多异常ShellCode加载方式。
摘要1. 课程目标 深入学习DLL劫持技术,用于持久化和代码执行。 2. DLL劫持原理 3. 实现代码 3.1 代理DLL 3.2 查找可劫持的DLL 3.3 自动转发 4. 常见劫持目标 5. 课后作业 5.1、作业1:查找目标(必做) 1. 使用Process Monitor找出可劫持的DLL 2. 记录目标程序和DLL名称 5.2、作业2:代理DLL(进阶) 1. 创建一个代理DLL 2. 测试劫持效果 6. 下一课预告 下一课我们将学习隐藏模块技术。
摘要1. 课程目标 学习APC (Asynchronous Procedure Call) 注入技术。 2. APC原理 3. 实现代码 3.1 基础APC注入 3.2 Early Bird APC注入 4. 课后作业 4.1、作业1:基础APC(必做) 1. 实现APC注入到explorer.exe 2. 验证ShellCode执行 4.2、作业2:Early Bird(进阶) 1. 实现Early Bird APC注入 2. 比较与普通APC的区别 5. 下一课预告 下一课我们将学习DLL劫持技术。
摘要1. 课程目标 学习ShellCode页面反转技术,通过切换内存权限来绕过内存扫描。 2. 技术原理 3. 实现代码 3.1 基础页面反转 3.2 定时反转 4. 高级技术 4.1 需要时解密 5. 课后作业 5.1、作业1:基础反转(必做) 1. 实现ShellCode页面的加密/解密切换 2. 验证内存扫描时ShellCode是加密状态 5.2、作业2:自动反转(进阶) 1. 实现空闲时自动加密 2. 访问时自动解密 6. 下一课预告 下一课我们将学习ETW绕过技术。
摘要1. 课程目标 深入学习函数调用序列欺骗技术,包括调用栈伪造和行为欺骗。 2. 调用栈伪造 2.1 x64调用栈结构 2.2 伪造实现 3. 行为序列欺骗 3.1 正常行为模拟 3.2 时间分散 4. 课后作业 4.1、作业1:行为分散(必做) 1. 将注入操作分散到多个时间点 2. 在操作间插入正常行为 4.2、作业2:调用栈分析(进阶) 1. 分析安全软件如何检测调用栈 2. 设计绕过方案 5. 下一课预告 下一课我们将学习ShellCode页面反转技术。