此模块用于利用 Windows 组策略设置中的启动脚本执行, 这些脚本被配置为从远程 SMB 共享运行。
Windows 组策略可用于配置启动脚本,这些脚本将在操作系统每次开机时 执行,并以高权限账户 NT AUTHORITY/SYSTEM 运行。
如果攻击者能够执行流量操纵攻击,并在系统重启期间将流量重定向 到恶意 SMB 服务器,就有可能以 SYSTEM 账户 远程执行命令。
此模块接受所有形式的身份验证,无论是匿名、 域账户、空密码还是不存在的账户。它允许任何用户连接 到 SMB 服务器和共享。
它还会执行文件伪装,无论客户端原始请求的是哪个文件, 也无论客户端连接到哪个 SMB 共享,都会提供同一个文件。 如果用户请求 foo.vbs,它会发送 evil.vbs 给用户。
此模块已在 Windows 7 Service Pack 1 (x86) 上使用 .bat 和 .vbs 脚本进行测试。
博客文章: "BadSamba - 使用恶意 SMB 服务器利用 Windows 启动脚本" - http://blog.gdssecurity.com/labs/2015/1/26/badsamba-exploiting-windows-startup-scripts-using-a-maliciou.html
BadSamba 已使用 .bat 和 .vbs 远程脚本包含进行测试。文件扩展名 似乎确实很重要,因此如果它请求的是 .bat,就提供 .bat。
在实验室环境中,概念验证测试针对的是 Windows 7 SP1(英文版) 不同版本的 Windows 可能会有不同的反应, 但核心概念应保持一致。
目前无法“浏览”SMB 共享中的文件。这是因为 SMB 协议的复杂性,而添加此功能将大大增加 模块的复杂性。
该协议会产生大量噪声,因此很难判断文件是成功下载, 还是下载后已执行。
目前,对被请求的文件没有排他锁,这可能导致文件被多次下载。 根据我的经验,它只会被执行一次,但这确实会使模块 输出产生大量噪声。