
Estrarre e decriptare i dati del browser, supportando multipli tipi di dati, eseguibile su vari sistemi operativi (macOS, Windows, Linux).
HackBrowserData è uno strumento a riga di comando per decifrare ed esportare i dati del browser (password, cronologia, cookie, segnalibri, carte di credito, cronologia download, localStorage, sessionStorage ed estensioni) dal browser. Supporta i browser più diffusi basati su Chromium e Firefox su Windows, macOS e Linux, oltre a Safari su macOS.
Può inoltre decifrare i dati tra macchine e sistemi operativi diversi: esportare le chiavi master sull'host di origine, quindi decifrare una copia dei dati offline su qualsiasi altro host — anche per un browser che il sistema operativo dell'host analista non può eseguire (vedi Decifrazione tra host).
Disclaimer: Questo strumento è destinato esclusivamente alla ricerca sulla sicurezza. Gli utenti sono responsabili di tutti gli obblighi legali e delle relative conseguenze derivanti dall'uso di questo strumento. L'autore originale non si assume alcuna responsabilità legale.
Su macOS, alcuni browser basati su Chromium richiedono la password dell'utente corrente per decifrare.
La decifrazione delle password potrebbe fallire su macOS 26.4 o successivo.
¹ Safari richiede l'accesso completo al disco; abilitalo in Impostazioni di Sistema → Privacy e Sicurezza → Accesso Completo al Disco se l'estrazione restituisce risultati vuoti.
² Su Windows, per decifrare i cookie di Chromium 127+ (Chrome / Chrome Beta / Edge / Brave / CocCoc) è necessario il payload App-Bound Encryption costruito con
make build-windows— vedi Compilazione dal sorgente più avanti.³ Questi browser sono disponibili solo su Windows, ma i loro dati sono decifrabili su qualsiasi sistema operativo: estrai i file con
archive, esporta le chiavi condumpkeys, quindi decifra su macOS o Linux conrestore— vedi Decifrazione tra host.
L'installazione di HackBrowserData è semplicissima: basta scaricare il rilascio per il tuo sistema ed eseguire il binario.
In alcune situazioni, questo strumento di sicurezza verrà considerato un virus da Windows Defender o da altri antivirus e non potrà essere eseguito. Il codice è completamente open source, puoi modificarlo e compilarlo autonomamente.
Richiede Go 1.20+.```bash
git clone https://github.com/moonD4rk/HackBrowserData
cd HackBrowserData
go build ./cmd/hack-browser-data/
#### Build multipiattaforma```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+ proteggono i cookie con App-Bound Encryption. Decrittare quei cookie richiede un piccolo payload in C — Zig (0.13+) è la toolchain C raccomandata (il Makefile chiama zig cc). MinGW-w64 gcc può anche compilare i sorgenti manualmente se si bypassa make payload.```bash
brew install zig # macOS scoop install zig # Windows (scoop)
make payload
make build-windows
Il risultante `hack-browser-data.exe` include la decifratura completa dei cookie ABE su Chromium 127+.
## Utilizzo```
$ 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 - Estrai e decripta i dati del browser (predefinito)Eseguire hack-browser-data senza un sottocomando utilizza il comando predefinito dump.
--format cookie-editorscrive solo cookie, come array JSON corrispondente al formato di importazione dell'estensione del browser Cookie-Editor; le categorie non-cookie vengono saltate.
Decripta i dati del browser su un host analista che sono stati raccolti su un host di origine diverso — incluso un browser il cui motore il sistema operativo dell'analista non può nemmeno installare (ad es. decriptare dati di Sogou o QQ Browser su macOS). Niente di legato alla piattaforma (DPAPI, Portachiavi macOS, Crittografia Collegata all'App di Chrome) deve lasciare l'origine: le chiavi master vengono esportate una volta, e la decriptazione viene poi eseguita completamente offline da una copia dei dati.
Il flusso di lavoro utilizza tre comandi e due artefatti trasportabili:
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` contiene chiavi master in chiaro — trattalo come un segreto. `dumpkeys -o` lo scrive con permessi `0600`; è preferibile trasferirlo in streaming su un canale sicuro piuttosto che lasciarlo su disco.
#### `dumpkeys` - Esporta le chiavi master per la decrittazione cross-host
Deriva le chiavi master di ogni installazione di Chromium sull'host di origine e le scrive come JSON (Firefox / Safari non hanno una chiave portatile e vengono saltati). L'output predefinito è stdout, così può essere trasmesso via SSH.
| Flag | Short | Default | Descrizione |
|-----------------|-------|----------|-------------------------------------------------|
| `--browser` | `-b` | `all` | Browser target (all\|chrome\|edge\|...) |
| `--output` | `-o` | *stdout* | File di output (scritto `0600`); stdout se omesso |
| `--keychain-pw` | | | Password del keychain macOS |
#### `archive` - Impacchetta i file rilevanti per la decrittazione per il trasporto
Raccoglie solo i file necessari per un ripristino (cookie, dati di accesso, cronologia, …) attraverso lo stesso bypass dei file bloccati usato per l'estrazione, quindi i file SQLite live vengono letti in modo sicuro su Windows. Lo zip ha una struttura `<browser-key>/<User Data layout>`, così un singolo archivio può contenere più browser e il ripristino rimane inequivocabile. I nomi delle voci usano sempre barre oblique, quindi un archivio prodotto su Windows può essere ripristinato su macOS / Linux.
| Flag | Short | Default | Descrizione |
|--------------|-------|--------------------|-----------------------------------------|
| `--browser` | `-b` | `all` | Browser target (all\|chrome\|edge\|...) |
| `--category` | `-c` | `all` | Categorie di dati, separate da virgola |
| `--output` | `-o` | `browser-data.zip` | Percorso dell'archivio di output |
#### `restore` - Decritta i dati copiati con le chiavi esportate
Ricostruisce ogni motore Chromium direttamente da `keys.json` e decritta i dati forniti — non consulta mai la tabella del browser locale dell'analista, quindi **i browser che puoi ripristinare sono esattamente i vault presenti nel tuo `keys.json`**. Fornisci i dati in uno dei due modi (è richiesto esattamente uno):
- `--data-zip` — uno zip prodotto da `archive`; estratto in una directory temporanea e rimosso dopo.
- `--data-dir` — una directory. Può seguire la struttura di `archive` (`<browser-key>/...`, più browser contemporaneamente), oppure la radice `User Data` copiata manualmente di un solo browser, che è univoca solo per un singolo browser — quindi abbinala a `-b`.
`-b` è un **filtro opzionale** sui vault del dump, non un selettore obbligatorio.
| Flag | Short | Default | Descrizione |
|--------------|-------|------------|------------------------------------------------------------|
| `--keys` | | *richiesto*| File delle chiavi da `dumpkeys` (usa `-` per stdin) |
| `--data-zip` | | | Zip da `archive` (mutualmente esclusivo con `--data-dir`) |
| `--data-dir` | | | Directory con i dati copiati (mutualmente esclusivo con `--data-zip`) |
| `--browser` | `-b` | | Ripristina solo questo browser; deve corrispondere a un vault in `--keys` |
| `--category` | `-c` | `all` | Categorie di dati, separate da virgola |
| `--format` | `-f` | `json` | Formato di output (csv\|json\|cookie-editor) |
| `--dir` | `-d` | `results` | Directory di output |
| `--zip` | | `false` | Comprimi l'output in zip |
#### Esempi cross-host```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 - Elenca i browser e i profili rilevati| Flag | Default | Descrizione |
|---|---|---|
--detail | false | Mostra il conteggio delle voci per categoria |
version - Stampa le informazioni sulla versione```bashhack-browser-data version
### Flag globali
| Flag | Short | Descrizione |
|-------------|-------|----------------------|
| `--verbose` | `-v` | Abilita registrazione di debug |
### Esempi```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"
Accogliamo e apprezziamo qualsiasi contributo da parte della comunità (issue/pull request su GitHub, feedback via email, ecc.).
Si prega di consultare la Guida ai Contributi prima di contribuire.
HackBrowserData fa parte di 404Team StarLink-Galaxy; se hai domande su HackBrowserData o vuoi trovare un partner con cui comunicare, consulta il gruppo Starlink.

