返回顶部
首页 > 资讯 > 精选 >使用SecureCRTSecure7.0怎么查看连接密码
  • 451
分享到

使用SecureCRTSecure7.0怎么查看连接密码

2023-06-15 08:06:34 451人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关使用SecureCRTSecure7.0怎么查看连接密码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。查看系统保存的连接的ini文件(大概位置:F:\Secure

这篇文章将为大家详细讲解有关使用SecureCRTSecure7.0怎么查看连接密码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

查看系统保存的连接的ini文件(大概位置:F:\SecureCRTSecureFX_HH_x64_7.0.0.326\Data\Settings\Config\Sessions)

使用SecureCRTSecure7.0怎么查看连接密码

ini文件的格式样例:

--ip地址S:"Hostname"=192.168.0.145--登录用户S:"Username"=root--端口,加密D:"[ssh2] 端口"=00000016--密码,加密,解密需要u之后的字符串S:"PassWord"=u2c7d50aae53e14eb94ef0cb377c247a77c2dbcea95333365

破解加密之后的密码,这个使用python3,具体脚本如下:

#!/usr/bin/env python3import osfrom Crypto.Hash import SHA256from Crypto.Cipher import AES, Blowfish class SecureCRTCrypto:     def __init__(self):        '''        Initialize SecureCRTCrypto object.        '''        self.IV = b'\x00' * Blowfish.block_size        self.Key1 = b'\x24\xA6\x3D\xDE\x5B\xD3\xB3\x82\x9C\x7E\x06\xF4\x08\x16\xAA\x07'        self.Key2 = b'\x5F\xB0\x45\xA2\x94\x17\xD9\x16\xC6\xC6\xA2\xFF\x06\x41\x82\xB7'     def Encrypt(self, Plaintext : str):        '''        Encrypt plaintext and return corresponding ciphertext.        Args:            Plaintext: A string that will be encrypted.        Returns:            Hexlified ciphertext string.        '''        plain_bytes = Plaintext.encode('utf-16-le')        plain_bytes += b'\x00\x00'        padded_plain_bytes = plain_bytes + os.urandom(Blowfish.block_size - len(plain_bytes) % Blowfish.block_size)         cipher1 = Blowfish.new(self.Key1, Blowfish.MODE_CBC, iv = self.IV)        cipher2 = Blowfish.new(self.Key2, Blowfish.MODE_CBC, iv = self.IV)        return cipher1.encrypt(os.urandom(4) + cipher2.encrypt(padded_plain_bytes) + os.urandom(4)).hex()     def Decrypt(self, Ciphertext : str):        '''        Decrypt ciphertext and return corresponding plaintext.        Args:            Ciphertext: A hex string that will be decrypted.        Returns:            Plaintext string.        '''         cipher1 = Blowfish.new(self.Key1, Blowfish.MODE_CBC, iv = self.IV)        cipher2 = Blowfish.new(self.Key2, Blowfish.MODE_CBC, iv = self.IV)        ciphered_bytes = bytes.fromhex(Ciphertext)        if len(ciphered_bytes) <= 8:            raise ValueError('Invalid Ciphertext.')                padded_plain_bytes = cipher2.decrypt(cipher1.decrypt(ciphered_bytes)[4:-4])                i = 0        for i in range(0, len(padded_plain_bytes), 2):            if padded_plain_bytes[i] == 0 and padded_plain_bytes[i + 1] == 0:                break        plain_bytes = padded_plain_bytes[0:i]         try:            return plain_bytes.decode('utf-16-le')        except UnicodeDecodeError:            raise(ValueError('Invalid Ciphertext.')) class SecureCRTCryptoV2:     def __init__(self, ConfigPassphrase : str = ''):        '''        Initialize SecureCRTCryptoV2 object.        Args:            ConfigPassphrase: The config passphrase that SecureCRT uses. Leave it empty if config passphrase is not set.        '''        self.IV = b'\x00' * AES.block_size        self.Key = SHA256.new(ConfigPassphrase.encode('utf-8')).digest()     def Encrypt(self, Plaintext : str):        '''        Encrypt plaintext and return corresponding ciphertext.        Args:            Plaintext: A string that will be encrypted.        Returns:            Hexlified ciphertext string.        '''        plain_bytes = Plaintext.encode('utf-8')        if len(plain_bytes) > 0xffffffff:            raise OverflowError('Plaintext is too long.')                plain_bytes = \            len(plain_bytes).to_bytes(4, 'little') + \            plain_bytes + \            SHA256.new(plain_bytes).digest()        padded_plain_bytes = \            plain_bytes + \            os.urandom(AES.block_size - len(plain_bytes) % AES.block_size)        cipher = AES.new(self.Key, AES.MODE_CBC, iv = self.IV)        return cipher.encrypt(padded_plain_bytes).hex()     def Decrypt(self, Ciphertext : str):        '''        Decrypt ciphertext and return corresponding plaintext.        Args:            Ciphertext: A hex string that will be decrypted.        Returns:            Plaintext string.        '''        cipher = AES.new(self.Key, AES.MODE_CBC, iv = self.IV)        padded_plain_bytes = cipher.decrypt(bytes.fromhex(Ciphertext))                plain_bytes_length = int.from_bytes(padded_plain_bytes[0:4], 'little')        plain_bytes = padded_plain_bytes[4:4 + plain_bytes_length]        if len(plain_bytes) != plain_bytes_length:            raise ValueError('Invalid Ciphertext.')         plain_bytes_digest = padded_plain_bytes[4 + plain_bytes_length:4 + plain_bytes_length + SHA256.digest_size]        if len(plain_bytes_digest) != SHA256.digest_size:            raise ValueError('Invalid Ciphertext.')         if SHA256.new(plain_bytes).digest() != plain_bytes_digest:            raise ValueError('Invalid Ciphertext.')         return plain_bytes.decode('utf-8') if __name__ == '__main__':    import sys     def Help():        print('Usage:')        print('    SecureCRTCipher.py <enc|dec> [-v2] [-p ConfigPassphrase] <plaintext|ciphertext>')        print('')        print('    <enc|dec>              "enc" for encryption, "dec" for decryption.')        print('                           This parameter must be specified.')        print('')        print('    [-v2]                  Encrypt/Decrypt with "Password V2" alGorithm.')        print('                           This parameter is optional.')        print('')        print('    [-p ConfigPassphrase]  The config passphrase that SecureCRT uses.')        print('                           This parameter is optional.')        print('')        print('    <plaintext|ciphertext> Plaintext string or ciphertext string.')        print('                           NOTICE: Ciphertext string must be a hex string.')        print('                           This parameter must be specified.')        print('')        def EncryptionRoutine(UseV2 : bool, ConfigPassphrase : str, Plaintext : str):        try:            if UseV2:                print(SecureCRTCryptoV2(ConfigPassphrase).Encrypt(Plaintext))            else:                print(SecureCRTCrypto().Encrypt(Plaintext))            return True        except:            print('Error: Failed to encrypt.')            return False     def DecryptionRoutine(UseV2 : bool, ConfigPassphrase : str, Ciphertext : str):        try:            if UseV2:                print(SecureCRTCryptoV2(ConfigPassphrase).Decrypt(Ciphertext))            else:                print(SecureCRTCrypto().Decrypt(Ciphertext))            return True        except:            print('Error: Failed to decrypt.')            return False     def Main(arGC : int, argv : list):        if 3 <= argc and argc <= 6:            bUseV2 = False            ConfigPassphrase = ''             if argv[1].lower() == 'enc':                bEncrypt = True            elif argv[1].lower() == 'dec':                bEncrypt = False            else:                Help()                return -1                        i = 2            while i < argc - 1:                if argv[i].lower() == '-v2':                    bUseV2 = True                    i += 1                elif argv[i].lower() == '-p' and i + 1 < argc - 1:                    ConfigPassphrase = argv[i + 1]                    i += 2                else:                    Help()                    return -1             if bUseV2 == False and len(ConfigPassphrase) != 0:                print('Error: ConfigPassphrase is not supported if "-v2" is not specified')                return -1             if bEncrypt:                return 0 if EncryptionRoutine(bUseV2, ConfigPassphrase, argv[-1]) else -1            else:                return 0 if DecryptionRoutine(bUseV2, ConfigPassphrase, argv[-1]) else -1        else:            Help()     exit(Main(len(sys.argv), sys.argv))

将上面的Python代码保存为:SecureCRTCipher.py,使用分为两种情况:

第一种:

密码的格式如下:

S:"PasswordV2"=02:7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1fc5cc1ae0ee2930e6af2e5e644a28ebe3fc

执行脚本:

python SecureCRTCipher.py dec -v2 7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1fc5cc1ae0ee2930e6af2e5e644a28ebe3fc

第二种:

密码的格式如下:

S:"Password"=uc71bd1c86f3b804e42432f53247c50d9287f410c7e59166969acab69daa6eaadbe15c0c54c0e076e945a6d82f9e13df2

执行脚本:注意密码的字符串去掉u

python SecureCRTCipher.py dec c71bd1c86f3b804e42432f53247c50d9287f410c7e59166969acab69daa6eaadbe15c0c54c0e076e945a6d82f9e13df2

执行上述脚本,python需要安装pycryptodome模块,安装脚本:

pip install pycryptodome

关于使用SecureCRTSecure7.0怎么查看连接密码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 使用SecureCRTSecure7.0怎么查看连接密码

本文链接: https://lsjlt.com/news/278861.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用SecureCRTSecure7.0怎么查看连接密码
    这篇文章将为大家详细讲解有关使用SecureCRTSecure7.0怎么查看连接密码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。查看系统保存的连接的ini文件(大概位置:F:\Secure...
    99+
    2023-06-15
  • SecureCRTSecure7.0查看连接密码的步骤
    整体分为两步: 第一步:查看系统保存的连接的ini文件(大概位置:F:\SecureCRTSecureFX_HH_x64_7.0.0.326\Data\Settings\Config...
    99+
    2024-04-02
  • navicat怎么查看连接密码
    通过以下步骤查看 navicat 中的连接密码:1. 打开 navicat 并选择连接;2. 点击编辑按钮;3. 切换到连接选项卡并查看密码字段。 如何查看 Navicat 中的连接密...
    99+
    2024-04-23
    navicat
  • win8怎么查看已连接的wifi密码?
    电脑WiFi连接好后,再次登录就不用输入密码,时间长了以后,WiFi的密码可能就忘记了,那么win8怎么查看已连接的wifi密码?下面小编就为大家详细介绍一下,来看看吧! 方法/步骤 打开【控制面板】,点...
    99+
    2022-06-04
    密码 wifi
  • win10怎么查看已连接的WiFi密码
    要查看已连接的WiFi密码,可以按照以下步骤操作:1. 打开“控制面板”:点击任务栏左下角的“开始”按钮,在弹出的菜单中选择“设置”...
    99+
    2023-09-11
    win10
  • 查看Navicat已连接的密码
    查看Navicat已连接的密码 说明:有时可能我们早已忘记Navicat中已连接的密码了,但是这个密码我们还是有需要用到的。我们可以使用另外一种方式来把咱的密码获取的出来。 1、导出可以成功连接...
    99+
    2023-09-01
    php 数据库 sql
  • Win8.1怎么看Wifi密码?Win8.1查看已连接成功的wifi密码方法介绍
    最近一亲朋好友来小编家玩,亲友想通过智能手机连接家里的无线网络,于是询问笔者Wifi密码,但是小编一时想不起来此前创建的Wifi密码,结果只能通过电脑查看Wifi密码了。小编使用的是笔记本,安装的是最新的Win8.1系统...
    99+
    2023-06-07
    Win8.1 wifi 密码 方法 Wifi
  • win11如何查看已连接的wifi密码
    本文小编为大家详细介绍“win11如何查看已连接的wifi密码”,内容详细,步骤清晰,细节处理妥当,希望这篇“win11如何查看已连接的wifi密码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win11查看已连...
    99+
    2023-07-02
  • Win10如何查看已连接的WiFi密码
    Win10如何查看已连接的WiFi密码?我们日常中都会经常的使用电脑,电脑如果没有安装网络,我们就可以链接wifi来进行上网,有小伙伴在使用的过程中忘记密码了,那么我们应该如何在win10中查看密码呢,如果你不知道如何查看。小编下面整理了W...
    99+
    2023-07-10
  • mysql怎么查看用户密码
    查看 mysql 用户密码的方法包括:使用 grant 命令:将 替换为实际密码。使用 show grants 命令:显示用户权限和密码信息。查看 mysql 配置文件:查找加密格式的...
    99+
    2024-05-21
    mysql linux macos
  • 怎么查看mysql密码
    无法直接查看 mysql 密码,因为它被单向加密。但是,可以通过以下方式重置或恢复密码:使用 root 用户重置密码使用密码恢复工具恢复密码检查系统日志(仅适用于 mysql 5.7 以...
    99+
    2024-05-16
    mysql git
  • 使用dos命令怎么查看网络连接
    使用dos命令查看网络连接的方法:1.使用组合键“win+R”输入cmd,点击“确定”;2.进入dos窗口;3.执行netstat -a命令查看所有连接;4.执行netstat -n命令查看连接地址和端口号;具体步骤如下:首先,在计算机中使...
    99+
    2024-04-02
  • Win10怎么看wifi密码?Win10笔记本查看已连接成功的Wifi密码的方法介绍
    Win10查看wifi密码主要有两种方法,一种是借助笔记本连接的无线网络属性,查看Wifi密码,另外一种是进入无线路由器设置界面查看Wifi密码。 Win10怎么看wifi密码?最近有好 Win10怎么看wifi密码 ...
    99+
    2023-06-08
    Win10 wifi密码 笔记本 ?Win10 密码 wifi Wifi
  • Navicat中如何查看已连接保存的密码
    这篇文章主要为大家展示了“Navicat中如何查看已连接保存的密码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Navicat中如何查看已连接保存的密码”这篇文...
    99+
    2024-04-02
  • windows11怎么查看wifi密码? win11查看wifi密码的技巧
    很多人在设置了自己的无线WiFi密码以后,可能过一段时间就不记得了,那么其他的设备享用WiFi怎么办,恢复无线路由的出厂设置吗,太麻烦,所有已经连接的设备都要重新连接一次。我们可以通过已经连接的电脑找出你的WiFi密码,...
    99+
    2023-05-23
    windows11 wifi密码
  • linux怎么查看连接数
    linux查看连接数的方法:1、打开终端;2、输入“netstat -an”命令查看网络状态;3、输入“netstat -an|grep 80”命令查看80端口连接情况;4、输入“netstat -na | grep ESTABLISHED...
    99+
    2024-04-02
  • weblogic怎么查看连接数
    要查看WebLogic的连接数,可以通过WebLogic管理控制台或使用WebLogic的命令行工具来进行操作。通过WebLogic...
    99+
    2023-08-31
    weblogic
  • 怎么查看redis连接数
    要查看 Redis 的连接数,可以通过以下几种方式: 使用 redis-cli 命令行工具: 在命令行中运行 redis-cli ...
    99+
    2024-03-14
    redis
  • centos7怎么查看root密码
    centos7中查看root密码的方法:1、打开centos7终端;2、通过“less /var/log/mysqld.log”命令查看日志文件获取root密码或者使用“grep "password is generated&qu...
    99+
    2024-04-02
  • centos怎么查看root密码
    centos中查看root密码的方法:1、打开centos终端;2、通过“less /var/log/mysqld.log”命令查看日志文件获取root密码或者使用“grep "password is generated" /var/log...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作