博文記錄
教程分享 2020-06-26 15:30:26 1764 0

这个问题遇到的比较多,也最头疼,如果没有及时通过 Navicat 的功能备份链接信息到文件,则重装系统后什么链接信息都没有。

这里需要指出说明一下:

Navicat 的数据 sql 查询文件、备份文件存储在 C:\Users\Administrator\Documents\Navicat\MySQL\servers

navicat 的数据库链接信息存储在注册表:HKEY_CURRENT_USER\Software\PremiumSoft

1.注册表文件寻找

注册表系统级的一般是在 system32\config 目录下,可这个不存储用户数据,也就是不存储 HKEY_CURRENT_USER 这个单元的数据。而恰恰 Navicat 是存储在这个单元下的,所以我们需要找到用户目录下的 NTUSER.DAT

如果你和我一样是 administrator 用户,则对应路径是:C:\Users\Administrator\NTUSER.DAT

无论通过什么方式,数据恢复还是 ghost 提取,还是怎样,只要拿到这个文件即可。

2.加载配置单元

推荐下载使用:Registry Workshop 高级注册表编辑工具

使用注册表工具(Registry Workshop),加载配置单元。

名字起一个方便寻找的,位置随意,下方步骤将以我所选择的 HKEY_USERS 为准。

在左侧选择对应的目录“software”

绿色范围内的就是你的配置文件了,只要确认有你的数据项,那就继续下面的步骤。

如果没有,或者你和我的 Navicat 版本不同。则找到对应的目录,确认数据还在,就没有问题。

选择 Navicat 的目录,右键,选择导出。

选择导出的位置,输入文件名,保存导出即可。(我已经导出过一次了,所以图中已经有了一个注册表 reg 文件,可以忽略)

4.修改注册表文件路径

接着再用 notepad++打开保存的注册表文件,按 ctrl+h 替换文件内容

将 HKEY_USERS\dddd\Software 替换为 HKEY_CURRENT_USER\Software

点击全部替换,再 ctrl+s 保存到文件。

5.导入到当前注册表

我们再双击打开刚才的注册表,使其添加恢复到当前系统注册表中。

重新运行 Navicat,此时,数据应该已经恢复如初了。

此时链接信息恢复了,但是不包含 SQL 查询语句哪些,如果你的文件还在,也可以将其文件迁移到新的系统中对应的目录去。

SQL 查询记录及备份数据目录为:C:\Users\Administrator\Documents\Navicat\MySQL\servers

Xshell 找回

时隔多日,再记录一下 XSHELL 的密码信息找回,如果你已经重装系统了,和上文一样以前的文件还有保留或者 GHO 还在,那么这个方法就适用于你。

版本是 XSHELL6

密码文件存储在:C:\Users\Administrator\NetSarang Computer\6\Xshell\Sessions\*.xsh

你可以编辑文件从中找到你的密码字串

如果你运气好,没有重装系统(也就是没有更换用户),那么你可以直接通过下面这个脚本跑出你的密码:

https://github.com/dzxs/Xdecrypt

因为解密这个密码需要用到当前用户的 SID ,但如果你重装过系统,这个 SID 就会被重置更新掉。除非你找到之前的 SID 否则除了暴力破解是没有办法的。

比如这个密匙是通过用户名+SID 构成: "AdministratorS-1-5-21-1234567890-123456789-1234567890-500"

用户名:Administrator

SID: S-1-5-21-1234567890-123456789-1234567890-500

RID: 500

RID

Windows 系统帐户对应固定的 RID:

  • 500: ADMINISTRATOR
  • 501: GUEST
  • 502: krbtgt(域环境)
  • 512: Domain Admins(域环境)
  • 513: Domain Users(域环境)
  • 514: Domain Guests(域环境)
  • 515: Domain Computers(域环境)
  • 516: Domain Controllers(域环境)

一般我们都是管理员,所以这个 RID 也都是 500,文章参考来源:https://3gstudent.github.io/3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-Windows%E5%B8%90%E6%88%B7%E7%9A%84RID-Hijacking/

如果时运不济注册表文件丢失,或者非要暴力破解的话,枚举并更改中间的数字作为密匙,直到解开密码为止。

和前文一样,如果你还留有注册表文件 C:\Users\Administrator\NTUSER.DAT,那么你可以将这个文件挂载到注册表配置单元,并将这个配置但愿导出为 reg,这样你就可以通过文本编辑器打开这个文件。

直接搜索 500 或者,S-1-5-21 或者 ConvertUserDevModesCount 这类的关键词,一定可以找到 SID 的字串结构。然后将其代入 python 脚本进行尝试解密。

if not os.path.isdir(args.password):
    print (args.sid)
    print (args.password)
    args.sid = "AdministratorS-1-5-21-1234567890-123456789-1234567890-500"
    print (args.sid)
    r = decrypt_string(args.sid, args.password)
    if r:
        print(r)

然后运行:

python3 Xdecrypt.py -p FBO1bmXbG0000000000000000000000000000000000000z2lzLDZSJQ==

如果正确,最后一行就是你的密码。

media iamge
StudioEIM - 冒险者讲习所
0:00