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攻击风险的报警信息如下:

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

扫描二维码关注公众号,回复: 17333011 查看本文章
存在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文件包含对应程序的SHA256SHA1MD5校验值以便验证程序的完整性。获得相关程序后,请按需要自行选择使用。

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文件包含各文件的MD5SHA1SHA256的校验值。cnPuTTY.zip解压后为可独立使用的cnPuTTY.app应用。其中包含putty可执行程序,图标文件putty.icns,以及一个Info.plist文件。这里是一个简易的app应用程序,不是一个完整的、标准的苹果系统下的app封装包,在测试使用过程中能够正常使用。 

       在获取相关文件后,请根据自己的使用自行设置权限、路径位置及环境变量。对于plinkpscppsftpputtygen这四个命令行工具,可以直接使用。它们不依赖第三方库文件。对于pageantputty必须安装第三方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=7wz9icon-default.png?t=N7T8https://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/cnPuTTYicon-default.png?t=N7T8https://github.com/dZ8Lx9OwX/cnPuTTY

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

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

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

猜你喜欢

转载自blog.csdn.net/zdIdealism/article/details/135257287