以色列安全厂商Cymulate发现,微软远程桌面用户端(Remote Desktop Client)一项漏洞,让黑客可以绕过安全验证而在Windows系统执行恶意程序代码。不过微软认为攻击不易,因而拒绝修补。
在创建远程桌面连接时,微软远程桌面用户端(旧称Microsoft Terminal Service Client,MSTSC)需要调用mstscax.dll等DLL文件,使Windows和远程计算机或虚拟机创建网络连接。这家厂商发现攻击者可以通过微软RDP(Remote Desktop Protocol)执行DLL侧载(DLL Side-Loading),绕过安全检查执行恶意程序代码。
Cymulate研究人员指出,现行Windows设计下,执行文件加载mstscax.dll并不会验证函数库程序代码的安全性,因此攻击者可将C:\Windows\System 32文件夹中的mstscax.dll以同名恶意文件置换掉,在合法程序掩护下执行恶意行为。
研究人员通报微软后,微软并未加以修补,理由是在Windows\System 32文件夹下置换DLL文件需要管理员权限,因此不认为是威胁。
但研究人员指出有不需要管理权限的攻击方法。只要将mstscax.dll复制到外部文件夹,则mstsc.exe就不是从system 32文件夹加载DLL档,也就不需管理员权限。这么一来,黑客就可以在已获得签章的mstsc.exe中执行恶意程序代码,并绕过AppLocker等安全检查。
DLL side-loading为新兴攻击手法,近年一些APT恶意程序即通过DLL Side-loading技术,将恶意程序隐藏在一些常见程序的根目录中,如Version.dll、Comres.dll、rasaut64.dll和rasaut.dll(64位元),利用计算机开机优先加载系统system.dll程序的特性,优先加载这些伪装成正常程序的恶意程序。
安全专家建议,为防Windows远程桌面的漏洞遭到滥用,企业可以关闭mstsc.exe、并利用安全监控工具来防止mstsc.exe的异常行为,此外,也应详细检查文件夹下的mstscax.dll是真的还是冒牌货。