首先,这些端口是与文件共享和打印机共享相关的端口,这些端口经常出现严重的漏洞。例如,2017年危害世界的永恒蓝色是445端口。
首先,让我们了解一些基本知识:
SMB:(Server Message Block) Windows协议用于文件共享和打印共享的服务
NBT:(NetBIOS Over TCP/IP)使用137(UDP)138(UDP)139(TCP)基于TCP/IP协议的NetBIOS网络互联网实现端口
SMB版:
SMB 1.0 (or SMB1) – The version used in Windows 2000, Windows XP, Windows Server 2003 and Windows Server 2003 R2SMB 2.0 (or SMB2) – The version used in Windows Vista (SP1 or later) and Windows Server 2008SMB 2.1 (or SMB2.1) – The version used in Windows 7 and Windows Server 2008 R2SMB 3.0 (or SMB3) – The version used in Windows 8 and Windows Server 2012
从 Windows 95 开始,Microsoft Windows 支持操作系统 SMB 协议 ,但是因为SMB有漏洞。所以在Windows中 在Vista之后,Windows开始使用 SMB2 协议。也就是自Vista以来的WIN7、Windows Server SMB22008等都是用来的 协议。而Windows XP和Windows Server2003及以前的机器都使用SMB1.0协议。
SMB协议支持在TCP或NetBIOS协议上直接运行,Psexec.PySMB协议直接在TCP上运行,而Net协议直接在TCP上运行 use命令的抓包是在NetBIOS协议中运行的。
除了基于NBT实现的WindowsNT外,SMB还可以通过445端口直接实现。
有了这些基础知识,我们可以进一步讨论访问网络共享对端口的选择:
对于Winnt客户端(发起端):
如果允许NBT连接服务器,客户端将尝试访问139和445端口。如果445端口有响应,则将RST包发送到139端口断开连接,并使用455端口进行会话。当445端口没有响应时,只使用139端口。如果两个端口都没有响应,会话就会失败;
如果在禁止NBT连接服务器的情况下,客户端只会尝试访问445端口,如果445端口没有响应,会话就会失败。
对于winnt服务器端:
如果允许NBT, 然后UDP端口1377、138,TCP 端口 139,445将开放;
如果NBT被禁止,只有445端口开放。
Windows默认开放135、137、138、139和445个端口主要方便初级用户操作,即使用网络通信和各种共享服务,无需必要设置。但这样,一些用户不想启动或不使用的服务就会随机启动,主机在用户不知情的情况下连接互联网后会泄露本机信息。因此,我们应该尽可能多地了解这些端口的作用,权衡开放端口的优缺点,然后制定相应的安全策略。
01TCP135端口
在Windows默认的五个典型开放端口中,135是最复杂和最容易引起外部攻击的。如果使用SecurityFriday开发的名称 "IEen" 通过验证软件的端口安全性,我们可以清楚地看到端口开放是非常危险的。
IEEN是一种远程操作IE浏览器的工具。使用它不仅可以获得其他计算机IE浏览器的信息,还可以操作浏览器。具体来说,您可以获得正在运行的IE浏览器的窗口列表、每个窗口显示的网站URL和可okie,以及在搜索网站中输入的搜索关键字。
IEen用的是 Windows NT4.0/2000/XP 集成分布式对象技术 DCOM(分布式组件对象模块),可远程操作其他计算机中的DCOM应用程序。该技术使用 RPC(Remote Procedure Call,远程过程调用)服务。
该RPC服务采用135端口。RPC是 Windows 远程调用服务用于操作系统。RPC 通过这种机制,允许在计算机上运行的程序在远程系统上流畅地执行代码,提供了一种进程间的通信机制。协议本身来源于OSF(开放式软件基础)RPC 协议,但是增加了一些 Microsoft 特定的扩展 。由于使用 RPC 该程序不需要了解支持通信的网络协议,因此 RPC 提高了程序的互操作性。
因为在 RPC 发出请求的程序是客户程序,提供服务的程序是服务器。因此,在使用RPC功能进行通信时,会询问对方电脑的135端口可以使用哪个端口进行通信。这样,对方的电脑就会告诉可用的端口号。在非加密状态下,使用IEEN可以看到对方计算机应该受到SSL保护的数据,甚至可以直接看到银行现金卡密码等信息,如在线银行输入。因此也不可避免地暴露了漏洞。攻击者可以使用该漏洞在受影响的系统上执行任何操作,包括安装程序、查看、更改或删除数据,或建立系统管理员权限的帐户。有许多蠕虫病毒可以解决这个漏洞。这些早期蠕虫病毒只攻击这个漏洞,导致远端系统崩溃,而著名的冲击波漏洞“将利用这个漏洞快速传播,轻松控制他人的IP地址和注册名称,使更多的个人或公司系统遭受痛苦。
避免这种危险的最好方法是关闭RPC服务。如果不使用DCOM特定的应用程序,例如 即使Web服务器、邮件或DNS服务器关闭135端口,也不会出现任何问题。关闭RPC服务的方法是在“控制面板”的“管理工具”中选择“服务”Remote Procedure Call属性,将启动类型设置为属性窗口中的“禁用”,重新启动计算机,RPC将不再运行。还可以打开注册表编辑器,“HKEY_LOCAL_MACHINE//SYSTEM//CurrentControlSet//Services//RpcSs”的“Start在0x04变为0x02后,重新启动机器即可生效。
然而,关闭RPC服务会对Windows的运行产生很大的影响。由于Windows的许多服务都依赖于RPC,这些服务在将RPC设置为无效后将无法正常启动。例如,如果客户端关闭了135端口,则不能使用outlok连接Exchangee。 Server。由于MSDTC的管理分布式处理、该端口也用于负责应用程序之间信息交换的MSMQ和DHCP,DHCP动态地将地址分配到连接到网络上。同时, Windows 启动速度会变得很慢。
关闭RPC服务有很大的缺点,一般不容易关闭。但是,为了避免攻击,网络客户端可以禁止远程登录电脑。方法是依次选择“控制面板”、“管理工具”和“本地安全策略”,打开本地安全窗口,选择本地策略中的用户权利分配,然后利用“拒绝从网络访问计算机”指定拒绝访问的对象。如果你想拒绝所有的访问,最好指定为“Everyone”。
在公司内部,如果您不想让其他计算机操作自己的计算机,您可以将DCOM设置为无效。方法是使用DOS命令操作Windows NT/2000/XP标准集成”dcomcnfg.exe“工具。从打开的分布式COM配置属性窗口中选择“默认属性”页标,取消“在本计算机上启用分布式COM”选项。
DCOM(分布式对象模型)是一种协议,可以使软件组件通过网络直接通信。DCOM 以前叫“网络” OLE",它可以跨越包括 Internet 协议(例如 HTTP)各种网络传输,包括。
02UDP137、138端口
只需向对方Windows137端口发送一个查询连接状态的信息包,即可获得机器的计算机名称和注册用户名,机器是否为主域控制器和主浏览器,是否作为文件服务器使用,IIS和Samba是否正在运行,以及Lotus Notes是否正在运行等信息。
不仅仅是公司的内部网络,连接因特网的计算机也是如此。只要知道对方的IP地址,就可以向这台电脑的137端口发送请求,获取大量信息。如果您捕获使用137端口进行通信的信息包,您还可以获得目标主机的启动和关闭时间。这是因为Windows在启动或关闭时会通过137端口发送特定的信息包。如果你掌握了目标主机的启动时间,你可以很容易地使用上次提到的IEEN和其他软件通过135端口操作对方的DCOM。
为什么137端口会在网络上泄露各种信息包?这是因为Windows网络通信协议-“NetBIOS over TCP/IP(NBT)“137端口用于计算机名称管理功能(计算机名称管理是指Windows网络中的计算机通过相互识别的名称——NetBIOS名获取实际IP地址的功能。)为了获得通信对象的IP地址,137端口需要交换大量信息包。
详细使用教程请参考:易惠购单透软件
137端口信息包泄漏主要有两种方式:
一种方法是在同一组中的计算机之间使用广播功能来管理计算机名称。当计算机启动或连接到网络时,它会询问所有位于同一组中的计算机是否使用与自己相同的NetBIOS名称的计算机。如果每台接收询问的计算机使用与自己相同的NetBIOS名称,则将发送通知信息包。这些通信是在137端口进行的。
另一种方法是利用WINS(Windows因特网名称服务)管理计算机名称。被称为WINS服务器的计算机有IP地址和NetBIOS名的对照表。当系统启动或连接网络时,WINS客户端会将自己的NetBIOS名和IP地址发送到WINS服务器。当主机与其他计算机通信时,目标主机NetBIOS名将发送到WINS服务器,然后WINS服务器将根据NetBIOS名将IP地址发送回主机。该方法还使用137端口。
随意泄露这些信息就像友好地告诉攻击者如何攻击他们的计算机。这样恶意攻击者就可以入侵,而无需通过端口扫描。例如,如果你知道IIS服务正在运行,你可以很容易地了解计算机上已经启动的服务。恶意攻击对入侵者来说太方便了。
138端口提供NetBIOS浏览功能。在此功能中,被称为主浏览器的计算机管理连接到网络中的所有计算机,并且网络中所有计算机的浏览列表都存在于计算机上。例如,在Windows200中,从“在线邻居”中选择“整个网络”后,您可以清楚地看到所有连接到网络的相邻计算机。
NetBIOS的浏览功能为138端口提供。该功能采用不同于137端口计算机名管理的操作机制,主要用于显示连接到网络的计算机列表。每台计算机在启动或连接网络时,都会使用138端口广播自己的NetBIOS名称,并将自己的计算机信息发送给同组中的所有计算机。收到NetBIOS名称的主浏览器将该计算机添加到浏览列表中。收到浏览列表显示请求时,收到请求的主浏览器将浏览列表发送给请求的主机。关闭电脑时,主机会通知主浏览器,让主浏览器从列表中删除自己的NetBIOS名称。虽然138端口的信息量没有137端口多,但也存在不可忽视的安全隐患。
NetBIOS服务主要使用137和138端口向外部发送自己的信息。虽然Windows主要用于Windows网络,但是Windows 在2000多个版本中,计算机名称可以在不使用NetBIOS的情况下管理,NBT可以完全停止,但会降低Windows网络使用的便利性,如果不能显示用于寻找文件共享对象的信息。NetBIOS服务是基于公司内部网络环境构建Windows网络的计算机的必要条件。
详细使用教程请参考:易惠购单透软件