【转】找回 SecureCRT的密码


打开SecureCRT程序中的 Data\Settings\Config\Sessions目录,会看到所有的回话 对应一个ini文件 如 192.168.8.10.ini

PyCharm 新建一个py脚本 SecureCRTDecrypt.py

 

[python]  view plain  copy
 

打开SecureCRT程序中的 Data\Settings\Config\Sessions目录,会看到所有的回话 对应一个ini文件 如 192.168.8.10.ini

PyCharm 新建一个py脚本 SecureCRTDecrypt.py

[python] view plain  copy

from Crypto.Cipher import Blowfish  

import argparse  

import re  

def decrypt(password) :  

    c1 = Blowfish.new('5F B0 45 A2 94 17 D9 16 C6 C6 A2 FF 06 41 82 B7'.replace(' ','').decode('hex'), Blowfish.MODE_CBC, '\x00'*8)  

    c2 = Blowfish.new('24 A6 3D DE 5B D3 B3 82 9C 7E 06 F4 08 16 AA 07'.replace(' ','').decode('hex'), Blowfish.MODE_CBC, '\x00'*8)  

    padded = c1.decrypt(c2.decrypt(password.decode('hex'))[4:-4])  

    p = ''  

while padded[:2] != '\x00\x00' :  

        p += padded[:2]  

        padded = padded[2:]  

return p.decode('UTF-16')  

REGEX_HOSTNAME = re.compile(ur'S:"Hostname"=([^\r\n]*)')  

REGEX_PASWORD = re.compile(ur'S:"Password"=u([0-9a-f]+)')  

REGEX_PORT = re.compile(ur'D:"

SSH2SSH2

 Port"=([0-9a-f]{8})')  

REGEX_USERNAME = re.compile(ur'S:"Username"=([^\r\n]*)')  

def hostname(x) :  

    m = REGEX_HOSTNAME.search(x)  

if m :  

return m.group(1)  

return '???'  

def password(x) :  

    m = REGEX_PASWORD.search(x)  

if m :  

return decrypt(m.group(1))  

return '???'  

def port(x) :  

    m = REGEX_PORT.search(x)  

if m :  

return '-p %d '%(int(m.group(1), 16))  

return ''  

def username(x) :  

    m = REGEX_USERNAME.search(x)  

if m :  

return m.group(1) + '@'  

return ''  

parser = argparse.ArgumentParser(description='Tool to decrypt SSHv2 passwords in VanDyke Secure CRT session files')  

parser.add_argument('files', type=argparse.FileType('r'), nargs='+',  

    help='session file(s)')  

args = parser.parse_args()  

for f in args.files :  

    c = f.read().replace('\x00', '')  

print f.name  

print "ssh %s%s%s # %s"%(port(c), username(c), hostname(c), password(c))  

 

如果没有包 请安装依赖包

下载

[cpp] view plain  copy

https://pypi.python.org/pypi/pycrypto  

wget https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz  


解压安装

[cpp]view plain copy

tar -zxvf pycrypto-2.6.1.tar.gz  

cd pycrtyto-2.6.1  

python setup.py build  

python setup.py install  

 

如果没有包 请安装依赖包

下载

[cpp]  view plain  copy
 
  1. https://pypi.python.org/pypi/pycrypto  
  2. wget https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz  


解压安装

 

[cpp]  view plain  copy
 
    1. tar -zxvf pycrypto-2.6.1.tar.gz  
    2. cd pycrtyto-2.6.1  
    3. python setup.py build  
    4. python setup.py install  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM