标题: Sysinternals工具的在线使用
创建: 2022-03-04 12:30 更新: 2022-03-17 12:30 链接: https://scz.617.cn/windows/202203041230.txt
前些日子说起Win10创建匿名共享,跟云海讨论时听他提及Sysinternals有个在线服 务,可以通过UNC路径直接执行其中的工具。恕我孤陋寡闻,虽然在其主站上看到过 live.sysinternals.com,但从未查看过怎么个live法,心有疑惑,却非刚需,无意 深究。只是云海说可以UNC路径直接执行就有些惊到我了,试试。
客户端是Win10企业版2016 LTSB,winver显示1607(OS Build 14393.4704)。在cmd中 执行
\live.sysinternals.com\DavWWWRoot\hex2dec 0x51201314 \live.sysinternals.com\tools\hex2dec 0x51201314
如能正常执行,运气不错。但有可能得到错误提示
The network path was not found.
此时有几种解决办法
net use * \live.sysinternals.com net use * \live.sysinternals.com\DavWWWRoot net use * \live.sysinternals.com\tools
或者先在资源管理器中访问
\live.sysinternals.com \live.sysinternals.com\DavWWWRoot \live.sysinternals.com\tools
再在cmd中执行
\live.sysinternals.com\DavWWWRoot\hex2dec 0x51201314 \live.sysinternals.com\tools\hex2dec 0x51201314
Wireshark抓包,发现上述命令成功时走的不是445/TCP,而是80/TCP,对应的客户端 服务是WebClient。虽然是UNC路径直接执行,但live.sysinternals.com没有提供SMB 共享,没有SMB服务端,只有WebDAV服务端。
参看
Using the WebDAV Redirector https://docs.microsoft.com/en-us/iis/publish/using-webdav/using-the-webdav-redirector
表面上DavWWWRoot与tools等价,其实有区别。DavWWWRoot是WebDAV服务端提供的虚 拟路径,并不存在
http://live.sysinternals.com/DavWWWRoot (返回404)
tools有真实WEB目录与之对应
http://live.sysinternals.com/tools
用DavWWWRoot时,应该是客户端有特殊处理,直接去连80/TCP。用tools时,会先尝 试445/TCP,失败后再尝试80/TCP,这符合逻辑。无论用DavWWWRoot还是用tools,显 式"net use"建立映射后,再访问时都将直接访问80/TCP,不再尝试445/TCP。
$ net use
Status Local Remote Network
Y: \\live.sysinternals.com\tools
Web Client Network
Z: \\live.sysinternals.com\DavWWWRoot
Web Client Network
客户端对"net use"建立的映射有缓存,除非显式删除,否则重启OS后仍然有效。
net use * /d /y
客户端的行为比较混乱,有时"net use"啥也没有的情况下也能UNC路径执行成功,至 少可以这样重现,严格依次执行
a) net use * /d /y b) restart c) explorer \live.sysinternals.com\DavWWWRoot d) \live.sysinternals.com\tools\hex2dec 0x51201314 e) "net use"为空
e步骤说明资源管理器建立的某种映射反映不到"net use"中,但更底层是共用的。
有时用DavWWWRoot仍然报"The network path was not found",至少可以这样重现, 严格依次执行
a) net use * /d /y b) restart c) \live.sysinternals.com\tools\hex2dec 0x51201314 d) \live.sysinternals.com\DavWWWRoot\hex2dec 0x51201314
针对d步骤抓包,啥也没有,没有445,没有80。显然WebDAV客户端对c步骤有缓存, 实现上有其他逻辑BUG,导致d步骤什么包也不发。
通过WebDAV使用live.sysinternals.com上的工具,与通过匿名SMB共享执行PE,在 GUI层面没有区别,用户感受是一样的,都不需要提供user/pass。但是,都涉及PE映 像数据以某种形式间接传递到客户端,显然受网络状况影响。走80的话,明文传输, 容易被劫持,可能有办法走443或其他加密手段,未探寻。
一般情况下用不上live.sysinternals.com,有点意思,知道比不知道好,某些场景 用得上。有替代方案时,并不推荐。
2022.3.17 zyh
云海进一步研究表明,主要与WebClient服务相关,"net use"与资源管理器访问会间 接启动WebClient服务。假设WebClient服务已启动,如下命令均可执行
\live.sysinternals.com\DavWWWRoot\hex2dec 0x51201314 \live.sysinternals.com@80\tools\hex2dec 0x51201314
注意第二条有个"@80"
假设WebClient服务未启动,还可能报另一种错
$ \live.sysinternals.com\DavWWWRoot\hex2dec 0x51201314 The system cannot find the path specified.
若测试过程与描述不符,建议重启OS,而不是重启WebClient服务,客户端实现有很 多状态相关的BUG。