红队实战:利用RLO技术伪装exe为jpg的社工钓鱼攻击

张开发
2026/4/23 10:05:03 15 分钟阅读

分享文章

红队实战:利用RLO技术伪装exe为jpg的社工钓鱼攻击
1. RLO技术原理与社工钓鱼基础你可能见过文件名以.jpg结尾的图片文件但有没有想过这个jpg可能根本不是真正的文件类型这就是RLORight-to-Left Override技术的威力所在。简单来说RLO是一种Unicode控制字符它能让文本从右向左显示这在阿拉伯语等从右向左书写的语言中很常见。但黑客们发现这个特性可以被用来进行文件名欺骗。想象一下这样的场景你收到一封邮件附件是一个看似无害的旅游照片.jpg文件。但实际上这个文件可能是gpj.exe——黑客只是利用了RLO字符让文件名从右向左显示。这种攻击方式在红队测试中特别有效因为即使是最谨慎的用户也很难从视觉上分辨出这种精心设计的欺骗。我第一次接触这种技术是在一次内部安全演练中。当时我们团队试图测试公司员工的防范意识结果发现超过80%的人会毫不犹豫地点击这种伪装文件。这让我意识到了解这种攻击手法对安全防护有多重要。2. 攻击准备从图片到可执行文件2.1 素材准备与图标制作要完成一次成功的RLO伪装攻击首先需要准备两个关键素材一张真实的图片和一个图标文件。图片可以是任何吸引人的内容——公司logo、产品照片或者有趣的meme图。我通常会选择与目标相关的图片比如在针对财务部门的测试中使用年度报表.jpg这样的文件名。图标制作有个小技巧使用在线ICO生成工具时一定要选择透明背景。这样最终生成的可执行文件在资源管理器中看起来会更像一张真实的图片。我常用的一个技巧是把公司logo做成图标这样会让文件看起来更可信。2.2 批处理文件编写核心的恶意代码通常先写在批处理文件里。比如这样一个简单的bat文件echo off start 1.jpg timeout /t 5 nul start malware.exe这个脚本会先打开那张真实的图片让受害者以为这就是文件内容5秒后再悄悄执行真正的恶意程序。在实际测试中我发现5秒是个理想间隔——足够让用户看到图片又不会让他们起疑。3. 文件转换与RLO应用3.1 使用Bat_To_ExeConverter工具有了bat文件后就需要把它转换成exe。Bat_To_ExeConverter是我用过最顺手的工具之一。操作步骤很简单打开工具载入刚才的bat文件在Options选项卡中选择之前准备好的ico图标在Version选项卡可以填写一些虚假版本信息增加可信度点击Convert生成exe文件这里有个细节要注意生成的exe文件最好保持较小体积。我遇到过因为文件太大而被安全软件拦截的情况后来发现控制在2MB以内成功率最高。3.2 RLO字符插入技巧最关键的步骤来了——使用RLO字符进行文件名伪装。具体操作如下重命名exe文件为gpj.exe注意是gpj而不是jpg在文件名前插入Unicode控制字符RLOU202E最终文件名会显示为xxx.jpg的效果在Windows资源管理器中这个文件看起来完全就是个jpg图片。但实际运行时会执行我们的恶意代码。我建议在测试时先用无害的脚本尝试比如弹出一个消息框而不是真正的恶意程序这样可以避免意外伤害。4. 防御措施与检测方法4.1 如何识别RLO伪装虽然RLO伪装很隐蔽但还是有办法识破的。最直接的方法是查看文件属性中的真实扩展名。另外安全软件通常会对包含Unicode控制字符的文件名发出警告。在日常工作中我养成了按住Shift键再右键查看复制为路径的习惯这样能看到文件的完整名称。4.2 企业防护建议对于企业安全团队我建议采取以下措施在邮件网关设置规则拦截包含Unicode控制字符的附件部署终端防护软件实时监控可疑的进程启动链对员工进行安全意识培训特别是识别异常文件名的技巧在一次客户项目中我们发现只要简单地在公司内部通讯中分享这个攻击手法就能将点击率从80%降到不足5%。这说明安全意识教育的效果非常显著。5. 实战案例与经验分享去年我们为一家金融机构做红队测试时就成功运用了这种技术。我们发送了一封伪装成年度财报的邮件附件看起来是Financial_Report_Q4.jpg。结果不仅普通员工中招连安全团队的几名成员也点击了文件。这个案例后来成了他们内部安全培训的经典教材。在这个过程中我总结出几个提高成功率的技巧文件名要尽量自然避免过于夸张或诱人的名称最好配合有说服力的邮件正文内容选择目标群体最可能信任的发件人域名攻击时间选在工作日的上午这时候人们警惕性最低记住红队测试的目的是发现问题而不是制造破坏。每次测试前我们都会确保有完善的应急方案一旦发现问题能立即终止攻击链。

更多文章