cnPuTTY 0.80.0.1—PuTTY Release 0.80中文版本简单说明~~

2023-12-18 官方发布了PuTTY 0.80
本次发布主要是针对Terrapin攻击(CVE-2023-48795)的修改发布。
更多详细的内容请查看PuTTY Change Log

有关Terrapin攻击可用简单参考:警告!!!Terrapin攻击(CVE-2023-48795)~~~

为了缓解此漏洞,需要启用OpenSSH项目定义的名为'strict KEX'的SSH扩展,PuTTY 0.80中已有实现。并且这个漏洞是双向的,所以需要服务器与客户端同时实现这个扩展。已经实现这一扩展的相关应用可以简单参考:list of SSH implementations。在没有缓解措施的情况下,该漏洞也只能是在使用某些加密算法时被利用。在PuTTY支持的算法中受影响的包括:ChaCha20-Poly1305(PuTTY中的名称为ChaCha20)以及AES-CBC(AES系列中的一种模式)。可以通过设置避免使用ChaCha20,AES-CBC更多的依赖服务器的设置选择,PuTTY不能完全主导。

其它关于Terrapin攻击的更多信息请自行查找了解,强烈建议更新相关软件到最新版本以避免这个问题。PuTTY 0.79 及其之前的版本都会受到它的影响,如果可能的话强烈建议使用PuTTY 0.80或者之后的版本,当然这由你自己决定。

基于上述原因,此次同步更新cnPuTTY 0.80.0.1发布。其中包含对cnPuTTY本身问题的简单修正。详细的内容如下:

1.Windows系统下的相关说明

在连接中没有实现'strict KEX'扩展并且使用了易受攻击的算法时,PuTTY将弹出Terrapin攻击风险的报警信息如下:

如果继续进行连接,连接建立后的事件日志如下:

复制代码
存在Terrapin攻击隐患的日志输出
2023-12-25 23:45:30	查找主机 "192.168.44.137" 来自 SSH连接
2023-12-25 23:45:30	连接到 192.168.44.137 端口 22
2023-12-25 23:45:30	我们声明的版本:SSH-2.0-PuTTY_Release_0.80
2023-12-25 23:45:30	连接到 192.168.44.137
2023-12-25 23:45:30	远程版本:SSH-2.0-OpenSSH_9.2p1 Debian-2
2023-12-25 23:45:30	使用SSH协议版本 2
2023-12-25 23:45:30	没有GSSAPI安全可用的使用条件
2023-12-25 23:45:30	当前SSH连接容易受到'Terrapin'攻击(别名CVE-2023-48795)
2023-12-25 23:46:43	尽管存在'Terrapin'漏洞,但用户仍旧要求继续进行连接
2023-12-25 23:46:43	执行 NTRU Prime / Curve25519 hybrid key exchange,使用哈希 SHA-512 (unaccelerated)
2023-12-25 23:46:43	服务器也有ecdsa-sha2-nistp256/rsa-sha2-512/rsa-sha2-256主机密钥,但我们未存储它们
2023-12-25 23:46:43	主机密钥指纹是:
2023-12-25 23:46:43	ssh-ed25519 255 SHA256:yAU3FBTxrgwp4RtC/IyqtoKx9jXYOPPa8zMKDIa6Q00
2023-12-25 23:46:43	已初始化 ChaCha20 出站加密
2023-12-25 23:46:43	已初始化 Poly1305 出站MAC算法(在ETM模式)(加密要求)
2023-12-25 23:46:43	已初始化 ChaCha20 入站加密
2023-12-25 23:46:43	已初始化 Poly1305 入站MAC算法(在ETM模式)(加密要求)
2023-12-25 23:47:22	发送密码
2023-12-25 23:47:22	授予访问权限
2023-12-25 23:47:22	打开主会话通道
2023-12-25 23:47:22	已开通主通道
2023-12-25 23:47:22	已分配 pty
2023-12-25 23:47:22	已启动 shell/command

