Files
404StarLink/detail/HackBrowserData.md
T
2024-07-22 11:35:09 +08:00

10 KiB

HackBrowserData https://github.com/moonD4rk/HackBrowserData

Language Author GitHub stars Version Time

hack-browser-data logo

HackBrowserData

HackBrowserData 是一个浏览器数据(密码|历史记录|Cookie|书签|信用卡|下载记录|localStorage|浏览器插件)的导出工具,支持全平台主流浏览器。

免责声明:此工具仅限于安全研究,用户承担因使用此工具而导致的所有法律和相关责任!作者不承担任何法律责任!

各平台浏览器支持情况

Windows

浏览器 密码 Cookie 书签 历史记录
Google Chrome ✅ ✅ ✅ ✅
Google Chrome Beta ✅ ✅ ✅ ✅
Chromium ✅ ✅ ✅ ✅
Microsoft Edge ✅ ✅ ✅ ✅
360 极速浏览器 ✅ ✅ ✅ ✅
QQ ✅ ✅ ✅ ✅
Brave ✅ ✅ ✅ ✅
Opera ✅ ✅ ✅ ✅
OperaGX ✅ ✅ ✅ ✅
Vivaldi ✅ ✅ ✅ ✅
Yandex ✅ ✅ ✅ ✅
CocCoc ✅ ✅ ✅ ✅
Firefox ✅ ✅ ✅ ✅
Firefox Beta ✅ ✅ ✅ ✅
Firefox Dev ✅ ✅ ✅ ✅
Firefox ESR ✅ ✅ ✅ ✅
Firefox Nightly ✅ ✅ ✅ ✅
IE 浏览器 ❌ ❌ ❌ ❌

MacOS

由于 MacOS 的安全性设置,基于 Chromium 内核浏览器解密时需要当前用户密码

浏览器 密码 Cookie 书签 历史记录
Google Chrome ✅ ✅ ✅ ✅
Google Chrome Beta ✅ ✅ ✅ ✅
Chromium ✅ ✅ ✅ ✅
Microsoft Edge ✅ ✅ ✅ ✅
Brave ✅ ✅ ✅ ✅
Opera ✅ ✅ ✅ ✅
OperaGX ✅ ✅ ✅ ✅
Vivaldi ✅ ✅ ✅ ✅
CocCoc ✅ ✅ ✅ ✅
Yandex ✅ ✅ ✅ ✅
Arc ✅ ✅ ✅ ✅
Firefox ✅ ✅ ✅ ✅
Firefox Beta ✅ ✅ ✅ ✅
Firefox Dev ✅ ✅ ✅ ✅
Firefox ESR ✅ ✅ ✅ ✅
Firefox Nightly ✅ ✅ ✅ ✅
Safari ❌ ❌ ❌ ❌

Linux

浏览器 密码 Cookie 书签 历史记录
Google Chrome ✅ ✅ ✅ ✅
Google Chrome Beta ✅ ✅ ✅ ✅
Chromium ✅ ✅ ✅ ✅
Microsoft Edge ✅ ✅ ✅ ✅
Brave ✅ ✅ ✅ ✅
Opera ✅ ✅ ✅ ✅
Vivaldi ✅ ✅ ✅ ✅
Chromium ✅ ✅ ✅ ✅
Firefox ✅ ✅ ✅ ✅
Firefox Beta ✅ ✅ ✅ ✅
Firefox Dev ✅ ✅ ✅ ✅
Firefox ESR ✅ ✅ ✅ ✅
Firefox Nightly ✅ ✅ ✅ ✅

安装运行

安装

可下载已编译好,可直接运行的 二进制文件

某些情况下,这款安全工具会被 Windows Defender 或其他杀毒软件当作病毒导致无法执行。代码已经全部开源,可自行编译。

从源码编译

仅支持 go 1.18+ 以后版本,一些函数使用到了泛型

$ git clone https://github.com/moonD4rk/HackBrowserData

$ cd HackBrowserData/cmd/hack-browser-data

$ CGO_ENABLED=1 go build

跨平台编译

