VB.NET-PSEXEC和SecureString类?

VB.NET-PSEXEC和SecureString类?,.net,vb.net,security,psexec,sysinternals,.net,Vb.net,Security,Psexec,Sysinternals,我在vb.net中开发了一个工具,它可以让我组织中的IT用户触发PC上的许多远程GUI进程。我在应用程序中调用PSEXEC,并将我设置的服务帐户的用户和密码传递给它 我希望尽可能具有安全意识,并且正在考虑使用SecureString类来存储用户和密码。我的问题是:如果我使用安全字符串存储我的服务帐户用户和密码,然后在调用它时将它们传递给PSEXEC,PSEXEC是通过网络传输模糊密码还是传输普通字符串 任何帮助都将不胜感激,因为这对我来说有点新鲜 谢谢 编辑: 我用来调用PSEXEC的代码: P

我在vb.net中开发了一个工具,它可以让我组织中的IT用户触发PC上的许多远程GUI进程。我在应用程序中调用PSEXEC,并将我设置的服务帐户的用户和密码传递给它

我希望尽可能具有安全意识,并且正在考虑使用SecureString类来存储用户和密码。我的问题是:如果我使用安全字符串存储我的服务帐户用户和密码,然后在调用它时将它们传递给PSEXEC,PSEXEC是通过网络传输模糊密码还是传输普通字符串

任何帮助都将不胜感激,因为这对我来说有点新鲜

谢谢

编辑:

我用来调用PSEXEC的代码:

Private Sub startProcess(ByVal remotePC As String, ByVal remotePC_URL As String, ByVal remoteUser As String, ByVal password As String)
    Dim proc As New System.Diagnostics.Process
    proc.StartInfo = New ProcessStartInfo("CMD")
    proc.StartInfo.Arguments = "/k psexec \\" & remotePC & " -u " & remoteUser & " -p " & password & " -i -d ""C:\Program Files (x86)\Internet Explorer\iexplore.exe"" -k " & remotePC_URL & ""
    proc.StartInfo.CreateNoWindow = True
    proc.StartInfo.UseShellExecute = False
    proc.Start()
End Sub 'startProcess

是否使用用户帐户/登录信息对远程服务器进行身份验证?如果是这样,它通常是安全的(与您得到的登录弹出窗口相同)。否则,这取决于所使用的协议。例如,对于HTTP,所有内容都以纯文本发送。请提供一些代码,以便我们更好地了解您的需求。

添加了我现在用来呼叫PSEXEC的sub。它可以工作,但我不知道它是如何传输我传递给它的数据的。我已经查看了SysInternals PSEXEC页面,但我也不清楚。@Oryx:看,这表明PSEXEC确实在普通测试中提交了密码。另外,还有一个
网络使用
解决方案。再说一遍,你想做什么?在远程服务器上启动IE?@Oryx:也要检查和(这一个是付费的,但你可能会发现它对你的公司需求是值得的-与他们没有任何联系),如果您坚持使用PsExec(查看
图5:使用密码散列远程执行文件
),那么我实际上能够找到一个更新版本的PsExec,它在传输过程中加密密码和命令。我想那会有用的@羚羊:只要确认它是加密的,用嗅探器之类的。是的,如果你只传递用户名,它会提示你输入密码,密码可能会被加密。但是这篇文章并没有说任何关于以明文形式传递的密码的事情。您可能需要加入密码哈希。