关于手贱关掉服务器以太网这件事
前因后果
服务器用的Windows server,跑了一些个人的项目。但是navicat外网连的速度奇慢,且数据库开外网访问不安全(?,遂想在服务器上装navicat premium,直接RDP操作数据库。然而激活时遇到了困难(问就是慈禧付费版),必须断网才能激活。于是在不小心下(?禁用了服务器的网络连接……
怎么办?
禁用掉网络之后服务器直接处于失联状态,AWS控制台可以控制但是不能连接,使用终端连接一直提示等待分配IP(我要是能用RDP连接还用你干嘛)
好在AWS提供免费的弹性IP,费了九牛二虎之力获取了弹性IP并附加到实例上之后终于可以用RDP连接了。这时候问题来了——我不知道密码!
要知道AWS的Windows Server实例会在创建时提供一个密钥对,只有提供这个密钥对的私钥才能解密出服务器密码。然而我的私钥已经在岁月和历史的长河中不知道丢掉哪个犄角旮旯里去了,这就陷入了一个两难的境地——我的电脑上保存的有原来的服务器登录的账号密码,但是原来的IP没法连接了。而弹性IP由于我不知道密码而无法连接。怎么办?怎么办?
稳啦,稳啦!
经过一番深思熟虑和博采众长(bushi,了解到Windows存储的RDP账密是可以提取出来的,只需要解密即可。
工具在这里:ParrotSec/mimikatz (github.com)
解密方法大致如下:
1、使用mimikatz获取该文件的guidMasterKey值
mimikatz dpapi::cred /in:C:\Users\Administrator\appdata\local\microsoft\credentials\5CF098107895D40EC0A0FC47FB5BB7C7
2、通过guidMasterKey值找到内存中对应的MasterKey
mimikatz sekurlsa::dpapi
3、最后打开mimikatz通过MasterKey值去解密凭据文件
mimikatz dpapi::cred
/in:C:\Users\Administrator\appdata\local\microsoft\credentials\5CF098107895D40EC0A0FC47FB5BB7C7
/masterkey:6b6ddf293f178cb282c2906c69d92226c137cca320aa6db2043708bc2755eba6cdd8faa89ef7dd656597da5346ecbb66aa57108247555e13caac0ff09ce2e1c6