2

我们目前正在编写一个工具,旨在检查各种应用程序(http、ssh、smb、rdp)的凭据的有效性。前3个没问题。但是对于 RDP,我找不到一种简单的方法来做到这一点。

该工具嵌入在 linux 机器上托管的 Web 应用程序中,因此没有可用的 X 服务器。

我已成功用于从命令行验证 RDP 凭据的唯一工具是 THC-Hydra,通过提供单个用户名和密码,它适用于旧版本的 RDP 服务器,以及那些降低了网络级别身份验证的服务器。

但是,在检查最新版本的 Windows 的 RDP 凭据或网络级别身份验证已得到强化的情况下,THC-Hydra 似乎挂起。

带有 rdesktop 客户端补丁版本的美杜莎也会失败。(某些服务器需要 CredSSP、SSL、...)

还有 nmap 的 ncrack,但由于某种原因,我只能得到“READ”超时。

编辑:我让 Ncrack 工作,但它失败了——至少在 Windows 2008 R2 上(即使提供正确的凭据也找不到)。

有什么线索可以帮助我吗?

干杯

4

1 回答 1

6

实际上,我找到了一种可靠的方法来做到这一点。总是当你停止寻找你找到的东西时:)

使用超级棒的远程桌面客户端 FreeRDP 和“+auth-only”开关。认证成功时退出状态为0,否则为1。您还可以使用 grep 查找错误消息。

认证失败:

jrm@deb-jrm:~$ static/xfreerdp /v:10.0.0.1 /cert-ignore /u:MyUser /MyDomain /p:WRONGPASS +auth-only
Authentication only. Don't connect to X.
credssp_recv() error: -1
freerdp_set_last_error 0x20009
Authentication failure, check credentials.
If credentials are valid, the NTLMSSP implementation may be to blame.
Error: protocol security negotiation or connection failure
Authentication only, exit status 1
Authentication only, exit status 1

有效授权:

jrm@deb-jrm:~$ static/xfreerdp /v:10.0.0.1 /cert-ignore /u:MyUser /MyDomain /p:GOODPASS +auth-only
Authentication only. Don't connect to X.
Authentication only, exit status 0
Authentication only, exit status 0
于 2015-01-08T05:27:40.883 回答