SecureCRT(8.以上)配置的密码存放在***\Config\Sessions下面的ini文件中,内容如下:
S:“Username”=******
S:“Monitor Password V2”=
S:“Password V2”=02:*****************************

其中 Password V2 里面存放着密码,02:后面就是加密后的密码。可以通过一下Python脚本来解密。
运行 python SecureCRTCipher.py dec -v2 *****************************
一下脚本适用于python3及其以上(需要安装pycryptodome模块):

#!/usr/bin/env python3
import os
from Crypto.Hash import SHA256
from Crypto.Cipher import AES, Blowfishclass SecureCRTCrypto:def __init__(self):'''Initialize SecureCRTCrypto object.'''self.IV = b'\x00' * Blowfish.block_sizeself.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 = 0for i in range(0, len(padded_plain_bytes), 2):if padded_plain_bytes[i] == 0 and padded_plain_bytes[i + 1] == 0:breakplain_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_sizeself.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 sysdef 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 Trueexcept:print('Error: Failed to encrypt.')return Falsedef DecryptionRoutine(UseV2 : bool, ConfigPassphrase : str, Ciphertext : str):try:if UseV2:print(SecureCRTCryptoV2(ConfigPassphrase).Decrypt(Ciphertext))else:print(SecureCRTCrypto().Decrypt(Ciphertext))return Trueexcept:print('Error: Failed to decrypt.')return Falsedef Main(argc : int, argv : list):if 3 <= argc and argc <= 6:bUseV2 = FalseConfigPassphrase = ''if argv[1].lower() == 'enc':bEncrypt = Trueelif argv[1].lower() == 'dec':bEncrypt = Falseelse:Help()return -1i = 2while i < argc - 1:if argv[i].lower() == '-v2':bUseV2 = Truei += 1elif argv[i].lower() == '-p' and i + 1 < argc - 1:ConfigPassphrase = argv[i + 1]i += 2else:Help()return -1if bUseV2 == False and len(ConfigPassphrase) != 0:print('Error: ConfigPassphrase is not supported if "-v2" is not specified')return -1if bEncrypt:return 0 if EncryptionRoutine(bUseV2, ConfigPassphrase, argv[-1]) else -1else:return 0 if DecryptionRoutine(bUseV2, ConfigPassphrase, argv[-1]) else -1else:Help()exit(Main(len(sys.argv), sys.argv))

pip安装过程如果出现:ModuleNotFoundError: No module named ‘pip’
首先运行:python -m ensurepip
然后执行:python -m pip install --upgrade pip

参考:
http://www.361way.com/securecrt-password-ini/6345.html
http://www.361way.com/securecrt-decrypt/6335.html
https://github.com/HyperSine/how-does-SecureCRT-encrypt-password

SecureCRT 密码解密相关推荐

  1. SecureCRT登录会话密码解密

    此文章是针对忘记了SecureCRT登录时输入的密码,选择了保存密码,后面忘记了密码,需要通过SecureCRT的密码保存记录,恢复找回机器登录密码的情况. 以下为我的操作步骤,特此记录,以备忘. 环 ...

  2. 找回SecureCRT密码

    找回SecureCRT密码 secureCRT将每个session的配置文件保存在C:\Documents and Settings\Administrator\Application Data\Va ...

  3. bugku杂项题 白哥的鸽子 栅栏密码解密在线网站

    下载后 使用winhex打开  并且拉到最下面 发现了个这个 fg2ivyo}l{2s3_o@aw__rcl@ (所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规 ...

  4. 西门子s7-300/400PLC-MMC密码解密

    西门子s7-300/400-MMC密码解密 简介 西门子加密 工具及操作 密码验证 简介 目前,市面上或网络上有很多针对s7-200,300,400,1200,1500的密码解密破解软件,但很多时候只 ...

  5. 仿射密码解密(Affine Cipher)

    仿射密码是一种表单代换密码,字母表的每个字母相应的值使用一个简单的数学函数对应一个数值,再把对应数值转换成字母. A B C D E F G H I J K L M N O P Q R S T U V ...

  6. Python凯撒密码解密

    Python 凯撒密码解密 简介 加密 解密 python程序. 其他参考文章 简介 在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人 ...

  7. 解密 富士白光HAKKO触摸屏上传密码解密

    解密 富士白光HAKKO触摸屏上传密码解密 全系列都可以解密,上传密码解密,程序文件打开密码解密,bin文件打开密码解密. ![请添加图片描述](https://img-blog.csdnimg.cn ...

  8. java打开密码pdf,在Java中使用密码解密PDF文档

    在Java中使用密码解密PDF文档 文档加密是确保企业与其外部客户之间安全地传递信息的最常用方法之一.所有PDF文件都提供了加密功能,可确保任何试图拦截信息的人都可以在没有密码的情况下打开它,密码应在 ...

  9. N点主机管理系统密码解密代码程序

    2010年12月20日 星期一 07:22 之前有写过<N点主机管理系统漏洞利用与防御措>的文章,那个我感觉其实也不算是漏洞吧. 这次在发个N点主机管理系统的加密密码解密漏洞利用代码程序吧 ...

最新文章

  1. Arbitrage--POJ 2240
  2. Evaluation of long read error correction software 长读纠错软件的评估
  3. 量子的飞跃:下一代D-Wave量子芯片计算速度能快1000倍
  4. 淘气的页数 - 格式化字符串
  5. 导演李大为婚礼全过程(二)
  6. Linux C 算法与数据结构 --二叉树
  7. wireshark过滤使用
  8. Kotlin学习笔记20 阶段复习2
  9. C 标准库—— string.h
  10. 64位WIN7上成功安装theano,并运行了g++, GPU
  11. baidumap api MySQL_百度地图API获取数据
  12. c语言输入字符输出数字,C语言——输入一个字符串,将连续数字字符转换为数字...
  13. This account is currently not available 解决办法
  14. java毕业设计老师评语_java毕业设计_springboot框架的教师评价评教系统
  15. 计算机二级C语言公共基础知识,以及习题总结(一)
  16. 计算机中及格人数怎么算,在excel中如何计算及格率和优秀率及统计各分数段人数...
  17. Codeforces 371 A,B,C
  18. eclipse配置python使用相对路径_eclipse配置python环境详解
  19. 谣言检测相关论文阅读笔记:Towards Multi-Modal Sarcasm Detection via Hierarchical Congruity Modeling
  20. go-geecache 总结和收获

热门文章

  1. AutoCAD2007中文版【64位】下载地址 仅供学习交流
  2. 让一切随风--------2016年中总结
  3. 最快的远程控制软件radmin的配置和使用
  4. 一键刷机三星I9220
  5. 《空气动力学》——第一章 空气动力学引述
  6. 制作mkdown电子书编译环境
  7. 格式工厂的另类用法:视频下载、视频剪辑、动图GIF、屏幕录像
  8. iTunes 备份路径
  9. 2014全国专业技术人员计算机应用能力考试科目,全国专业技术人员计算机应用能力考试模块(2014)...
  10. Vue+vant 直播间 - 在离开直播间时弹出确认框