先说定性
银狐攻击的技术本质上依然是已知著名老套技术玩出新花样。
根本原因是它不是在跟你的检测逻辑对抗,而是在跟你的认知盲区对抗。 这就是它的精髓。
银狐种类分为这三种:
1.Loader
2.Rat
3.Agent
不是单一的Rat
那么它到底有什么癖好(不从社工角度)
1.喜欢跟你装成熟人
它极度依赖系统内置的白名单机制。例如,它通过 LoadLibraryExW 加载 DLL 时,用的是 LOAD_LIBRARY_AS_DATAFILE 标志——这意味着它不执行该 DLL 的入口点,只是把它当数据读进内存,以此来规避“加载恶意模块”的监控。它访问 crl.verisign.com 和 crl4.digicert.com等白名单网站,纯粹是为了利用这些“全球顶级信任域名”来做流量伪装,让防火墙以为它在做正常的证书吊销检查。
而且呢它也喜欢和windows的白名单程序说悄悄话,特别喜欢csc,notepad,explorer等等
第二呢特别喜欢借尸还魂(b站里经常说的白加黑)
它很偏爱 Windows 自带的工具。它启动 powershell.exe 时,一定要带一个签名的脚本文件作为“外壳”,然后通过 各种安全方式 传入真正的恶意载荷。例如它把 vssadmin 和 wmic 当作自己的“手”,利用它们来删除系统还原点或执行横向移动。
第三呢特别喜欢双脚不落地
就是特别喜欢DLL反射加载(我也不知道为啥),进程注入等行为实现无文件落地
第四呢深信多疑
他启动后巴不得要通过各种方式检查自己是否被调试,是否自己在虚拟机,自己在沙箱里。
第五喜欢留后手
它不满足于一种持久化方式。注册表、计划任务、启动文件夹(LNK)、WMI 定时器,它全都用上。哪怕你删了注册表项,它还有计划任务在;哪怕你清了计划任务,它的双进程守护还在
那么为啥能让你会产生恐惧?
第一你的杀软被关闭
它喜欢BYOVD,释放一个带有合法数字签名的驱动文件(虽然该驱动本身有漏洞),加载到内核后,利用该漏洞获取 SeDebugPrivilege 或直接操作内核对象,从而强制终止杀软进程或修改杀软的挂钩(Hook)。
或者使用WDAC禁用你的杀软(这个现在被银狐玩得烂大街了)
第二喜欢东躲西藏
把自己藏到你认为安全的地方或深处,让你找不到或者干脆把自己隐藏了不告诉你它的存在。
第三杀死又复活了
它的母体进程和子进程(通常是 PowerShell)会互相看守。你用任务管理器结束了 PowerShell,母体进程立刻 WaitForSingleObject 返回,随即调用 CreateProcess 再拉起来。这种进程守护,让手动查杀变得极难彻底完成,专门和你玩量子纠缠。
另外也喜欢保护自己的文件,删掉后又会回来。
(把自己的文件后缀改成tmp存起来,你就以为安全了是个临时文件,以及一些看起来不常见的后缀或非可执行文件里藏的就是关键代码shellcode)
第四它留下了合法的考勤记录
它的所有网络通信都走 HTTPS 或自定义加密,且流量特征模拟了浏览器访问 CRL 文件(证书吊销列表)。这让它在网络层看起来像一个正常的系统更新或证书验证进程,根本不会触发“外联可疑 IP”的告警,通过这个传输窃取到的数据。
所以呢这四点会让你觉得银狐很可怕
本质上银狐就是一个实用加实战主义
每一个 API 调用,单拎出来都合情合理;每一个网络请求,单拎出来都是合法域名;每一个子进程,单拎出来都是系统自带工具。但这一连串的“合情合理”组合在一起,就是一场完美的盗窃与持久战。
总结:作者既喜欢装高深,又喜欢普通技术。
附录:
ATT&CK MATRIX 支持
初始访问(Initial Access)
T1566.001鱼叉式附件通过微信/QQ群发送伪装成“财务名单”、“WPS安装包”的压缩包
T1204.002用户执行:恶意文件诱导用户双击 Inno Setup 安装包
执行(Execution)
T1059.001PowerShell通过 代码登录后可见 签名脚本执行动态载荷
T1059.003Windows Command Shell使用 代码登录后可见 启动 代码登录后可见 和 代码登录后可见
T1055进程注入将 Shellcode 注入 代码登录后可见 / 代码登录后可见
T1047Windows Management Instrumentation(WMI)通过 WMI 创建计划任务和进程(代码登录后可见)
T1129共享模块通过 代码登录后可见 以数据文件方式加载 DLL
持久化(Persistence)
T1053.005计划任务通过 WMI 创建计划任务
T1547.001注册表启动项写入 代码登录后可见
T1547.009快捷方式修改在启动文件夹创建 LNK 快捷方式
T1546.015组件对象模型劫持可能通过 COM 劫持实现持久化
T1543.003Windows 服务可能创建服务
防御规避(Defense Evasion)
T1562.001禁用安全工具BYOVD(自带漏洞驱动)/WDAC强制结束 360/火绒进程
T1562.002禁用 Windows 事件日志可能通过驱动修改日志记录
T1548.002绕过用户帐户控制(UAC)可能通过 COM 提升或计划任务绕过
T1497.001沙箱/虚拟机检测检测 代码登录后可见、CPU 核心数、硬盘大小
T1027.002软件打包使用 Inno Setup 封装
T1027.005模糊文件或信息Delphi VMT 虚表调用、SEH 嵌套、代码登录后可见 混淆
T1070.001删除卷影副本通过 COM 调用 代码登录后可见 删除所有还原点
T1036.005伪装合法文件伪造 Inno Setup 安装界面和签名安装程序:wps/360/huorong……
T1574.002DLL 劫持可能通过白加黑方式加载恶意 DLL
发现(Discovery)
T1082系统信息发现代码登录后可见、代码登录后可见、代码登录后可见
T1057进程发现枚举进程(可能用于查找安全软件)
T1012查询注册表检查安全软件安装路径
T1518.001软件发现检测 360/火绒等软件是否存在
命令与控制(Command and Control)
T1071.001Web 协议使用 HTTPS 与 代码登录后可见 等白名单域名通信
T1572协议隧道使用 代码登录后可见 虚拟网卡驱动建立/使用WIN32 API加密隧道
T1095非应用层协议可能使用自定义 TCP 协议
T1001.002数据混淆使用加密算法(simple xor/AES/ChaChen)对 C2 流量加密