mirror of
https://github.com/moonD4rk/HackBrowserData.git
synced 2026-05-19 18:58:03 +02:00
docs: rewrite readme, rfcs, and contributing (#555)
* docs: rewrite README, RFCs, and CONTRIBUTING * docs: fix Linux storage labels in RFC-006 (Opera/Vivaldi swapped)
This commit is contained in:
@@ -6,180 +6,173 @@
|
||||
|
||||
[](https://github.com/moonD4rk/HackBrowserData/actions/workflows/lint.yml) [](https://github.com/moonD4rk/HackBrowserData/actions/workflows/build.yml) [](https://github.com/moonD4rk/HackBrowserData/actions/workflows/release.yml) [](https://github.com/moonD4rk/HackBrowserData/actions/workflows/test.yml) [](https://codecov.io/gh/moonD4rk/HackBrowserData)
|
||||
|
||||
`HackBrowserData` is a command-line tool for decrypting and exporting browser data (passwords, history, cookies, bookmarks, credit cards, download history, localStorage and extensions) from the browser. It supports the most popular browsers on the market and runs on Windows, macOS and Linux.
|
||||
`HackBrowserData` is a command-line tool for decrypting and exporting browser data (passwords, history, cookies, bookmarks, credit cards, download history, localStorage, sessionStorage and extensions) from the browser. It supports the most popular browsers on the market and runs on Windows, macOS and Linux.
|
||||
|
||||
> Disclaimer: This tool is only intended for security research. Users are responsible for all legal and related liabilities resulting from the use of this tool. The original author does not assume any legal responsibility.
|
||||
|
||||
## Recent Updates
|
||||
## Supported Data Categories
|
||||
|
||||
### Firefox 144+ Support
|
||||
| Category | Chromium-based | Firefox |
|
||||
|:---------------|:--------------:|:-------:|
|
||||
| Password | ✅ | ✅ |
|
||||
| Cookie | ✅ | ✅ |
|
||||
| Bookmark | ✅ | ✅ |
|
||||
| History | ✅ | ✅ |
|
||||
| Download | ✅ | ✅ |
|
||||
| Credit Card | ✅ | - |
|
||||
| Extension | ✅ | ✅ |
|
||||
| LocalStorage | ✅ | ✅ |
|
||||
| SessionStorage | ✅ | - |
|
||||
|
||||
HackBrowserData now supports decryption of saved passwords in Firefox 144 and later versions.
|
||||
## Supported Browsers
|
||||
|
||||
Starting from Firefox 144, Mozilla migrated password encryption from 3DES to AES-256-CBC to enhance security. HackBrowserData has been updated accordingly and remains fully compatible with the latest Firefox encryption scheme.
|
||||
> On macOS, some Chromium-based browsers **require a current user password** to decrypt.
|
||||
|
||||
For more details:
|
||||
- [Firefox 144.0 Release Notes](https://www.firefox.com/en-US/firefox/144.0/releasenotes/)
|
||||
- [How Firefox securely saves passwords](https://support.mozilla.org/en-US/kb/how-firefox-securely-saves-passwords)
|
||||
| Browser | Windows | macOS | Linux |
|
||||
|:---------------|:-------:|:-----:|:-----:|
|
||||
| Chrome | ✅ | ✅ | ✅ |
|
||||
| Chrome Beta | ✅ | ✅ | ✅ |
|
||||
| Chromium | ✅ | ✅ | ✅ |
|
||||
| Edge | ✅ | ✅ | ✅ |
|
||||
| Brave | ✅ | ✅ | ✅ |
|
||||
| Opera | ✅ | ✅ | ✅ |
|
||||
| OperaGX | ✅ | ✅ | - |
|
||||
| Vivaldi | ✅ | ✅ | ✅ |
|
||||
| Yandex | ✅ | ✅ | - |
|
||||
| CocCoc | ✅ | ✅ | - |
|
||||
| Arc | - | ✅ | - |
|
||||
| QQ | ✅ | - | - |
|
||||
| 360 ChromeX | ✅ | - | - |
|
||||
| 360 Chrome | ✅ | - | - |
|
||||
| DC Browser | ✅ | - | - |
|
||||
| Sogou Explorer | ✅ | - | - |
|
||||
| Firefox | ✅ | ✅ | ✅ |
|
||||
|
||||
|
||||
## Supported Browser
|
||||
|
||||
### Windows
|
||||
| Browser | Password | Cookie | Bookmark | History |
|
||||
|:-------------------|:--------:|:------:|:--------:|:-------:|
|
||||
| Google Chrome | ✅ | ✅ | ✅ | ✅ |
|
||||
| Google Chrome Beta | ✅ | ✅ | ✅ | ✅ |
|
||||
| Chromium | ✅ | ✅ | ✅ | ✅ |
|
||||
| Microsoft Edge | ✅ | ✅ | ✅ | ✅ |
|
||||
| 360 Speed | ✅ | ✅ | ✅ | ✅ |
|
||||
| QQ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Brave | ✅ | ✅ | ✅ | ✅ |
|
||||
| Opera | ✅ | ✅ | ✅ | ✅ |
|
||||
| OperaGX | ✅ | ✅ | ✅ | ✅ |
|
||||
| Vivaldi | ✅ | ✅ | ✅ | ✅ |
|
||||
| Yandex | ✅ | ✅ | ✅ | ✅ |
|
||||
| CocCoc | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox Beta | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox Dev | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox ESR | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox Nightly | ✅ | ✅ | ✅ | ✅ |
|
||||
| Internet Explorer | ❌ | ❌ | ❌ | ❌ |
|
||||
|
||||
|
||||
### MacOS
|
||||
|
||||
Based on Apple's security policy, some browsers **require a current user password** to decrypt.
|
||||
|
||||
| Browser | Password | Cookie | Bookmark | History |
|
||||
|:-------------------|:--------:|:------:|:--------:|:-------:|
|
||||
| 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
|
||||
|
||||
| Browser | Password | Cookie | Bookmark | History |
|
||||
|:-------------------|:--------:|:------:|:--------:|:-------:|
|
||||
| Google Chrome | ✅ | ✅ | ✅ | ✅ |
|
||||
| Google Chrome Beta | ✅ | ✅ | ✅ | ✅ |
|
||||
| Chromium | ✅ | ✅ | ✅ | ✅ |
|
||||
| Microsoft Edge Dev | ✅ | ✅ | ✅ | ✅ |
|
||||
| Brave | ✅ | ✅ | ✅ | ✅ |
|
||||
| Opera | ✅ | ✅ | ✅ | ✅ |
|
||||
| Vivaldi | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox Beta | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox Dev | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox ESR | ✅ | ✅ | ✅ | ✅ |
|
||||
| Firefox Nightly | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
|
||||
## Getting started
|
||||
## Getting Started
|
||||
|
||||
### Install
|
||||
|
||||
Installation of `HackBrowserData` is dead-simple, just download [the release for your system](https://github.com/moonD4rk/HackBrowserData/releases) and run the binary.
|
||||
|
||||
You can also install via [Homebrew](https://brew.sh/):
|
||||
|
||||
```bash
|
||||
brew install moonD4rk/tap/hack-browser-data
|
||||
```
|
||||
|
||||
> In some situations, this security tool will be treated as a virus by Windows Defender or other antivirus software and can not be executed. The code is all open source, you can modify and compile by yourself.
|
||||
|
||||
### Building from source
|
||||
|
||||
only support `go 1.20+` with go generics.
|
||||
Requires `Go 1.20+`.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/moonD4rk/HackBrowserData
|
||||
|
||||
$ cd HackBrowserData/cmd/hack-browser-data
|
||||
|
||||
$ go build
|
||||
git clone https://github.com/moonD4rk/HackBrowserData
|
||||
cd HackBrowserData
|
||||
go build ./cmd/hack-browser-data/
|
||||
```
|
||||
|
||||
### Cross compile
|
||||
### Cross-platform build
|
||||
|
||||
Here's an example of use `macOS` building for `Windows` and `Linux`
|
||||
```bash
|
||||
# For Windows
|
||||
GOOS=windows GOARCH=amd64 go build ./cmd/hack-browser-data/
|
||||
|
||||
#### For Windows
|
||||
|
||||
```shell
|
||||
GOOS=windows GOARCH=amd64 go build
|
||||
# For Linux
|
||||
GOOS=linux GOARCH=amd64 go build ./cmd/hack-browser-data/
|
||||
```
|
||||
|
||||
#### For Linux
|
||||
|
||||
````shell
|
||||
GOOS=linux GOARCH=amd64 go build
|
||||
````
|
||||
|
||||
### Run
|
||||
|
||||
You can double-click to run, or use command line.
|
||||
|
||||
```powershell
|
||||
PS C:\Users\moond4rk\Desktop> .\hack-browser-data.exe -h
|
||||
NAME:
|
||||
hack-browser-data - Export passwords|bookmarks|cookies|history|credit cards|download history|localStorage|extensions from browser
|
||||
USAGE:
|
||||
[hack-browser-data -b chrome -f json --dir results --zip]
|
||||
Export all browsing data (passwords/cookies/history/bookmarks) from browser
|
||||
Github Link: https://github.com/moonD4rk/HackBrowserData
|
||||
VERSION:
|
||||
0.4.6
|
||||
|
||||
GLOBAL OPTIONS:
|
||||
--verbose, --vv verbose (default: false)
|
||||
--compress, --zip compress result to zip (default: false)
|
||||
--browser value, -b value available browsers: all|360|brave|chrome|chrome-beta|chromium|coccoc|dc|edge|firefox|opera|opera-gx|qq|sogou|vivaldi|yandex (default: "all")
|
||||
--results-dir value, --dir value export dir (default: "results")
|
||||
--format value, -f value output format: 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
|
||||
## Usage
|
||||
|
||||
```
|
||||
$ hack-browser-data -h
|
||||
hack-browser-data decrypts and exports browser data from Chromium-based
|
||||
browsers and Firefox on Windows, macOS, and Linux.
|
||||
|
||||
For example, the following is an automatic scan of the browser on the current computer, outputting the decryption results in `JSON` format and compressing as `zip`.
|
||||
GitHub: https://github.com/moonD4rk/HackBrowserData
|
||||
|
||||
```powershell
|
||||
PS C:\Users\moond4rk\Desktop> .\hack-browser-data.exe -b all -f json --dir results --zip
|
||||
Usage:
|
||||
hack-browser-data [flags]
|
||||
hack-browser-data [command]
|
||||
|
||||
PS C:\Users\moond4rk\Desktop> ls -l .\results\
|
||||
Directory: C:\Users\moond4rk\Desktop\results
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
-a---- 7/15/2024 10:55 PM 44982 results.zip
|
||||
Available Commands:
|
||||
dump Extract and decrypt browser data (default command)
|
||||
help Help about any command
|
||||
list List detected browsers and profiles
|
||||
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 "csv")
|
||||
-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` - Extract and decrypt browser data (default)
|
||||
|
||||
### Run with custom browser profile folder
|
||||
Running `hack-browser-data` without a subcommand defaults to `dump`.
|
||||
|
||||
If you want to export data from a custom browser profile folder, you can use the `-p` parameter to specify the path of the browser profile folder. PS: use double quotes to wrap the path.
|
||||
```powershell
|
||||
PS C:\Users\moond4rk\Desktop> .\hack-browser-data.exe -b chrome -p "C:\Users\User\AppData\Local\Microsoft\Edge\User Data\Default"
|
||||
| Flag | Short | Default | Description |
|
||||
|------------------|-------|-----------|--------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `--browser` | `-b` | `all` | Target browser (all\|chrome\|firefox\|edge\|...) |
|
||||
| `--category` | `-c` | `all` | Data categories, comma-separated (all\|password\|cookie\|bookmark\|history\|download\|creditcard\|extension\|localstorage\|sessionstorage) |
|
||||
| `--format` | `-f` | `csv` | Output format (csv\|json\|cookie-editor) |
|
||||
| `--dir` | `-d` | `results` | Output directory |
|
||||
| `--profile-path` | `-p` | | Custom profile dir path, get with chrome://version |
|
||||
| `--keychain-pw` | | | macOS keychain password |
|
||||
| `--zip` | | `false` | Compress output to zip |
|
||||
|
||||
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_creditcard.csv success
|
||||
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_bookmark.csv success
|
||||
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_cookie.csv success
|
||||
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_history.csv success
|
||||
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_download.csv success
|
||||
[NOTICE] [browsingdata.go:59,Output] output to file results/chrome_password.csv success
|
||||
### `list` - List detected browsers and profiles
|
||||
|
||||
| Flag | Default | Description |
|
||||
|------------|---------|--------------------------------|
|
||||
| `--detail` | `false` | Show per-category entry counts |
|
||||
|
||||
### `version` - Print version information
|
||||
|
||||
```bash
|
||||
hack-browser-data version
|
||||
```
|
||||
|
||||
### Global flags
|
||||
|
||||
| Flag | Short | Description |
|
||||
|-------------|-------|----------------------|
|
||||
| `--verbose` | `-v` | Enable debug logging |
|
||||
|
||||
### Examples
|
||||
|
||||
```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 JSON format to a custom directory
|
||||
hack-browser-data dump -b chrome -f json -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"
|
||||
```
|
||||
|
||||
## Contributing
|
||||
@@ -344,11 +337,10 @@ Please see the [Contribution Guide](CONTRIBUTING.md) before contributing.
|
||||
|
||||
|
||||
## 404StarLink 2.0 - Galaxy
|
||||
`HackBrowserData` is a part of 404Team [StarLink-Galaxy](https://github.com/knownsec/404StarLink2.0-Galaxy), if you have any questions about `HackBrowserData` or want to find a partner to communicate with,please refer to the [Starlink group](https://github.com/knownsec/404StarLink2.0-Galaxy#community).
|
||||
`HackBrowserData` is a part of 404Team [StarLink-Galaxy](https://github.com/knownsec/404StarLink2.0-Galaxy), if you have any questions about `HackBrowserData` or want to find a partner to communicate with, please refer to the [Starlink group](https://github.com/knownsec/404StarLink2.0-Galaxy#community).
|
||||
<a href="https://github.com/knownsec/404StarLink2.0-Galaxy" target="_blank"><img src="https://raw.githubusercontent.com/knownsec/404StarLink-Project/master/logo.png" align="middle"/></a>
|
||||
|
||||
## JetBrains OS licenses
|
||||
``HackBrowserData`` had been being developed with `GoLand` IDE under the **free JetBrains Open Source license(s)** granted by JetBrains s.r.o., hence I would like to express my thanks here.
|
||||
`HackBrowserData` had been being developed with `GoLand` IDE under the **free JetBrains Open Source license(s)** granted by JetBrains s.r.o., hence I would like to express my thanks here.
|
||||
|
||||
<a href="https://www.jetbrains.com/?from=HackBrowserData" target="_blank"><img src="https://raw.githubusercontent.com/moonD4rk/staticfiles/master/picture/jetbrains-variant-4.png" width="256" align="middle"/></a>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user