网络入侵者通常采取的第一步是通过端口扫描程序扫描目标机或网络。令人吃惊的是,以目标机的开放端口为基础对网络进行的攻击是多么的有条不紊。您应该清楚,除了Unix机外,这是NT机显示不同开放端口的标准。网络入侵者懂得查看端口扫描程序,并通过相当准确的结果来断定它是一台NT机还是一台Unix机。当然也有一些例外,但一般情况下都能这样做。最近,业界发布了几个用来远程鉴别机器的工具,但该功能目前还不能用于NT。 当攻击基于NT的网络时,NetBIOS往往是首选的攻击对象。因此,NetBIOS就成为本文中第一个要探讨的重要课题。用NetBIOS进行信息收集相当容易,虽然要花费一点时间。etBIOS一般被看作是开销,很大的大容量协议,速度往往很慢,这也就是要耗费时间的原因。如果端口扫描程序报告端口139在目标机上是开放的,那么接下来就是一个很自然的过程。第一步是发出NBTSTAT命令。 NBTSTAT命令可以用来查询涉及到NetBIOS信息的网络机器。另外,它还可以用来 消除NetBIOS高速缓存器和预加载LMHOSTS文件。这个命令在进行安全检查时非常有用。 用法:nbtstat [-a RemoteName] [-A IP_address] [-c] [-n] [-R] [-r] [-S] [-s] [interval] 参数-a列出为其主机名提供的远程计算机名字表。 -A列出为其IP地址提供的远程计算机名字表。 -c列出包括了IP地址的远程名字高速缓存器。 -n列出本地NetBIOS名字。 -r列出通过广播和WINS解析的名字。 -R消除和重新加载远程高速缓存器名字表。 -S列出有目的地IP地址的会话表。 -s列出会话表对话。 NBTSTAT生成的列标题具有以下含义: Input 接收到的字节数。 Output 发出的字节数。 In/Out 无论是从计算机(出站)还是从另一个系统连接到本地计算机(入站)。 Life 在计算机消除名字表高速缓存表目前“度过”的时间。 Local Name 为连接提供的本地NetBIOS名字。 Remote Host 远程主机的名字或IP地址。 Type 一个名字可以具备两个类型之一:unique or group 在16个字符的NetBIOS名中,最后一个字节往往有具体含义,因为同一个名可以在同一台计算机上出现多次。这表明该名字的最后一个字节被转换成了16进制。 State NetBIOS连接将在下列“状态”(任何一个)中显示: 状态含义: Accepting: 进入连接正在进行中。 Associated: 连接的端点已经建立,计算机已经与IP地址联系起来。 Connected: 这是一个好的状态!它表明您被连接到远程资源上。 Connecting: 您的会话试着解析目的地资源的名字-IP地址映射。 Disconnected: 您的计算机请求断开,并等待远程计算机作出这样的反应。 Disconnecting: 您的连接正在结束。 Idle: 远程计算机在当前会话中已经打开,但现在没有接受连接。 Inbound: 入站会话试着连接。 Listening: 远程计算机可用。 Outbound: 您的会话正在建立TCP连接。 Reconnecting: 如果第一次连接失败,就会显示这个状态,表示试着重新连接
下面是一台机器的NBTSTAT反应样本: C:\>nbtstat CA x.x.x.x NetBIOS Remote Machine Name Table Name Type Status --------------------------------------------- DATARAT <00> UNIQUE Registered R9LABS <00> GROUP Registered DATARAT <20> UNIQUE Registered DATARAT <03> UNIQUE Registered GHOST <03> UNIFQUE Registered DATARAT <01> UNIQUE Registered MAC Address = 00-00-00-00-00-00 您通过下表能掌握有关该机器的哪些知识呢? 名称编号类型的使用: 00 U 工作站服务 01 U 邮件服务 \\_MSBROWSE_ 01 G 主浏览器 03 U 邮件服务 06 U RAS服务器服务 1F U NetDDE服务 20 U 文件服务器服务 21 U RAS客户机服务 22 U Exchange Interchange 23 U Exchange Store 24 U Exchange Directory 30 U 调制解调器共享服务器服务 31 U 调制解调器共享客户机服务 43 U SMS客户机远程控制 44 U SMS管理远程控制工具 45 U SMS客户机远程聊天 46 U SMS客户机远程传输 4C U DEC Pathworks TCP/IP服务 52 U DEC Pathworks TCP/IP服务 87 U Exchange MTA 6A U Exchange IMC BE U网络监控代理 BF U网络监控应用 03 U邮件服务 00 G域名 1B U域主浏览器 1C G域控制器 1D U主浏览器 1E G浏览器服务选择 1C G Internet信息服务器 00 U Internet信息服务器 [2B] U Lotus Notes服务器 IRISMULTICAST [2F] G Lotus Notes IRISNAMESERVER [33] G Lotus Notes Forte_$ND800ZA [20] U DCA Irmalan网关服务 Unique (U): 该名字可能只有一个分配给它的IP地址。在网络设备上,一个要注册的名字 可以出现多次,但其后缀是唯一的,从而使整个名字是唯一的。 Group (G): 一个正常的群;一个名字可以有很多个IP地址。 Multihomed (M): 该名字是唯一的,但由于在同一台计算机上有多个网络接口, 这个配置可允许注册。这些地址的最大编号是25。 Internet Group (I): 这是用来管理WinNT域名的组名字的特殊配置。 Domain Name (D): NT 4.0提供的新内容。 网络入侵者可以通过上表和从nbtstat获得的输出信息开始收集有关您的机器的信息。 有了这些信息,网络入侵者就能在一定程度上断定有哪些服务正在目标机上运行,有时也 能断定已经安装了哪些软件包。从传统上讲,每个服务或主要的软件包都具有一定的脆弱性,因此,这一类型的 信息 对网络入侵者当然有用。
有了这个空IPC会话,网络入侵者也能获得网络共享列表,否则就无法得到。为此,网络入侵者希望了解到在您的机器上有哪些可用的网络共享。为了收集到这些信息,要采用下列这个标准的net view命令: c:\>net view \\[远程主机的IP地址] 根据目标机的安全约束规则,可以拒绝或不拒绝这个列表。举例如下: C:\>net view \\0.0.0.0 System error 5 has occurred. Access is denied. C:\>net use \\0.0.0.0\ipc$ "" /user:"" The command completed successfully. C:\>net view \\0.0.0.0 Shared resources at \\0.0.0.0 Share name Type Used as Comment ---------------------------------------------------------------------- --------- Accelerator Disk Agent Accelerator share for Seagate backup Inetpub Disk mirc Disk NETLOGON Disk Logon server share www_pages Disk The command completed successfully. 正如您所看到的,该服务器上的共享列表在建立了空IPC会话后才可用。这时,您就会意识到这个IPC连接有多么的危险,但我们现在已经掌握的IPC方法实际上是很基本的方法。与IPC共享一起出现的可能性还有待进一步研究。WindowsNT 4.0资源工具的发布使得象管理员和网络入侵者这样的人能够用到新的工具。下面对一些资源工具实用程序进行描述。Rhino9小组运用这些实用程序与IPC$空会话 一起收集信息。当您阅读这些工具的描述以及它们所提供的信息时,请记住:所 采用的空 会话不向远程网络提供任何真实的身份证明。 UsrStat: 这个命令行实用程序显示特定域中各个用户的用户名、全名以及最后一次登录的日期和时间。下面是根据远程网络通过一个空IPC会话采用这个工具进行的实际剪切和粘贴: C:\NTRESKIT>usrstat domain4 Users at \\STUDENT4 Administrator - - logon: Tue Nov 17 0855 1998 Guest - - logon: Mon Nov 16 124:04 1998 IUSR_STUDENT4 - Internet Guest Account - logon: Mon Nov 16 1596 1998 IWAM_STUDENT4 - Web Application Manager account - logon: Never laurel - - logon: Never megan - - logon: Never