++在连接中实现'strict KEX'扩展时,无论算法如何,都能避免漏洞的使用。这需要服务器与客户端共同支持++ 。建立连接后,事件日志中会提示"启用严格的密钥交换规则",如下:

复制代码
///实现'strict KEX'扩展时的事件日志
2023-12-27 23:19:15	查找主机 "192.168.44.131" 来自 SSH连接
2023-12-27 23:19:15	连接到 192.168.44.131 端口 22
2023-12-27 23:19:15	我们声明的版本:SSH-2.0-PuTTY_Release_0.80
2023-12-27 23:19:15	连接到 192.168.44.131
2023-12-27 23:19:15	远程版本:SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u2
2023-12-27 23:19:15	使用SSH协议版本 2
2023-12-27 23:19:15	没有GSSAPI安全可用的使用条件
2023-12-27 23:19:15	启用严格的密钥交换规则
2023-12-27 23:19:15	执行 NTRU Prime / Curve25519 hybrid key exchange,使用哈希 SHA-512 (unaccelerated)
2023-12-27 23:19:15	服务器也有ecdsa-sha2-nistp256/rsa-sha2-512/rsa-sha2-256主机密钥,但我们未存储它们
2023-12-27 23:19:15	主机密钥指纹是:
2023-12-27 23:19:15	ssh-ed25519 255 SHA256:hQMU2IJghTkNZROO6rx4mwyUqfLjhqCfZmvHOcjh56k
2023-12-27 23:19:15	已初始化 AES-256 SDCTR (AES-NI accelerated) 出站加密
2023-12-27 23:19:15	已初始化 HMAC-SHA-256 (unaccelerated) 出站MAC算法
2023-12-27 23:19:15	已初始化 AES-256 SDCTR (AES-NI accelerated) 入站加密
2023-12-27 23:19:15	已初始化 HMAC-SHA-256 (unaccelerated) 入站MAC算法
2023-12-27 23:19:23	发送密码
2023-12-27 23:19:23	授予访问权限
2023-12-27 23:19:23	打开主会话通道
2023-12-27 23:19:24	已开通主通道
2023-12-27 23:19:24	已分配 pty
2023-12-27 23:19:24	已启动 shell/command

与Windows系统相关的发布内容如下图所示:

对应压缩包包含相应平台的程序参考如下如所示:

.sig文件为对应程序的数字签名,checksums文件包含对应程序的SHA256、SHA1、MD5校验值以便验证程序的完整性。获得相关程序后,请按需要自行选择使用。

2.Linux系统下的相关说明

在连接中没有实现'strict KEX'扩展并且使用了易受攻击的算法时,PuTTY同样将弹出Terrapin攻击风险的报警信息如下:

在本次cnPuTTY 0.80.0.1的发布中,修改了字体设置面板的显示如下如所示:

与Linux系统相关的发布内容如下图所示:

对应压缩包包含相应平台的可执行程序参考如下如所示:

可执行程序默认存放的路径为/usr/bin/,单个程序没有提供独立的数字签名与校验信息,以对应平台压缩包为整体提供数字签名与校验信息。具体请查看对应的checksums文件。

在压缩包当中,除了可执行程序外,还存在cnputty.desktop文件以及一些图标文件。本次发布与之前的cnPuTTY 0.79.0.1一样,采用比较简单的方式,直接提供二进制可执行文件,而不是以特定封装包的形式进行发布,请知悉。
在获得压缩包后,可直接解压文件,并将usr文件夹复制到根目录,相关文件会自动添加到指定目录。然后需要对可执行文件赋予相关权限。接着需要复制cnputty.desktop文件到桌面以方便使用。cnputty.desktop图标显示异常时,可能需要运行以下命令来刷新图标缓存

复制代码
sudo gtk-update-icon-cache /usr/share/icons/hicolor

