ncat SSL 问题,证书验证失败(自签名证书)

Posted

技术标签:

【中文标题】ncat SSL 问题,证书验证失败(自签名证书)【英文标题】:ncat SSL issues, Certificate verification failed (self signed certificate) 【发布时间】:2017-04-18 21:19:06 【问题描述】:

我目前正在尝试使用带有 SSL 的 ncat 在 Windows 中绑定 cmd shell,以允许 Kali Linux 计算机进行连接。

在 Windows 计算机上,我运行

ncat --exec cmd.exe --allow KaliLinux.computer -vnl PortNumber --ssl

然后在 Kali Linux 电脑上运行

ncat -v Windows.computer PortNumber --ssl

然后在 Kali Linux 终端上提示我:

Ncat: Certificate verification failed (self signed certificate).

但是,我仍然对 Windows CMD 输出感到满意。

在尝试通过此 ncat 连接运行任何类型的命令时,未从 Windows 计算机检索到任何响应,并且查看 Windows 计算机上的 CMD 屏幕显示连接已关闭,没有任何警告/错误。

如果我在没有 --ssl 标志的情况下尝试相同的操作,绑定和连接将按预期工作。

我的问题是,如何覆盖证书验证失败通知或如何创建有效且安全的 SSL 连接以使连接正常工作?

【问题讨论】:

尝试使用--ssl-trustfile trusted.pem--ssl-verify 指定要信任的证书,在文件trusted.pem 中包含有问题的证书。您可以使用openssl s_client -showcerts -connect servername:443 -verify 10获取证书。 所以我生成了一个测试证书和一个测试密钥,并用它来建立 SSL 连接,但是,我仍然遇到同样的问题。如果我多次输入垃圾邮件,我会遇到“Ncat:输入/输出错误”。 【参考方案1】:

检查 Windows VM 和 Kali Linux 中的 SSL 版本是否兼容。 ncat 7.60 不再支持 tls 1.2。

另一种方法是在你的 Kali Linux 上使用 OpenSSL 而不是 ncat(你仍然可以在你的 Windows VM 中使用 ncat)。

例如openssl s_client -connect 10.0.0.2:4444

【讨论】:

以上是关于ncat SSL 问题,证书验证失败(自签名证书)的主要内容,如果未能解决你的问题,请参考以下文章

SSL 握手失败 - 一个威瑞信链证书 - 包含两个 CA 签名证书和一个自签名证书

ClientWebsocket SSL 证书验证失败

手动验证 SSL 自签名证书签名 - javascript [重复]

Java:使用自签名证书的 SSL 客户端身份验证

Subversion Server SSL 证书验证失败:和其他原因

SSL 服务器证书验证在代码中失败,但在 openssl 中没有