1、通信架构与客户端上线功能

2023年11月16日远程控制开发基础

摘要1、课程目标 1. 理解C&C(Command & Control)通信架构 2. 掌握远程控制的基本通信模式 3. 实现客户端主动上线功能 4. 设计可扩展的通信协议 2、名词解释 3、技术原理 1. 通信架构模式 2. 系统架构 3. 通信协议设计 4、代码实现 1. 服务端(控制端) 2. 客户端(被控端) 3、课后作业 3.1、作业1:添加加密通信 为通信协议添加XOR或AES加密。 3.2、作业2:实现多服务器支持 客户端支持连接多个备用服务器。 3.3、作业3:添加认证机制 实现简单的客户端认证功能。

15、阶段合集

2023年11月15日shellcode loader

摘要1、课程目标 1. 回顾和整合所有ShellCode Loader技术 2. 构建统一的Loader框架 3. 理解各种技术的适用场景 4. 掌握组合使用多种技术的方法 2、知识回顾 2.1、ShellCode Loader技术分类 2.2、技术对比 3、代码实现 1. 统一Loader框架 2. 使用示例 3. 命令行工具 4、章节总结 本章系统学习了ShellCode Loader的各种技术: 1. 基础技术:函数指针、内联汇编、线程执行 2. 多语言实现:Go、C#、Python各有特点 3. 高级技术:APC、线程上下文、TLS、异常处理、Fiber、回调 4. 实战应用:统一框架、加密解密、反检测 选择合适的Loader技术需要考虑: - 目标环境的安全软件 - 执行场景(本地/远程) -…

14、C++CallBack实现shellcode loader

2023年11月14日shellcode loader

摘要1、课程目标 1. 理解Windows回调函数机制 2. 掌握各种回调API的使用方法 3. 实现多种回调方式执行ShellCode 4. 了解回调执行的隐蔽性 2、名词解释 3、代码实现 3.1、更多回调方式汇总 4、课后作业 4.1、作业1:发现更多回调 查找并测试更多可用于执行ShellCode的回调API。 4.2、作业2:回调链 实现多个回调的链式调用。

13、C++SEH实现shellcode loader

2023年11月13日shellcode loader

摘要1、课程目标 1. 理解SEH(结构化异常处理)机制 2. 掌握try/except的使用 3. 实现SEH方式执行ShellCode 4. 了解SEH链的操作 2、名词解释 3、代码实现 4、课后作业 4.1、作业1:SEH链遍历 实现遍历当前线程的SEH链。 4.2、作业2:SafeSEH绑过 研究SafeSEH保护机制及其绕过方法。

12、C++Fiber实现shellcode loader

2023年11月12日shellcode loader

摘要1、课程目标 1. 理解Windows纤程(Fiber)机制 2. 掌握Fiber的创建和切换 3. 实现Fiber方式执行ShellCode 4. 了解Fiber的隐蔽性特点 2、名词解释 3、代码实现 4、课后作业 4.1、作业1:Fiber池 实现一个Fiber池,管理多个ShellCode执行。 4.2、作业2:Fiber与异常 在Fiber中添加异常处理机制。

11、C++VEH实现shellcode loader

2023年11月11日shellcode loader

摘要1、课程目标 1. 理解VEH(向量异常处理)机制 2. 掌握AddVectoredExceptionHandler的使用 3. 实现VEH方式执行ShellCode 4. 了解异常处理在免杀中的应用 2、名词解释 3、代码实现 4、课后作业 4.1、作业1:实现Guard Page触发 使用PAGE_GUARD触发异常来执行ShellCode。 4.2、作业2:多层VEH 注册多个VEH处理器,实现链式处理。

10、C++TLS实现shellcode loader

2023年11月06日shellcode loader

摘要1、课程目标 1. 理解TLS(线程本地存储)回调机制 2. 掌握TLS回调的注册和执行时机 3. 实现TLS回调方式执行ShellCode 4. 了解TLS的免杀特性 2、名词解释 3、代码实现 3.1、TLS DLL版本 4、课后作业 4.1、作业1:多个TLS回调 实现注册多个TLS回调函数。 4.2、作业2:反调试TLS 在TLS回调中添加反调试检测。

9、C++线程上下文实现shellcode loader

2023年11月03日shellcode loader

摘要1、课程目标 1. 理解线程上下文(CONTEXT)结构 2. 掌握GetThreadContext/SetThreadContext的使用 3. 实现通过修改线程上下文执行ShellCode 4. 了解线程劫持技术 2、名词解释 3、代码实现 4、课后作业 4.1、作业1:实现完整的进程镂空 实现完整的Process Hollowing技术。 4.2、作业2:保存和恢复原始执行流 在ShellCode执行完后,恢复原始的执行流程。

8、C++UserAPC实现shellcode loader

2023年11月03日shellcode loader

摘要1、课程目标 1. 理解APC(异步过程调用)机制 2. 掌握QueueUserAPC的使用方法 3. 实现APC方式执行ShellCode 4. 了解APC注入的隐蔽性 2、名词解释 3、代码实现 4、课后作业 4.1、作业1:实现AtomBombing 研究AtomBombing技术并实现简单版本。 4.2、作业2:优化Early Bird 改进Early Bird注入,使其更加隐蔽。

7、C++可执行堆实现shellcode loader

2023年10月30日shellcode loader

摘要1、课程目标 1. 理解Windows堆内存管理机制 2. 掌握创建可执行堆的方法 3. 实现使用堆内存执行ShellCode 4. 了解堆执行的优缺点 2、名词解释 3、代码实现 4、课后作业 4.1、作业1:实现堆喷射 使用多次堆分配实现简单的堆喷射技术。 4.2、作业2:添加堆加密 在堆中存储加密的ShellCode,执行前解密。