关于SMB研究

尽管这些天的研究得出一个结论,SMB协议不支持多线程,如果强行多线程,则效率反而很低。

即使使用多线程,每个进程只打开一个端口。


可以使用多进程。每个进程一个端口。速度明显快。


JAVA可以使用jcifs-1.3.14或jcifs-1.2.25库实现SMB传输。我试了一下,1.2.25可用,1.3.14不可用。


可使用两种方式下载:

JDK自带的URL:

 URL url = new URL("file:\\\\10.82.20.89/szx01/CRDU_RTOOLS_F/RD_Tools/Software_Dvlp/Code_Edit-Dvlp/vs.net 2005 Professional(cn)/cs_vs_2005_pro_dvd.iso");

或jcifs-1.2.25库:

String url="smb://username:password@10.78.182.65/otmshare2/cygwin/CygwinPortable-0.2.7z";

不过第一种明显快一些(也许只有验证用户名密码那部分快一些),但是jcifs-1.2.25库可以实现多进程下载。

支持SmbFile、SmbRandomAccessFile这些类。

### 关于SMB协议的相关工具 在处理SMB(Server Message Block)协议时,有许多工具可以用于测试、调试和管理SMB连接。以下是几个常用的SMB协议相关工具及其功能描述: #### 1. **Samba 工具** Samba 是一个开源软件套件,支持 Windows 和 Linux/Unix 系统之间的文件和打印资源共享。它提供了多个命令行工具来管理和操作 SMB 协议。 - `smbclient` 这是一个类似于 FTP 的客户端程序,允许用户通过 SMB/CIFS 访问远程共享资源[^2]。 ```bash smbclient //server/share -U username ``` - `testparm` 用来验证 Samba 配置文件的语法正确性并显示解析后的配置参数。 ```bash testparm /etc/samba/smb.conf ``` - `smbstatus` 显示当前 Samba 会话的状态信息,包括已打开的文件、锁定情况以及活动连接等。 ```bash smbstatus ``` --- #### 2. **Impacket 工具集** Impacket 是一组 Python 脚本集合,专注于网络协议实现,特别适合用于研究和开发基于 SMB 的攻击技术或合法用途。 - `smbexec.py` 利用 SMB 协议执行远程命令,通常用于渗透测试场景下获取目标系统的 shell 权限[^3]。 ```python python smbexec.py DOMAIN/username:password@target_ip ``` - `psexec.py` 类似 Microsoft 的 PsExec 实现方式,在远程主机上运行进程而无需事先建立交互式登录会话。 ```python python psexec.py DOMAIN/username:password@target_ip cmd.exe ``` --- #### 3. **Metasploit Framework** 作为一款广泛使用的漏洞利用框架,Metasploit 提供了许多针对 SMB 协议的功能模块,可用于发现漏洞或者模拟真实世界中的威胁行为。 例如,“EternalBlue”漏洞就是通过 MS17-010 中存在的 SMBv1 缺陷进行传播扩散的经典案例之一。 ```ruby use exploit/windows/smb/ms17_010_eternalblue set RHOST target_ip exploit ``` --- #### 4. **PortProxy (Windows 内置工具)** Windows 自带了一个名为“PortProxy”的特性,能够将本地端口上的流量重定向到另一台计算机上的指定地址和服务端口号上去。这对于构建跨子网通信链路非常有用,尤其是在涉及 SMB 数据流转发的时候。 启用 PortProxy 命令如下所示: ```cmd netsh interface portproxy add v4tov4 listenport=445 listenaddress=0.0.0.0 connectport=445 connectaddress=target_ip ``` --- #### 5. **Wireshark/TShark** 虽然严格意义上来说 Wireshark 并不是专门为 SMB 设计的应用程序包捕捉器,但由于其强大的过滤能力和解码机制,使得它可以很好地分析 SMB 报文结构及交互过程[^1]。 捕获 SMB 流量示例: ```bash tshark -i eth0 -f "tcp port 445" ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值