当前位置: 首页 > Linux

使用python在SecureCRT中找回Linux登录密码

时间:2023-04-06 23:45:35 Linux

我在笔记本上的虚拟机里安装了一个Linux系统。好在之前用过secureCRT软件连接过linux,所以可以很方便的使用python找回密码。最后的结果就是红框所指的位置就是密码。准备下载安装python,配置系统全局变量。这里我使用python2.7python依赖包下载python解密依赖包:https://pypi.python.org/pypi/...解压文件,使用命令行工具进入解压后的目录,执行以下命令命令python设置。pybuildpythonsetup.pyinstall执行如果出现下图,这里还有一个安装方法,就是下载自己环境对应的版本http://www.voidspace.org.uk/p...我下载了的版本是Python2.732位的PyCrypto2.6。下载后直接运行安装,开始找回。找到SecureCRT存放密码的位置。查看你的session配置文件,我的是10.0.0.100.ini复制下面的代码,将文件保存到上面的目录下,命名为secureDecode.pyfromCrypto.CipherimportBlowfishimportargparseimportredefdecrypt(password):c1=Blowfish.new('5FB045A29417D916C6C6A2FF064182B7'.replace('','').decode('hex'),Blowfish.MODE_CBC,'\x00'*8)c2=Blowfish。new('24A63DDE5BD3B3829C7E06F40816AA07'.replace('','').decode('hex'),Blowfish.MODE_CBC,'\x00'*8)填充=c1.decrypt(c2.decrypt(password.decode('hex'))[4:-4])p=''whilepadded[:2]!='\x00\x00':p+=padded[:2]padded=padded[2:]returnp.decode('UTF-16')REGEX_HOSTNAME=re.compile(ur'S:"主机名"=([^\r\n]*)')REGEX_PASWORD=re.compile(ur'S:"密码"=u([0-9a-f]+)')REGEX_PORT=re.compile(ur'D:"\[SSH2\]端口"=([0-9a-f]{8})')REGEX_USERNAME=re.compile(ur'S:"用户名"=([^\r\n]*)')defhostname(x):m=REGEX_HOSTNAME.search(x)ifm:returnm.group(1)return'???'defpassword(x):m=REGEX_PASWORD.search(x)ifm:returndecrypt(m.group(1))return'???'defport(x):m=REGEX_PORT.search(x)ifm:return'-p%d'%(int(m.group(1),16))return''defusername(x):m=REGEX_USERNAME.search(x)ifm:returnm.group(1)+'@'return''parser=argparse.ArgumentParser(description='用于解密VanDykeSecureCRT会话文件中的SSHv2密码的工具')parser.add_argument('files',type=argparse.FileType('r'),nargs='+',help='sessionfile(s)')args=parser.parse_args()forfinargs.files:c=f.read().replace('\x00','')打印f。nameprint"ssh%s%s%s#%s"%(port(c),username(c),hostname(c),password(c))然后使用命令行工具进入目录,运行以下命令命令pythonsecureDecode.py10.0.0.100.ini终于成功找回密码了。参考文章找回SecureCRT密码。pycrypto模块安装失败如何解决。