长亭百川云 - 文章详情

打造微信”盾”,轻松终结微信钓鱼

老狼饿了

57

2024-01-31

微信钓鱼是目前最火热的攻击方法之一,也是近几年以来攻击成功率最高的攻击手法之一,有逐渐取代邮件钓鱼的趋势,导致很多公司谈“微”色变,究其原因就在于绝大多数企业不具备实时文件落地沙箱检测,导致微信钓鱼能轻易绕过前端防御,穿透防护体系,直达用户终端,从而出现内网终端失陷的情况。经调研目前市面上的各种企业防护软件,暂未发现任何针对微信钓鱼的可靠的实用拦截方法,而之前的文章“微信社工攻击防护方案”中并不具备普适性,存在推广困难的原因,鉴于目前微信钓鱼所带来的的各种危害,针对微信钓鱼攻击的手段进行分析,基于对攻击方式的总结,最终总结出终结微信钓鱼攻击的有效方法,构建了有效的防护体系,轻松应对微信钓鱼攻击。

攻击视角看微信钓鱼

微信钓鱼方法

根据微信钓鱼常见成功方法,大致分为三类:

  1. 添加用户微信 -> 发送链接给用户 -> 诱导用户点击链接 -> 诱导用户下载木马程序 -> 用户执行木马程序 -> 触发加载器 -> 上线到控制端
  2. 添加用户微信 -> 发送木马给用户 -> 用户从微信接受木马程序 -> 用户执行木马程序 -> 触发加载器 -> 上线到控制端
  3. 添加用户微信 -> 发送恶意压缩包给用户 -> 用户从微信接受压缩包 -> 用户双击执行压缩包中的木马程序 -> 触发加载器 -> 上线到控制端

微信钓鱼话术

微信钓鱼攻击者通常使用精心设计的诱导性话术来欺骗和诱导用户执行恶意操作。这些话术旨在引发受害者的好奇心、紧急感、好奇心或其他情感,从而使他们点击恶意链接、下载附件或泄露敏感信息。常见的场景为八卦,简历,求职,营销,等话术为主要文件名来源,比如今年出现的“单位职称人员情况统计表.exe”,“**衡出轨事实.zip”等。

防守视角看微信钓鱼

思考一:如何发现微信钓鱼攻击?

要防范这些微信钓鱼话术,用户需要保持警惕,不轻信未经证实的信息,不点击可疑链接,不提供个人或敏感信息。同时,保持自己的安全意识,定期更新微信应用和操作系统,避免随意下载附件或点击未知来源的链接。

思考二:如何拦截微信钓鱼攻击?

从防守视角来看,所有的攻击方法最终都指向一点,即:诱导用户点击并执行恶意程序。

  1. URL跳转攻击,通过各种社工技巧,引诱用户跳转链接,下载恶意程序,本质上依然是可执行文件攻击
  2. 双扩展名攻击,通过在文件名上使用两个文件扩展名,以欺骗用户的手法,本质上依然还是可执行文件攻击
  3. 压缩包攻击,压缩包含或者不含密码,内附可执行文件实行攻击,本质上依然还是需要执行可执行文件

微信钓鱼终结方法总结

通过从防守视角的手法的解读和分析,针对木马程序最终的落地施行进行反制,即可以轻松做到终结微信钓鱼的攻击。

操作系统自带的软件限制策略(Software Restriction Policy)是一种基于Windows操作系统的安全功能,它旨在限制哪些程序可以在计算机上运行。通过配置这个策略,管理员可以指定微信文件存储路径,和限定文件扩展名,就可以轻松阻止未经授权的软件、恶意软件和病毒等运行在系统上。下面是构建步骤:

  • 第一步,获取微信文件存储路径,为禁止执行做好准备工作,为了不干扰正常程序运行,我们通过软件限制策略设定对微信的文件存储路径进行封禁。

  • 第二步,生成注册表锁定键值,禁止可执行文件在微信文件存储目录被执行,指定禁止运行的扩展名,比如常见可执行文件扩展名为:BAT, CMD, COM, CPL, EXE, HTA, LNK, MSI, PIF, SCR, CHM等等。
  • 第三步,禁止压缩包内可执行文件被双击执行,举一反三,因为所有压缩程序在面对文件解压的时候会临时解压到一个固定路径,通常在%LOCALAPPDATA%\Temp\下,找到该压缩程序临时解压路径,并对该路径实施限制策略即可,比如360压缩,7Zip,快压,WinRAR等。
  • 以360压缩程序为例,在Paths路径中添加对应键值,如下图所示:

  • 又以7zip压缩程序为例,在Paths路径中添加对应键值,如下图所示:

  • 启用该方法后,可以手动杀掉Explorer进程并重新拉起,或者重启系统即可生效。
  • 最后,软件限制策略在启用后,“微信盾”会在系统的应用程序日志产生一个事件ID为866的事件日志,通过EDR、桌管等管理软件实时接收该事件ID,就可以做到全线防控,从而可以有更快的响应时间进行追踪溯源和排查。

微信钓鱼传输可执行文件禁止执行具体成果截图:

微信钓鱼传输可执行文件监控事件告警截图:

坑点一:

在本微信盾防御的启用中,最需要关注的点就是如何获取微信的文件存储路径,从而为禁止执行做好相应的准备工作,经研究发现,微信的文件存储路径默认保存在当前用户的文档目录中,即%USERPROFILE%\Documents目录下,一旦用户自行修改过了文件存储路径,则该路径会显示在HKEY_CURRENT_USER\Software\Tencent\WeChat子键下的”FileSavePath”中,通过读取该键值中的数据,即可以获得大部分用户的文件存储路径,但是,在大量测试环境中发现,发现该键值经常性不存在,经过仔细研究,发现读取%APPDATA%\Tencent\WeChat\All Users\config\3ebffe94.ini的内容可以做到逻辑上识别该文件存储路径。(如果这里有其他更好的方法,欢迎在评论区提供)

坑点二:

微软从Windows 11 22H2开始禁用了SAFER的使用,导致上述拦截方法在Windows 11 22H2的操作系统中无效,解决办法是修改或者删除[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Srp\Gp]键值,所以在Windows 11 22H2中需要另外考虑在每次启动后将该键值删除或修改。当然,也可以修改微信盾代码将其作为常驻项启动,并联动日志监控功能发送告警或者通知。

坑点三:

目前微信盾的GUI版支持微信和企业微信两个平台,但是在进行批量推送的时候,通过轮询用户配置和HKCU可以查询PC微信的文件存储路径,但却因为无法找到准确的企业微信存储路径,只能在DOS版本中移除了该代码,避免出现无效性查询。

使用方法:

GUI版本没啥好说的,简单粗暴,启用即可,个人可以使用该版本进行防护。

DOS版本,用于批量部署,使用Start或者Stop开关即可进行参数化部署。

综上,通过部署该“微信盾”,未再出现微信钓鱼失陷事件,在本届H中取得了满意的效果,现特放出编译好的程序和源代码供大家使用。

源代码采用Delphi编写,传送门地址:微信盾

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2