然后重新允许cnputty.deskto执行。完成这些后,就可用正常使用cnPuTTY了。需要注意的是在不同的Linux发行版本中,可能会因为能够使用字体的差异造成无法正常打开会话。这时你需要在字体设置中选择当前系统可用的字体来正常打开会话。

其它更多的参考信息请查看:cnPuTTY 0.79.0.1---PuTTY Release 0.79中文版本简单说明~~ 中Linux系统下的相关发布信息。

3.MacOS系统下的相关说明

在连接中没有实现'strict KEX'扩展并且使用了易受攻击的算法时,PuTTY也将弹出Terrapin攻击风险的报警信息如下:

与MacOS系统相关的发布内容如下图所示:

对应压缩包包含内容参考如下如所示:

与cnPuTTY 0.79.0.1发布相同,这里同样也只提供x86_64平台下的相关程序。.sig为数字签名文件,checksums.txt文件包含各文件的MD5、SHA1和SHA256的校验值。cnPuTTY.zip解压后为可独立使用的cnPuTTY.app应用。其中包含putty可执行程序,图标文件putty.icns,以及一个Info.plist文件。这里是一个简易的app应用程序,不是一个完整的、标准的苹果系统下的app封装包,在测试使用过程中能够正常使用。

在获取相关文件后,请根据自己的使用自行设置权限、路径位置及环境变量。对于plink、pscp、psftp、puttygen这四个命令行工具,可以直接使用。它们不依赖第三方库文件。对于pageant、putty必须安装第三方GTK库来获得支持,否则无法正常使用。对于cnPuTTY.app应用同样需要第三方GTK库支持,并且可以直接放置到应用程序文件夹来方便使用。

++这里仅是一个简易发布,未包含和集成第三方运行库。所以需要使用者自行解决相关库依赖问题。第三方GTK库支持,推介通过Homebrew来进行安装。++ Homebrew具体安装过程略,请自行查找解决。安装好后,通过 brew install gtk+3 命令来安装第三方GTK库。完成后可正常使用pageant、putty、cnPuTTY.app程序。 你也可以通过MacPorts或者GTK-OSX来获得GTK支持。如果你采用了这两种方法来获得GTK支持,那么这里的相关程序可能不适用于你的环境,你可能需要重新生成编译。++请注意:本例中,在MacOS当中安装额外的X Window环境来支持PuTTY不是必须的选项++ 当然如果你需要可以安装X Window相关支持,实现方式也有很多中方法。推介使用XQuartz,它包含X11的服务器和客户端库以及一个终端实例。

完成所有之后,你可用以图形界面的方式单独使用****cnPuTTY.app应用,或者只使用命令行工具来完成会话,又或者通过 XQuartz****来管理和启动图形界面连接会话。

其它更多的参考信息请查看:cnPuTTY 0.79.0.1---PuTTY Release 0.79中文版本简单说明~~** 中MacOS系统下的相关发布信息。**

4.JK补丁版的相关说明

原始补丁网站的链接:PuTTY for win32 storing configuration into file
27. 12. 2023 - Update: this modified PuTTY is now based on PuTTY 0.80 (version 0.22.0)

++使用JK补丁可以获得磁盘存储支持,这个补丁是由国外大神重写了PuTTY中处理存储/加载配置的相关函数来实现。相较于其它方式,这个更接近原版本程序并且使用方便,无需额外文件支持。国外大神从2005年至今一直长期支持补丁更新实属非常难得。++

运行包含补丁的程序会在同级目录中自动生成会话目录、SSH主机密钥目录以及随机种子文件,如下:

复制代码
./sessions/packedSessionName
./sshhostkeys/packedHostName
./putty.rnd

添加补丁后,提高了程序使用的便携性,可以放置在U盘或者其它介质中,而不需要每次使用时都去重新配置,方便在需要的地方使用它。除了将相关配置信息存储到文件外,与普通版本的程序使用没有任何差别。

