SMB 上传
我们之前讨论过,企业通常允许使用 HTTP (TCP/80) 和 HTTPS (TCP/443) 协议向外传输流量。企业通常不允许 SMB 协议(TCP/445)离开内部网络,因为这会使企业面临潜在的攻击。有关这方面的更多信息,我们可以阅读 Microsoft 的文章《防止横向连接和进出网络的 SMB 流量》
另一种方法是通过 WebDav 在 HTTP 上运行 SMB。WebDAV (RFC 4918) 是 HTTP 的扩展,HTTP 是网络浏览器和网络服务器用于相互通信的互联网协议。WebDAV 协议使网络服务器能像文件服务器一样运行,支持协作内容创作。WebDAV 还可以使用 HTTPS。
使用 SMB 时,它会首先尝试使用 SMB 协议进行连接,如果没有可用的 SMB 共享,它就会尝试使用 HTTP 进行连接。在下面的 Wireshark 截图中,我们尝试连接到文件共享 testing3,由于没有找到 SMB,所以使用了 HTTP。

配置 WebDav 服务器
要设置我们的 WebDav 服务器,我们需要安装两个 Python 模块,wsgidav并且cheroot(您可以在此处阅读有关此实现的更多信息:wsgidav github)。wsgidav安装它们后,我们在目标目录中运行应用程序。
安装 WebDav Python 模块
使用 WebDav Python 模块
连接到 Webdav 共享
现在我们可以尝试使用目录连接到共享DavWWWRoot。
注意: DavWWWRoot是Windows Shell 识别的特殊关键字。您的 WebDAV 服务器上不存在此类文件夹。DavWWWRoot 关键字告诉微型重定向器驱动程序,该驱动程序处理您要连接到 WebDAV 服务器根的 WebDAV 请求。
如果在连接到服务器时指定服务器上存在的文件夹,则可以避免使用此关键字。例如:\192.168.49.128\sharefolder
使用 SMB 上传文件
注意:如果没有 SMB (TCP/445) 限制,您可以按照我们为下载操作设置的方式使用 impacket-smbserver。
最后更新于
这有帮助吗?