摘要:在笔记本上的虚拟机中装了一个系统,有一段时间没用,突然要用到时发现,密码已经不记得了。还好之前有用过软件连接过,那么就能轻松地使用找回密码啦。最终效果红框所指的位置就是密码了准备下载安装,并配置系统全局变量。
在笔记本上的虚拟机中装了一个Linux系统,有一段时间没用,突然要用到时发现,密码已经不记得了。
还好之前有用过secureCRT软件连接过Linux,那么就能轻松地使用python找回密码啦。
红框所指的位置就是密码了
下载安装python,并配置系统全局变量。这里我用的是python 2.7
python依赖包下载python解密依赖包:https://pypi.python.org/pypi/...
解压文件,用命令行工具进入解压后的目录,执行下面命令
</>复制代码
python setup.py build
python setup.py install
执行如果出现下图这种情况的
还有另一种方法可以安装
到这里下载对应自己环境的版本 http://www.voidspace.org.uk/p...
</>复制代码
我下载的版本是PyCrypto 2.6 for Python 2.7 32bit
下载好了直接运行安装
开始找回找到SecureCRT存储密码的位置
用户名AppDataRoamingVanDykeConfigSessions
或者
软件目录下DataSettingsConfigSessions
</>复制代码
目录中能看你的回话配置文件,我的是10.0.0.100.ini
复制下面代码,保存文件到上面的这个目录,起名secureDecode.py
</>复制代码
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] != "x00x00" :
p += padded[:2]
padded = padded[2:]
return p.decode("UTF-16")
REGEX_HOSTNAME = re.compile(ur"S:"Hostname"=([^
]*)")
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"=([^
]*)")
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))
接着用命令行工具进入该目录,运行下面命令
</>复制代码
python secureDecode.py 10.0.0.100.ini
最后成功找回密码
参考文章
找回SecureCRT密码
pycrypto模块安装失败如何解决
如果这对你有帮助,或者能帮你节省一些时间,不如,点个赞吧~
原文地址
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/44903.html
摘要:生成公钥和私钥生成公钥有三种方法使用命令使用生成密钥并上传工具创建公钥设置公钥的密码,密码用于以后登录时使用。尝试登录,登陆成功。配置SSH无密码登录需要4步准备工作生成公钥和私钥导入公钥到认证文件更改权限测试准备工作确认本机sshd的配置文件(需要root权限) vi /etc/ssh/sshd_config 1)修改以下内容 RSAAuthentication yes #设置开启使用R...
阅读 2637·2021-11-22 13:53
阅读 4180·2021-09-28 09:47
阅读 918·2021-09-22 15:33
阅读 880·2020-12-03 17:17
阅读 3358·2019-08-30 13:13
阅读 2169·2019-08-29 16:09
阅读 1214·2019-08-29 12:24
阅读 2490·2019-08-28 18:14