与JK补丁相关的发布内容如下图所示:

其它更多的参考信息请查看:cnPuTTY 0.79.0.1---PuTTY Release 0.79中文版本简单说明~~** 中JK磁盘存储补丁的相关发布信息。**

5.如何获得相关程序等内容??

第一推介的建议是不去使用它,包括但不限于cnPuTTY的MacOS、Linux以及Windows下的程序,因为这样你将不会面临任何相关问题。

【重要提醒:没有人能够确定或者保证cnPuTTY会跟随PuTTY的后续更新发布同步更新,也不能够确保或者保证cnPuTTY自身版本会进行后续更新或者修补,也许cnPuTTY的发布、更新仅仅是一次性的。请知悉!!】

可执行程序的获得,这是 cnPuTTY出处的唯一永久性可执行程序的分享链接https://pan.baidu.com/s/1NOdcUNUOAapHL4baKxDoVg?pwd=7wz9https://pan.baidu.com/s/1NOdcUNUOAapHL4baKxDoVg?pwd=7wz9可在网盘中获得如下所有内容:

请根据需要自行选择,其中cnPuTTY_Release_public.asc为发布公钥,可以用来验证数字签名以确保程序完整性。该公钥已经上传到公共域的服务器当中,也可以从相关服务器自行获取。公钥相关信息如下:
cnPuTTY_Release_public.asc
指纹:E165 4745 E33E D940 E5A8 70A1 D7EE F8BB 0749 C805

源代码的获得,当然这也是 cnPuTTY出处的一永久性源代码的分享链接https://github.com/dZ8Lx9OwX/cnPuTTYhttps://github.com/dZ8Lx9OwX/cnPuTTY

自此所有cnPuTTY 0.80.0.1的相关信息已经分享完毕,剩下的事情请自行决定。

【必要的安全提醒】:介于PuTTY历史上有出现"内置后门事件",在此无法确保是否有人出于另外的原因修改了cnPuTTY导致不可预知的后果或者事件,所以在此特别强调了本发布的唯一分享途径,其它途径不确定是否相同。是否从其他可以信赖的地方获得可执行程序或源代码,这是你的选择!!其他任何人所做的修改都不应当被认为是与本发布相同,如果你进行了类似的修改工作,请务必让他人有明确的区分,以免混淆。当然这也是对你有益的,其他任何善意的修改都值得肯定。

【免责声明】:本篇内容及其它相关内容遵从相同的原则,这个原则也同样来源和适用于cnPuTTY、cnPuTTY CAC及cnKiTTY相关信息及内容。相关内容及发布与PuTTY、PuTTY CAC及KiTTY遵从相同的发布许可,不提供任何保证、不承担任何责任。包括但不限于已发布内容、已知信息或者其他相关的信息,以及直接或者间接的其他任何未知的情况,均不提供任何担保、不承担任何责任。你应当充分验证自己的需求和使用,以免造成不必要的麻烦。更多的其他信息请以相关网站的内容为准。所有的相关信息的获得请自行甄别验证,并自行承担相关责任。

相关推荐
AAA修煤气灶刘哥3 分钟前
《从 0 到 1 上手:RBAC+SpringSecurity 权限管理教程》
java·后端·安全
Peter·Pan爱编程13 分钟前
Docker在Linux中安装与使用教程
linux·docker·eureka
kunge20131 小时前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪5491 小时前
DVWA中级
linux
MUY09901 小时前
应用控制技术、内容审计技术、AAA服务器技术
运维·服务器
楠奕1 小时前
elasticsearch8.12.0安装分词
运维·jenkins
Sadsvit2 小时前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos
xiaok2 小时前
为什么 lsof 显示多个 nginx 都在 “使用 443”?
linux
java资料站2 小时前
Jenkins
运维·jenkins
苦学编程的谢3 小时前
Linux
linux·运维·服务器