该工具会打印用户的 Chrome 浏览器 Cookie。你无需知道他们的密码,也无需 root 权限就能使用。非常棒非常棒非常棒非常棒。
如果你不是那种经常能在别人电脑上执行代码的人,那你大概不会在意这个。
若想轻松实现 #道德 #黑客,请将你的 meterpreter 会话指向 https://github.com/rapid7/metasploit-framework/blob/9616a9f79de0b22bfd142f12affd74cecbbd4413/documentation/modules/post/multi/gather/chrome_cookies.md
阅读完整细节请访问 https://mango.pdf.zone/stealing-chrome-cookies-without-a-password
本地运行需要 Python 3.6+,但编译后的二进制文件可在任何地方运行。
pip3 install -r requirements.txt
本地运行:
python cookie_crimes.py
这会以 JSON 格式打印默认配置文件下的 Chrome Cookie。它们恰好是可直接导入 EditThisCookie Chrome 扩展 的正确格式。
编译成单个二进制文件:
make
请注意,生成的二进制文件将对应运行 make 时所在的操作系统。这里没有花哨的交叉编译魔法。你必须在与目标运行环境相同的操作系统上构建此程序。
出于某种原因,在 Chrome 的改动过程中,过去几年里使用 --headless 运行 Chrome 有时可以从正常(“有头”)Chrome 中读取 Cookie。确实,每天都有大量提交,以至于很难说“Chrome 没有这个功能”。这导致在 macOS 上 headless 方法有时失效。
你可以改为运行:
./cookie_crimes_macos.sh
Chrome 的 Cookie 格式在域名前带有点(例如 .google.com),因此要通过 EditThisCookie Chrome 扩展将 所有 Cookie 导入 Chrome,你需要去除前导点。你可以通过以下企业级且完全不必要的 bash 脚本实现:
cat cookies.json | ./format_for_editthiscookie.sh
在 macOS 上,通过快速杀死并重启 Chrome 来启用远程调试,并使用 --restore-last-session 将远程调试附加到新的 Chrome 会话(就像在 Chrome 中点击“恢复标签页”)。缺点是在大约 0.5 秒内 Chrome 窗口看起来像崩溃了(确实崩溃了哈哈),并且重新加载所有标签页。但嘿,用户大概只会以为他们的 Chrome 崩溃后又自行恢复了。
特别感谢 @IAmMandatory 分享这个技巧 <3
cookie_crimes_macos.sh 还会下载、执行并删除一个 websocat 二进制文件以发起 WebSocket 请求。
听我说,我知道这不是 Chrome,但请听我解释。因为 Edge 基于 Chromium,同样的技巧也适用。这里有一篇 @wunderwuzzi23 的博客文章,包含所有细节。
如果你想提取非默认配置文件(Default)之外的 Chrome Cookie,只需编辑 cookie_crimes.py 中的 PROFILE 变量。这里使用了一些狡猾的“写入 /tmp”技巧,欺骗 Chrome 为我们读取 Cookie。
user-data-dirHeadless(无窗口渲染)Chrome 可以指定一个 user-data-dir。该目录包含 Cookie、历史记录、偏好设置等。通过创建一个新的 headless Chrome 实例,并将 user-data-dir 指定为受害者的目录,你的 headless Chrome 实例将冒充受害者进行身份验证。
接下来,我们只需使用 Chrome 的一个正常(但极度禁止且未文档化)功能:远程调试协议。这就是 Chrome 开发者工具与 Chrome 通信的方式。一旦你的 headless Chrome(启用了远程调试)实例运行起来,这段代码只需要执行远程调试命令,就能以明文形式打印用户在所有网站上的 Cookie。
此时你可以完全控制 Chrome,执行用户所能执行的任何操作。
请不要用这个工具犯罪。