找回SecureCRT密码
博客专区 > twisted3 的博客 > 博客详情
找回SecureCRT密码
twisted3 发表于1年前
找回SecureCRT密码
  • 发表于 1年前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

第一步:找到SecureCRT中session的配置文件:

http://jingyan.baidu.com/article/e4511cf32815e52b845eaf8b.html

第二步:解密对应的session中的password 加密串 解密脚本:http://www.synacktiv.com/ressources/VanDyke_SecureCRT_decrypt.py


#!/usr/bin/env python
#
# Decrypt SSHv2 passwords stored in VanDyke SecureCRT session files
# Can be found on Windows in:
#   %APPDATA%\VanDyke\Config\Sessions\sessionname.ini
# Tested with version 7.2.6 (build 606) for Windows
# Eloi Vanderbeken - Synacktiv

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:"\[SSH2\] 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))

命令:root# python VanDyke_SecureCRT_decrypt.py abc.ini即可。abc.ini就是crt的配置文件

注意:如果需要先安装crypto 的Python库

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

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

    tar -zxvf pycrypto-2.6.1.tar.gz

    cd pycrtyto-2.6.1

    python setup.py build

    python setup.py install

    如果报错,则安装python-devel

    yum install python-devel 
共有 人打赏支持
粉丝 19
博文 27
码字总数 26261
×
twisted3
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: