admin管理员组

文章数量:1531425

2023年12月21日发(作者:)

445端口也是一种TCP端口,该端口在windows 2000 Server或Windows Server 2003系统中发挥的作用与139端口是完全相同的。具体地说,它也是提供局域网中文件或打印机共享服务。不过该端口是基于CIFS协议(通用因特网文件系统协议)工作的,而139端口是基于SMB协议(服务器协议族)对外提供共享服务。同样地,攻击者与445端口建立请求连接,也能获得指定局域网内的各种共享信息。

在 Windows 下关闭445端口

445端口是一个毁誉参半的端口,有了它我们可以在局域网中轻松访问各种共享文件夹或共享打印机,但也正是因为有了它,黑客们才有了可乘之机,他们能通过该端口偷偷共享你的硬盘,甚至会在悄无声息中将你的硬盘格式化掉!我们所能做的就是想办法不让黑客有机可乘,封堵住445端口漏洞。

关闭445端口

一、单击“开始”——“运行”,输入“regedit”,单击“确定”按钮,打开注册表。

二、找到注册表项“HKEY_LOCAL_MACHINESystemControlsetServicesNetBTParameters”。

三、选择“Parameters”项,右键单击,选择“新建”——“DWORD值”。

四、将DWORD值命名为“SMBDeviceEnabled”。

五、右键单击“SMBDeviceEnabled”值,选择“修改”。

六、在出现的“编辑DWORD值”对话框中,在“数值数据”下,输入“0”,单击“确定”按钮,完成设置。

在windows2000中出现了一个以前没有用过的端口455。

概念:

SMB(Server Message Block)

Windows协议族,用于文件和打印共享服务。

NBT(NetBIOS over TCP/IP)

使用137, 138 (UDP) and 139 (TCP)来实现基于TCP/IP的NETBIOS网际互联。

内容:

在Windows NT中SMB基于NBT实现。

而在Windows2000中,SMB除了基于NBT的实现,还有直接通过445端口实现。

当Win2000(允许NBT)作为client来连接SMB服务器时,它会同时尝试连接139和445端口,如果445端口有响应,那么就发送RST包给139端口断开连接,以455端口通讯来继续.当445端口无响应时,才使用139端口。

当Win2000(禁止NBT)作为client来连接SMB服务器时,那么它只会尝试连接445端口,如果无响应,那么连接失败。(注意可能对方是NT4.0服务器。)

如果win2000服务器允许NBT, 那么UDP端口137, 138, TCP 端口 139, 445将开放。

如果 NBT 被禁止, 那么只有445端口开放.

好了,如果我们在win2000上运行一些工具利用null session列举出对方机器的一些有用资料时,应该把我们机器上的NBT设为允许。

注册表关闭

运行msconfig注册表管理器

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters

TransportBindName REG_SZ Device

删除缺省的"Device",留一个空值。重启后"netstat -na"将看不到445/TCP口。但

同时客户端SMB机制支持一并被取消。

A: Jean-Baptiste Marchand 2002-02-09

至少有两种办法可以关闭445/TCP:

. 禁用NetBT驱动

第一种方法彻底禁用了系统中的SMB机制,客户端、服务端支持均被取消。为了停止

NetBT驱动,必须先停止工作站、服务器服务,如果不这样做而试图直接停止NetBT驱

动,系统将出故障。

> net stop rdr

> net stop srv

> net stop netbt

rdr、srv不是服务名称,也不是显示名称,而是net命令自己支持的,在此分别等价

于lanmanworkstation、lanmanserver。445/TCP将被热关闭。

"NetBios over Tcpip"驱动可以手工停止,但不能手工启动,只能重启才可恢复。为

了阻止NetBT驱动在重启OS时自动加载,必须将启动类型由缺省的1改成4:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBT]

"Start"=dword:00000004

> sc config netbt start= disabled

. 修改注册表

更多时候第一种方法不是我们所期望的,客户端SMB机制的支持还是需要的。通过修

改注册表可以实现禁用由TCP层直接承载的SMB协议,但继续启用NetBT。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters]

"SmbDeviceEnabled"=dword:00000000

重启OS使之生效,445/TCP不再侦听中。

A:

->查看->显示隐藏设备->非即插即用驱动程序->NetBios over Tcpip->右键停用->重启OS使之生效

这将彻底禁用系统中的SMB机制,客户端、服务端支持均被取消。

D: tk@nsfocus 2004-07-22

逆向分析之后,发现可以通过注册表改变445/TCP、445/UDP:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParametersSmb]

"SessionPort"=dword:00000000

"DatagramPort"=dword:00000000

本来试图通过这种办法关闭445/TCP,重启之后,系统自动处理成1/TCP、1/UDP。如

将SessionPort指定成135/TCP,在争夺中原EPM功能将丧失,SMB功能争夺成功。

D: sparrow@smth

装了IPv6之后,tk给出的注册表项就不起作用了。在此情况下为使之继续起作用,需

额外修改注册表:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters]

"UseNewSmb"=dword:00000000

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParametersSmb]

"SessionPort"=dword:000001bd

"DatagramPort"=dword:000001bd

装了IPv6之后,增加了一个驱动,处理IPv6下的SMB协议。UseNewSmb非0时将

使用,该驱动中固化了445/TCP。

本文标签: 端口注册表重启共享协议