位置于:书籍教程首页>>组网技术>>网络共享>>正文

揭开网上邻居的内幕(下)

资料:http://xp163.com/
The NULL session,关于空会话

  NULL会话(空会话)使用端口也同样遵循上面的规则。NULL会话是同服务器建立的无信任支持的会话。一个会话包含用户的认证信息,而NULL会话是没有用户的认证信息,也就好比是一个匿名的一样。

  没有认证就不可能为系统建立安全通道
139/TCP发送三次握手的最后一个ACK报文时,Windows顺手携带了数据,这里以一个刻意弄错的NetBIOS名(*SMBSERV<00...(8)>做了一次NBT Session Request。而445/TCP不需要NBT层的会话。

  由于刻意弄错的NetBIOS名,139/TCP很难竞争过445/TCP。服务端返回Negative NBTSession Response,并且执行了close()操作。这使得必须重新建立到139/TCP的连接(传输层的TCP连接)。

  可以看出,那个刻意弄错的NetBIOS名仅仅是为了给445/TCP制造抢先的机会。遗憾的是,445/TCP不争气,这个端口上的任务繁重、负载较高,即使在这种不公平竞争的情况下,139/TCP仍有可能重新抢在445/TCP之前建立NBT会话(注意,不是TCP连接)。于是445口会回送RST,后续SMB会话建立在139/TCP连接之上。

  微软自己的操作系统不认"*SMBSERV<00...(8)>",但是Samba Server 2.2.5认,居然返回Positive Session Response。这成为精确识别Samba Server的方法之一。

  微软在<>中不会提这些的,只是说139/TCP、445/TCP公平竞争,优先使用最早返回的响应报文。不要相信它的鬼话。

  话说回来,如非需求所致,完全不必关心这种差别。有需求的时候,这种差别是致命的。

  5. > 最明显的就是空会话可以很方便地连接到其他的域,枚举用户、机器等。这也就是扫描软件进行探测的原理。

  XP、2003缺省禁止在空会话上进行PolicyAccountDomainInformation查询,可以看到LsarOpenPolicy2(44)失败,权限否定。如果事先指定有效帐号、口令建立SMB会话,而非空会话,LsarOpenPolicy2(44)将成功返回。


 揭开网上邻居的内幕(下)相关说明
 揭开网上邻居的内幕(下)相关说明

 

 书籍教程站内推荐信息
 书籍教程网站地图