SMB协议漏洞分析


2017年,勒索病毒WannaCry和Petya利用SMB 1.0暴露的漏洞,利用Windows操作系统445端口进行传播。

不同SMB版本在Windows出现的顺序:

  • CIFS – Windows NT 4.0
  • SMB 1.0 – Windows 2000
  • SMB 2.0 – Windows Server 2008 and Windows Vista SP1
  • SMB 2.1 – Windows Server 2008 R2 and Windows 7
  • SMB 3.0 – Windows Server 2012 and Windows 8
  • Smb 3.02 – Windows Server 2012 R2 and Windows 8.1


客户端和服务器SMB版本兼容性列表:

操作系统

Windows 8.1,
Server 2012 R2

Windows 8,
Server 2012

Windows 7,
Server 2008 R2

Windows Vista,
Server 2008

Windows XP, Server 2003 and earlier

Windows 8.1 ,
Server 2012 R2

SMB 3.02

SMB 3.0

SMB 2.1

SMB 2.0

SMB 1.0

Windows 8 ,
Server 2012

SMB 3.0

SMB 3.0

SMB 2.1

SMB 2.0

SMB 1.0

Windows 7,
Server 2008 R2

SMB 2.1

SMB 2.1

SMB 2.1

SMB 2.0

SMB 1.0

Windows Vista,
Server 2008

SMB 2.0

SMB 2.0

SMB 2.0

SMB 2.0

SMB 1.0

Windows XP, 2003 and earlier

SMB 1.0

SMB 1.0

SMB 1.0

SMB 1.0

SMB 1.0


我们的生产环境都是Windows Server 2012 R2,下面是SMB Server和SMB Client对应的服务:

LanmanServer

SMB协议漏洞分析_第1张图片

LanmanWorkstation

SMB协议漏洞分析_第2张图片

可以看到都不支持SMB 1.0驱动。


尝试修改Windows Server 2012 R2的445端口

尝试使用Windows Server 2003修改445端口的方式,修改端口为48322

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Smb]

"SessionPort"=dword:0000bcc2

"DatagramPort"=dword:0000bcc2

重启服务器后,查看到依然监听在445端口,UNC仍能访问。说明修改端口失败。该方式只能用在SMB 1.0版本时代。