RPC 到 WebClient
关于此代码的信息可以在这篇博客文章中找到。建议在尝试使用这里的任何内容之前先阅读该文章。
用于通过 RPC 调用触发 WebClient 的代码。由于最终未能成功,代码从未被很好地整理,并且很大程度上仍停留在概念验证状态。
这些 RPC 调用能够到达启动服务的代码路径:
- EfsRpcDuplicateEncryptionInfoFile_Downlevel -> EfsDuplicateEncryptionInfoRPCClient -> EfsDuplicateEncryptionInfoClient -> EfspGetFullName -> EfspAttemptToGetWebDavPath -> WNetGetResourceInformaton
- EfsRpcEncryptFileSrv_Downlevel -> EfsEncryptFileClient -> LocateAndConnectToService -> EfspGetFullName -> EfspAttemptToGetWebDavPath -> WNetGetResourceInformaton
- EfsRpcDecryptFileSrv_Downlevel -> EfsDecryptFileClient -> LocateAndConnectToService -> EfspGetFullName -> EfspAttemptToGetWebDavPath -> WNetGetResourceInformaton
- EfsRpcAddUsersToFileEx_Downlevel -> EfsAddUsersClientEx -> LocateAndConnectToService -> EfspGetFullName -> EfspAttemptToGetWebDavPath -> WNetGetResourceInformaton
- EfsRpcRemoveUsersFromFile_Downlevel -> EfsRemoveUsersClient -> LocateAndConnectToService -> EfspGetFullName -> EfspAttemptToGetWebDavPath -> WNetGetResourceInformaton
- EfsRpcQueryRecoveryAgents_Downlevel -> EfsQueryRecoveryAgentsClient -> LocateAndConnectToService -> EfspGetFullName -> EfspAttemptToGetWebDavPath -> WNetGetResourceInformaton
- EfsRpcQueryUsersOnFile_Downlevel -> EfsQueryUsersClient -> LocateAndConnectToService -> EfspGetFullName -> EfspAttemptToGetWebDavPath -> WNetGetResourceInformaton
- EfsRpcFileKeyInfo_Downlevel -> EfsFileKeyInfoClient -> LocateAndConnectToService -> EfspGetFullName -> EfspAttemptToGetWebDavPath -> WNetGetResourceInformaton
仓库中目前只有 EfsRpcEncryptFileSrv_Downlevel,也许将来会添加其他的。
WnfToWebClient 是 .NET 代码,可以通过 WNF 消息启动 WebClient 服务。需要 NT AUTHORITY/SYSTEM 权限,所以同样只是一个概念验证。
由于 ETW 事件使用者(UBPM)和 WNF 状态名称的安全描述符,RPC 调用和 WNF 消息(目前)并不真正具备武器化能力。