压缩管理器Bandizip自带签名工具存在白加黑滥用风险 可用于加载任意DLL
压缩管理器 Bandizip 自带的签名工具存在白加黑滥用风险,可被用于加载任意 DLL。Bandizip 安装后会释放名为 RegDll 的可执行程序,该文件可以用来调用任意 DLL 文件,这意味着攻击者可以利用此工具加载后门程序,不过前提是攻击者已经提前落地 BAT/EXE/DLL 或通过其他方式执行命令,这个问题算是缺陷而非漏洞,可能需要班迪软件后续加强校验,只允许调用安装路径中具有班迪签名的文件。
吾爱破解网友 @Xiaojiakeji 日前发帖分享自己在韩国压缩管理器 Bandizip 中发现的安全缺陷,该缺陷源头在于 Bandizip 自带签名工具不会校验调用文件,这意味着攻击者可以利用这个签名工具加载后门程序,主要适合的攻击场景是初始阶段攻击载荷进入系统后,使用这个签名工具进行二阶段调用。
缺乏必要的路径 / 白名单 / 签名校验:
Bandizip 安装后会在安装目录里释放名为 RegDll.x64.exe 和 RegDll.x86.exe 的文件,直接打开该文件会弹出命令行帮助窗口用来显示工具支持的各种操作参数,这些文件本身自带班迪软件 (Bandisoft) 官方数字签名,正常情况下这些文件再发起调用时会被安全软件视为可信程序而直接放行。
RegDll 支持的功能包括注册 DLL、卸载 DLL、直接加载并指定 DLL 中的指定函数、添加或删除系统 PATH (环境变量)、重启资源管理器,关键问题在于 RegDll 执行调用时不会检测路径、不会校验签名、没有白名单机制,并且会直接 LoadLibraryW 任意 DLL,这意味着恶意攻击载荷也可以通过 RegDll 触发。
于是潜在的攻击场景就是黑客投放的攻击载荷在已经进入目标系统的情况下,可以借用 RegDll 触发恶意载荷,由于 RegDll 携带有效的数字签名,触发流程可能会被 Microsoft Defender 或其他安全软件放行,这有助于黑客将后门程序激活。只不过前提是黑客必须已经落地 BAT/EXE/DLL 或通过其他方式执行命令。
主要可被用于免杀和绕过检测链条:
RegDll 本身使用当前进程权限发起,被触发的攻击载荷也只能继承当前进程权限,因此直接使用 RegDll 既不能发起远程代码执行,也不能用于提权或高完整性运行,因此对个人用户而言只是中低风险,对企业环境而言具有中等风险,这还是需要班迪软件或 IT 管理员进行适当防御的。
对班迪软件来说应该要为 RegDll 添加必要的检测机制,例如只能调用具有合法签名的 DLL、只能调用班迪软件自己签名的 DLL、只能调用 Bandizip 安装目录内的具有班迪签名的 DLL (这种限制安全性会比前者更高),也应该移除公开命令行中的 /calldll 以及增加交互式确认或管理员限制。
对于在企业环境中使用 Bandizip 的用户来说由于存在白加黑攻击风险,建议 IT 管理员最好对 Bandizip 实施必要的限制,防止钓鱼网站和木马等利用 RegDll 触发攻击,目前还不清楚网友是否已经将这个缺陷上报给班迪软件。


评论5次
@T00lsAI 怎么检测合法程序是否可以能加载外部DLL,不校验调用目标呢
直接用Process Monitor抓一下就行,看它加载了哪些DLL,加载的时候走的什么路径。
静态的话就扔进IDA/x64dbg里搜
LoadLibrary,看调用之前有没有做路径拼接或者签名校验。正常程序调用DLL之前通常会有GetFullPathName或者检查文件hash的操作,要是没有,基本就是裸跑任意DLL。有个简单方法:给它传一个不存在的DLL路径,看报错信息。要是程序理都不理直接卡死或者没反应,大概率就是没做路径校验直接LoadLibrary了。
@T00lsAI 怎么检测合法程序是否可以能加载外部DLL,不校验调用目标呢
@T00lsAI 还有哪些白加黑利用
白加黑经典的几类:
xi统自带的白程序
rundll32.exe直接调DLL,这个最常见msiexec.exe可以跑MSI安装包,有时候能躲杀软cmstp.exe/certutil.exe/bitsadmin.exe这几个经常用来下载和执行regsvr32.exe跑SCF文件绕过脚本限制mshta.exe跑HTA,VBS那些第三方带签名的
SogouUpdate.exe早年被曝过核心思路就是找那些不校验调用目标、有签名、能加载外部DLL的合法程序。Bandizip的RegDll就是典型——有签名、能LoadLibraryW、参数还能指定DLL里的具体函数,攻击链直接就串起来了。
白加黑最香的就是过签名验证和主防,很多杀软对签名白程序是直接放行的。你要是找新的目标,可以盯着带签名的小工具挖,尤其是压缩软件、输入法、浏览器这些,概率比较大。
@T00lsAI 还有哪些白加黑利用
这洞其实挺老派的,典型的白加黑利用。RegDll那几个exe带官方签名,xi统默认会放行,偏偏还能直接LoadLibraryW任意路径的DLL,等于给攻击者开了个签名信任的后门。
实操层面挺好理解的:先想办法落个文件(钓鱼、供应链或者水坑都行),然后调RegDll加载自己的DLL就行,整个链路都是合规进程链,EDR很难抓。唯一限制就是权限继承当前进程,不会提权,但对付常规办公机绰绰有余。
要说防护的话,企业IT那边直接把Bandizip安装目录加到约束软件列表里,或者给RegDll改名/删掉,操作最简单。个人用户的话其实中低风险,毕竟前提是攻击载荷已经进来了。
班迪那边修复起来也不难,给RegDll加个路径白名单,只允许加载Bandizip目录下的带自家签名的DLL就行,或者直接把/calldll参数砍掉。感觉他们可能没把这当回事,毕竟用的人多,建议等个官方补丁或者自己先动手处理。