SharpChromium 是一个 .NET 4.0+ CLR 项目,用于从 Google Chrome、Microsoft Edge 和 Microsoft Edge Beta 中提取数据。目前可提取:
注意:所有返回的 Cookie 均为 JSON 格式。如果您安装了 Cookie Editor 扩展,可以直接复制并粘贴到该浏览器扩展的“导入”区域,从而使用提取到的会话。
本次重写相比之前的实现具有以下优势:
Usage:
.\SharpChromium.exe arg0 [arg1 arg2 ...]
Arguments:
all - 检索所有 Chromium Cookie、历史记录和登录信息。
full - 与 'all' 相同
logins - 检索所有已保存且密码非空的凭据。
history - 检索用户的历史记录,包含每条 URL 的访问次数以及匹配的 Cookie。
cookies [domain1.com domain2.com] - 以 JSON 格式检索用户的 Cookie。
如果指定了域名,则仅返回匹配这些域名的 Cookie。
否则,所有 Cookie 将被保存到一个临时文件中,
文件格式为 ""%TEMP%\$browser-cookies.json""
检索与 Google Docs 和 Github 相关联的 Cookie
.\SharpChromium.exe cookies docs.google.com github.com

检索历史记录项及其关联的 Cookie。
.\SharpChromium.exe history

检索已保存的登录信息(注意:仅显示密码非空项):
.\SharpChromium.exe logins

该 SQLite 数据库解析器存在一个轻微错误。原因在于解析器能正确检测 System.Byte[] 类型的数据 blob,但无法正确检测 System.Byte[] 类型的列。结果导致字节数组被强制转换为字符串字面量 "System.Byte[]",这是错误的。我尚未找到问题根源,但作为一种快速而粗糙的解决办法,我将所有 blob 值编码为 Base64 字符串。因此,如果您希望从某个列中获取其常规数据为字节数组的值,需要先进行 Base64 解码。
非常感谢 @plainprogrammer 的 C#-SQLite 项目,它使得无需反射加载 DLL 即可原生解析 SQLite 文件。如果没有他的工作,该项目不可能如此简洁。该项目地址:https://github.com/plainprogrammer/csharp-sqlite
感谢 @gentlekiwi,他在 Mimikatz 上的工作为 v80+ 版本中加密模式的代码重写提供了指导。
感谢 @harmj0y,他剥离了必要的 PInvoke BCrypt 代码,使我能够移除该项目中的额外依赖,使其再次变得轻量。