由于用到了 go-sqlite3 库,在跨平台编译时需提前安装支持目标平台的 GCC 工具,下面以 MacOS 下分别编译 Windows 和 Linux 程序为例:

Windows

brew install mingw-w64

CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc go build

Linux

brew install FiloSottile/musl-cross/musl-cross

CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++ GOARCH=amd64 GOOS=linux CGO_ENABLED=1 go build -ldflags "-linkmode external -extldflags -static"

运行

双击直接运行,也可以使用命令行调用相应的命令。

PS C:\test> .\hack-browser-data.exe -h
NAME:
   hack-browser-data - Export password|bookmark|cookie|history|credit card|download|localStorage|extension from browser

USAGE:
   [hack-browser-data -b chrome -f json -dir results -cc]
   Export all browingdata(password/cookie/history/bookmark) from browser
   Github Link: https://github.com/moonD4rk/HackBrowserData

VERSION:
   0.5.0

GLOBAL OPTIONS:
   --verbose, --vv                   verbose (default: false)
   --compress, --zip                 compress result to zip (default: false)
   --browser value, -b value         available browsers: all|brave|chrome|chrome-beta|chromium|coccoc|edge|firefox|opera|opera-gx|vivaldi|yandex (default: "all")
   --results-dir value, --dir value  export dir (default: "results")
   --format value, -f value          file name csv|json (default: "csv")
   --profile-path value, -p value    custom profile dir path, get with chrome://version
   --full-export, --full             is export full browsing data (default: true)
   --help, -h                        show help
   --version, -v                     print the version


PS C:\test> .\hack-browser-data.exe -b all -f json --dir results -zip
[NOTICE] [browser.go:46,pickChromium] find browser Chrome success  
[NOTICE] [browser.go:46,pickChromium] find browser Microsoft Edge success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_download.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_password.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_creditcard.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_bookmark.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_cookie.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/microsoft_edge_history.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_history.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_download.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_password.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_creditcard.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_bookmark.json success  
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_cookie.json success  

基于此工具的一些其他项目

Sharp-HackBrowserData

Reflective-HackBrowserData

项目相关

最近更新

[v0.4.6] - 2024-07-16

更新

  • 重构项目并更新 repo deploy
  • 重构 logger 到标准库
  • 移除 CGO go-sqlite3 改用纯 go 驱动
  • 优化加解密模块
  • 重构获取浏览器数据的逻辑
  • 跳过 chromium 快照目录以找到正确的密码数据库
  • 改进浏览浏览器配置文件目录时的错误处理
  • 优化 GitHub 操作和依赖项更新

[v0.4.5] - 2024-01-09

新增

  • 添加搜狗和dc浏览器
  • 格式化项目布局
  • 添加完全导出浏览数据选项
  • 支持 macOS 的 Arc 浏览器
  • 改进扩展解析

修复

  • 修复日志错误并删除已弃用的 linter
  • 修复运行二进制文件失败时的句柄错误
  • 修复数据丢失导致标题为空的问题
  • 修复命令行使用提示不完整的bug
  • 修复错误的日志调用者跳过级别
  • 修复 Firefox 文件遍历中的错误
  • 解密主密钥失败时发出的警告
  • 改进浏览数据和文件复制功能中的错误处理

优化

  • 优化 JSON 缩进输出格式
  • 优化添加提供商软件文件夹和 linter 检查

[v0.4.4] - 2022-08-16

更新

  • 修复 chrome 在 windows 上获取 cookie 内容失败的问题
  • 在 CI 中添加了更多检查
  • 优化 golangci-lint 代码
  • 修复压缩结果时无法访问文件的问题

[v0.4.3] - 2022-06-05

更新

  • 新增支持从浏览器导出多个用户
  • 修复当过滤结果为空并导出到 csv 时,对其进行 utf8 编码
  • 修复 Windows 下 Chrome 和 OperaGx 的配置文件夹
  • 修复拼写错误

[v0.4.2] - 2022-05-01

更新

  • 新增导出扩展
  • 新增设置控制台 log 日志的色彩
  • 文档添加 HackBrowserData 的 logo