如何导出windows平台下cloudflare warp内部存的私钥和token
结论:管理员身份运行
mimikatz:https://github.com/gentilkiwi/mimikatz/releases/tag/2.2.0-20220919
然后输入: privilege::debug (提升权限到:NT-AUTHORITY\SYSTEM)以及sekurlsa::credman 就能看到:
发现过程:
cloudflare warp.exe本身是通过有名管道和warp-svc.exe通信,通过IO ninja的pipe monitor排除了管道通信中传输私钥和token的可能。
而使用warp-cli rotate-keys
替换密钥的时候,私钥公钥会存在本地,同时向服务器地址api.cloudflareclient.com发送公钥和token以及设备id来注册公钥。之后使用私钥通信。
替换密钥的时用process monitor 发现lsass.exe往
C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\Credentials\52F014FB686518D3591F1876ADAAEA09这个文件里
写入了东西(当然,右键排除了很多进程,过滤了很多注册表活动。),而daemon本身warp-svc.exe没写入东西。
猜想是warp-svc.exe调用lsass.exe写入这个文件。因为调用的协议是ALPC(Advanced Local Procedure Calls ),在warp-svc.exe的某个dll中实现,所以process monitor没有捕获到。之后使用ls和dir这个文件返回没有这个文件,但cat却可以读,想起来windows的权限确实很古怪,有时候会存在有列出文件目录的权限但没有读取文件的权限的情况。
网上查了一下这个文件所在目录很少提到。 但是有个目录是C:\Users\Userrofile]\AppData\Roaming\Microsoft\Credentials 可以用控制面板的凭据管理器credman来读取。目录对比下可以猜到不同的权限运行credman会有不同的结果而mimikatz恰好可以用system权限运行凭据管理器。
来源地址:https://blog.csdn.net/fjh1997/article/details/130549473
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341