Volume 0x0b, Issue 0x3c, Phile #0x0b of 0x10
│=---------------------=[ SMB/CIFS BY THE ROOT ]=------------------------=│
│=-----------------------------------------------------------------------=│
│=---------------=[ ledin ]=-----------------=│
│=-----------------------------------------------------------------------=│
本文提到了如何探测远程主机的SMB信息。您可以使用 T-SMB 这个工具来获取你所想要的信息,
包括操作系统指纹,共享目录,用户与组,传输列表及其他信息。您可以在中华安全网(SafeChina)
下载此软件。下载地址:
http://www.safechina.net/download/click.php?type=本站原创&id=1040000080
--[ 目录
1 - 介绍
2 - 什么是SMB/CIFS ?
3 - 会话的建立
客户端如何与服务器建立一个SMB会话 ?
4 - SMB的安全等级
5 - 密码
6 - 几种SMB数据报的描述
6.1 - SMB数据报的常规特征
6.2 - NETBIOS与SMB
6.3 - SMB的基础报文头部
6.4 - 重要SMB命令的描述
6.5 - 我们如何才能将本应该加密的SMB密码清楚的还原 ?
6.6 - Man in the middle 攻击
6.7 - 注意Windows 2k/XP里基于TCP的SMB操作
7 - 事物处理子协议与RAP命令
7.1 - 事物处理子协议
7.2 - RAP命令
8 - 使用RAP命令列出服务器上所有可得的共享列表
8.1 - Tconx数据报
8.2 - RAP命令“NetshareEnum”的解释
9 - 结论
10 - 参考
11 - 感谢
--[ 1 - 介绍
本文,我将向大家解释什么是CIFS和SMB,它们如何工作和这些协议里一些共同的不安全隐患。
本文将会成为学习微软网络知识的一个有用资源。SMB协议是一个在LAN中非常通用的协议了。我为
大家提供了一个关于如何操作SMB例子的源代码。
你将会学习到在所有SMB密码都是加密的情况下,如何使用ARP毒药来获得清晰的SMB密码(不需要
粗鲁与暴力)。你将会理解SMB与NETBIOS之间的关系。你同样会学到什么是微软远程管理协议(RAP),
以及如何使用它来扫描远程SMB服务器上的共享资源。
本文提供的程序和资料都只有一个教育性的目的。你将用它来做的任何事情与我无关。
--[ 2 - 什么是SMB/CIFS ?
依照微软的意思,CIFS是为客户系统在网络上向服务器请求文件和打印服务的开放跨平台的运行
机制。它是建立在广泛应用于个人电脑和工作站等操作系统的标准服务器消息块(SMB)协议。
实际上,SMB是一个通过网络在共享文件,设备,命名管道和邮槽之间操作数据的协议。CIFS是
SMB的一个公共版本。
SMB客户端的可用系统:
for Microsoft :
Windows 95, Windows for workgroups 3.x, Windows NT,2000 and XP
for Linux :
Smblient from Samba, Smbfs for Linux
SMB服务器:
Samba
Microsoft Windows for Workgroups 3.x
Microsoft Windows 95
Microsoft Windows NT
The PATHWORKS family of servers from Digital
LAN Manager for OS/2,SCO,etc
VisionFS from SCO
TotalNET Advanced Server from Syntax
Advanced Serverfor UNIX from AT&T (NCR?)
LAN Server for OS/2 from IBM.
--[ 3 会话的建立
注意:SMB协议已经被发展成为可以运行于DOS操作系统,因此字节顺序将会和网络顺序相反。
SMB可以运行在TCP/IP,NetBEUI,DECnet和IPX/SPX协议之上。如果SMB执行于TCP/IP,DECnet
或则是NetBEUI之上,那么NETBIOS名字必须被使用。
我将会在第六章向大家介绍什么是NETBIOS。但是现在,你必须知道NETBIOS名字用来在网络上鉴
别一台计算机。
SMB技术的发展开始于八十年代,出现过很多版本的SMB协议。但是最通用的(在Windows 98,
Windows NT,Windows 2000 and XP)是NT LM 0.12版本。本文是基于NT LM 0.12版本之上的。
你必须知道一个SMB域名是用来鉴别一个SMB服务器上的一组资源的(用户,打印机,文件……)。
那么一个客户端是如何与一个服务器建立SMB会话的呢?