HackBrowserData è stato sviluppato con l'IDE GoLand grazie alle licenze Open Source gratuite di JetBrains concesse da JetBrains s.r.o., quindi desidero esprimere qui i miei ringraziamenti.
| Categoria | Chromium | Firefox | Safari |
|---|
| Password | ✅ | ✅ | ✅ |
| Cookie | ✅ | ✅ | ✅ |
| Segnalibro | ✅ | ✅ | ✅ |
| Cronologia | ✅ | ✅ | ✅ |
| Download | ✅ | ✅ | ✅ |
| Carta di credito | ✅ | - | - |
| Estensione | ✅ | ✅ | ✅ |
| LocalStorage | ✅ | ✅ | ✅ |
| SessionStorage | ✅ | - | - |
| Browser | 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 | Descrizione |
|---|
--browser | -b | all | Browser di destinazione (all|chrome|firefox|edge|...) |
--category | -c | all | Categorie di dati, separate da virgola (all|password|cookie|bookmark|history|download|creditcard|extension|localstorage|sessionstorage) |
--format | -f | json | Formato di output (csv|json|cookie-editor) |
--dir | -d | results | Directory di output |
--profile-path | -p | Percorso personalizzato della directory del profilo, ottieni con chrome://version | |
--keychain-pw | Password del portachiavi macOS | ||
--zip | false | Comprimi l'output in zip |
| Fase | Host | Comando | Produce |
|---|
| 1 | origine | dumpkeys | keys.json — chiavi master portabili |
| 2 | origine | archive | browser-data.zip — solo i file necessari per decriptare |
| 3 | analista | restore | output decriptato (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. |