在前面的文章中,介绍了SMB协议相关的内容,详见我的专栏《网络攻防协议实战分析》,连接这里。在SMB协议中往往会使用 tree connect命令连接到对应的远程共享地址。如果你经常接触到SMB协议,相信你对于ADMIN$ ,IPC$ ,C$ 等多种共享一定不陌生。那么这些共享share代表什么含义?Windows上还存在着哪些特殊的共享?本文将梳理这些共享,希望对于你分析SMB有所帮助。
SMB share共享
SMB共享(share)是指将计算机上的文件夹、打印机或其他资源设为共享,使得其他计算机可以通过网络访问和使用这些资源。在SMB协议中,共享是通过共享名称(Share Name)来标识的,每个共享都有一个唯一的共享路径,其他计算机可以通过这个路径来访问共享资源,如下图1:
图1
SMB share 类型
通常来说windows上的share分成两种,一种是隐藏式的share,一种是非隐藏式的share。
- 非隐藏式的share非常的常见,常见的文件共享的远程路径都是非隐藏式的share,形如\192.168.1.10\test这种形式,如上图1。
- 隐藏式的share和非隐藏式的share的区别就是,隐藏的share以$ 结尾,而非隐藏式share没有KaTeX parse error: Undefined control sequence: \IPC at position 29: …如\\192.168.1.10\̲I̲P̲C̲ .
- 隐藏的share使用Windows文件管理器是无法直接查看的,需要特定的工具和命令才能查看到,但是通过输入隐藏的share完整路径是直接可以访问的。下图2是netshare查看本机共享的情况:
图2
本文要将对上述图2的share进行一一的介绍。
非隐藏的share
文件共享share
文件共享是最常见的一种共享,通过windows配置共享文件夹,就可以通过用户名和密码远程访问改共享,如上图1所示。
通过属性配置www文文件共享地址,在文件管理器中输入改地址,提示需要输入用户名和密码,如下:
图3
成功连接之后,对应的SMB协议数据包如下图所示:
图4
可以看到在使用root用户名进行认证之后,SMB协议使用tree connect命令对于\DESKTOP-4NR18EQ\IPC$,\DESKTOP-4NR18EQ\www发起连接等share。之后对于\DESKTOP-4NR18EQ\www路径下文件的操作都会基于该tree进行,关于tree id 的更多内容和技巧,参考我之前的文章,这里。
NETLOGON/SYSVOL share
非隐藏式式share还包括NETLOGON, SYSVOL等share,这些share是特殊管理用途的share。而且这两个share只会在域名控制器DC上出现,所以一般的PC机器上是没有这两个share。通常NETLOGON share对应的文件路径为C:\WINDOWS\sysvol\sysvol\*yourdomain*\scripts
,而SYSVOL对应的文件路径为C:\WINDOWS\sysvol\sysvol\
。当然关于这两个share 示例,可以参考这里。
隐藏的share
IPC$ share
IPC$ 是SMB协议中的一个特殊共享,其是“Inter-Process Communication”缩写,用于进程间通信。IPC$ 这个share是由windows服务创建的,该share不同于其他的share,它不直接映射到文件系统中的特定路径。IPC$ 共享不用于共享文件或打印机,而是用于执行一些系统级操作,提供了一个接口,允许远程的命名管道连接,通过该接口可以执行远程管理和连接验证,允许匿名的账户枚举域账户和网络连接等。
由于这是一个隐藏的share,因此直接查看访问IPC$ 共享需要借助工具,例如net use命令以及psexec等安全领域相关的工具。在文件共享的访问过程中,也可以使用该share执行系统级查询,前面图3,4文件共享过程之前就使用该share查询目标系统的网络接口信息,如下图:
图5
关于该IPC$ 共享上还有哪些系统的操作,参考我之前的关于tree id的文章进行过滤,这里,通过过滤tree id 能够快速了解在共享上的操作,从而查看IPC$ 上是否存在异常的命令等。
下图是使用IPC$远程调用目标主机上的psexec服务:
图6
关于PSEXEC的SMB流量更为详细的分析,详见专栏《SMB攻击流量数据包分析》《SMB攻击利用之-psexec流量数据包分析》
ADMIN$ share
ADMIN$是SMB协议中的一个特殊共享,这个是windows自动创建的share,对应的是C:\Windows目录,其是“Administration” share缩写。该共享的目的是用于执行一些与系统管理相关的操作,例如远程文件管理、系统配置和程序安装等。该share的通常用法是用来远程部署软件, 如下是上传PSEXEC文件到该share的SMB数据包:
图7
可以看到将psexec.exe上传到C:/WIndows路径下,由于C:\WIndows路径为WIndows系统默认的服务路径,因此后续可以通过SMB调用psexec.exe该服务,关于这方面的分析,详见专栏《SMB攻击流量数据包分析》《SMB攻击利用之-psexec流量数据包分析》
C$ share
C$ 是SMB协议中的一殊共享,其名称代表计算机的C盘(通常是系统盘),C$ 共享允许管理员通过网络远程访问计算机的C盘,进行文件管理和系统维护操作。常见的文件共享是\192.168.1.10\test这种模式,路径中并不会出现系统的盘符。 但是如果将整个盘的内容共享,则会出现C$ , D$ ,E$ 这样的共享,下图是一个C$ 访问的示例:
图8
可以看到C$ 等共享和通常的文件共享在SMB协议层面差一步不大。只是从安全的角度考虑不建议将整个系统盘都作为文件共享,而是按照需要共享某个文件夹即可。当然关于C$可能存在的安全方面的利用分析,详见专栏《SMB攻击流量数据包分析》《SMB攻击利用之-mimikatz流量数据包分析》
PRINT$ FAX$ share
PRINT$ 是一个特定的网络共享来凝结,例如当管理员需要在网络中的计算机上安装打印机时,通常需要将相应的打印机驱动程序复制到目标计算机上。PRINT$ 共享提供了一个标准的位置,用于存储打印机驱动程序,不再赘述。
FAX$ 该隐藏share存在于FAX服务的服务器上,主要作用是FAX client连接FX服务器传输FAX之用,不再赘述。
更多的share可以参考,这里。
以上就是SMB协议中常见share共享的介绍,希望对你日常工作有所帮助。
本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。