C++ 凯撒密码加密 ShellCode 免杀
0x0 基础知识 凯撒加密: 凯撒加密是一种古典的替代加密技术,也被称为凯撒密码。 凯撒加密是一种位移加密算法,将明文中的每个字母按照一个固定的偏移量进行移动来加密数据。 例如,以 key 为 ...
C++ XOR异或加密 ShellCode 免杀
0x0 基础知识 异或加密(XOR 加密): 异或加密是使用逻辑运算中的异或操作来对数据进行加密的一种方式。 在异或加密中,将明文数据和一个密钥进行逐位进行异或运算,得到的结果就是加密后的密...
C++ 基于资源节 实现 Shellcode Loader
0x0 基础知识 00 原理 将生成的 ShellCode 的 bin 文件放到 资源节 中,然后通过加载资源的方式,读取 ShellCode 并执行 01 文档 FindResourceW - Win32 apps | Microsoft Learn SizeofResource...
C# 创建线程 实现 ShellCode Loader
0x0 基础知识 我们用 msfvenom 生成一个测试用的我 ShellCode,内容为弹出一个计算器, 生成格式为 csharp msfvenom -p windows/exec cmd=calc.exe -f csharp Payload size: 193 bytes Final si...
C++ Fiber 纤程 实现 Shellcode Loader
0x0 基础知识 00 原理 纤程(Fiber)是一种最轻量化的线程(lightweight threads)。它是一种用户线程(user thread),让应用程序可以独立决定自己的线程要如何运作。操作系统内核不能看见它,...
C++ 线程池等待 实现 Shellcode Loader
0x0 基础知识 00 原理 利用创建线程池等待对象 CreateThreadpoolWait() 的回调函数来执行 ShellCode 01 文档 createEventW 函数 (synchapi.h) - Win32 apps | Microsoft Learn createThreadpool...
C++ SEH 异常 实现 Shellcode Loader
0x0 基础知识 00 原理 结构化异常处理(SEH)是Windows操作系统提供的强大异常处理功能。而Visual C++中的__try{}/__finally{}和__try{}/__except{} 结构本质上是对Windows提供的SEH的封装。 使...
C++ VEH 异常 实现 Shellcode Loader
0x0 基础知识 00 原理 VEH 的中文名字: 向量化异常处理(Vectored Exception Handling) VEH 最早出现在XP上 因为只有XP及以上Window版本才支持。目前 Windows 平台下实现和使用的异常处理机制...
C++ CallBack 回调 实现 Shellcode Loader
0x0 基础知识 00 原理 使用 EnumFontsW 函数的回调机制来执行 shellcode。当 EnumFontsW 函数遍历到一个字体时,它将调用 shellcode 作为回调函数来处理字体信息。由于回调函数直接指向 shellco...
C++ TLS 实现 Shellcode Loader
0x0 基础知识 00 TLS 是什么? 线程局部存储(Thread Local Storage,TLS)是一种将数据与特定执行线程关联的机制。当在一个线程内部的各个函数调用之间共享数据,但不让其他线程访问时,可以使...
C++ 线程上下文 实现 Shellcode Loader
0x0 基础知识 00 线程上下文 CONTEXT 每个线程内核对象都维护着一个 CONTEXT结构,里面保存了线程运行的状态,使得CPU可以记得上次运行该线程运行到哪里了,该从哪里开始运行,该线程内部数据如...
C++ UserAPC 实现 Shellcode loader
0x0 基础知识 00 异步过程调用 (APC) 异步过程调用 (APC) 是在特定线程的上下文中异步执行的函数。 当 APC 排队到线程时,系统会发出软件中断。 下次计划线程时,它将运行 APC 函数。 系统生成...