12、C++Fiber实现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中添加异常处理机制。
摘要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中添加异常处理机制。
摘要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处理器,实现链式处理。
摘要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回调中添加反调试检测。
摘要1、课程目标 1. 理解线程上下文(CONTEXT)结构 2. 掌握GetThreadContext/SetThreadContext的使用 3. 实现通过修改线程上下文执行ShellCode 4. 了解线程劫持技术 2、名词解释 3、代码实现 4、课后作业 4.1、作业1:实现完整的进程镂空 实现完整的Process Hollowing技术。 4.2、作业2:保存和恢复原始执行流 在ShellCode执行完后,恢复原始的执行流程。
摘要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注入,使其更加隐蔽。
摘要1、课程目标 1. 理解Windows堆内存管理机制 2. 掌握创建可执行堆的方法 3. 实现使用堆内存执行ShellCode 4. 了解堆执行的优缺点 2、名词解释 3、代码实现 4、课后作业 4.1、作业1:实现堆喷射 使用多次堆分配实现简单的堆喷射技术。 4.2、作业2:添加堆加密 在堆中存储加密的ShellCode,执行前解密。
摘要1、课程目标 1. 掌握Python调用Windows API的ctypes库 2. 理解动态加载DLL和函数的方法 3. 实现Python版本的ShellCode Loader 4. 了解Python在渗透测试中的应用 2、名词解释 3、代码实现 1. 基础Python Loader 2. 高级功能 3、课后作业 3.1、作业1:添加RC4加密 实现RC4加密解密支持。 3.2、作业2:实现进程镂空 使用Python实现进程镂空技术。 3.3、作业3:打包为EXE 使用PyInstaller或Nuitka将脚本打包为独立EXE。
摘要1、课程目标 1. 掌握C#调用Windows API的P/Invoke技术 2. 理解托管代码与非托管代码的交互 3. 实现C#版本的ShellCode Loader 4. 了解.NET程序的免杀特性 2、名词解释 3、代码实现 1. 基础C# Loader 2. 使用D/Invoke (更隐蔽) 3、课后作业 3.1、作业1:实现AES解密 添加AES-256-CBC解密支持。 3.2、作业2:实现远程注入 使用OpenProcess和CreateRemoteThread实现远程注入。 3.3、作业3:添加AMSI绑过 研究并实现AMSI绑过技术。
摘要1、课程目标 1. 掌握Go语言调用Windows API的方法 2. 理解syscall和unsafe包的使用 3. 实现Go版本的ShellCode Loader 4. 了解Go编译的免杀特性 2、名词解释 3、使用工具 4、技术原理 4.1、Go调用Windows API 5、代码实现 1. 基础Go Loader 2. 高级Go Loader 3、课后作业 3.1、作业1:添加更多加密算法 实现RC4和ChaCha20加密解密支持。 3.2、作业2:实现进程镂空 使用Go实现进程镂空(Process Hollowing)技术。 3.3、作业3:添加沙箱检测 实现常见沙箱环境的检测功能。
摘要1、课程目标 1. 掌握使用CreateThread执行ShellCode 2. 理解远程线程注入的原理和实现 3. 了解线程执行的优势和应用场景 4. 实现完整的远程线程注入Loader 2、名词解释 3、使用工具 4、技术原理 1. 本地线程执行流程 2. 远程线程注入流程 3、代码实现 1. 本地线程Loader 2、课后作业 2.1、作业1:实现进程名注入 扩展程序,支持通过进程名而不是PID进行注入。 2.2、作业2:添加DLL注入 结合远程线程技术,实现DLL注入功能。 2.3、作业3:实现隐蔽注入 使用NtCreateThreadEx的挂起+APC方式实现更隐蔽的注入。