
브라우저 데이터를 추출 및 복호화하며, 여러 데이터 유형을 지원하고, 다양한 운영 체제(macOS, Windows, Linux)에서 실행 가능합니다.
HackBrowserData는 브라우저에서 데이터(비밀번호, 방문 기록, 쿠키, 북마크, 신용 카드, 다운로드 기록, localStorage, sessionStorage 및 확장 프로그램)를 복호화하고 내보내기 위한 명령줄 도구입니다. Windows, macOS, Linux에서 가장 널리 사용되는 Chromium 기반 브라우저와 Firefox를 지원하며, macOS에서는 Safari도 지원합니다.
또한 머신과 운영 체제 간 데이터 복호화가 가능합니다. 원본 호스트에서 마스터 키를 내보낸 후, 다른 호스트에서 오프라인으로 데이터 사본을 복호화할 수 있습니다. 분석 호스트의 OS에서 실행할 수 없는 브라우저의 데이터도 가능합니다(Cross-host decryption 참조).
면책 조항: 이 도구는 보안 연구 목적으로만 사용됩니다. 사용자는 이 도구 사용으로 인해 발생하는 모든 법적 및 관련 책임을 부담합니다. 원저자는 어떠한 법적 책임도 지지 않습니다.
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로 복호화하세요. Cross-host decryption 참조.
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 암호화로 쿠키를 보호합니다. 이러한 쿠키를 복호화하려면 작은 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 쿠키 복호화를 포함합니다.
## 사용법```
$ 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)은 원본을 벗어날 필요가 없습니다: 마스터 키를 한 번 내보내면 복호화는 데이터 복사본으로 완전히 오프라인에서 실행됩니다.
워크플로는 세 가지 명령어와 두 가지 전송 가능한 아티팩트를 사용합니다.
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로 파이프할 수 있습니다.
| Flag | Short | Default | Description |
|-----------------|-------|----------|-------------------------------------------------|
| `--browser` | `-b` | `all` | 대상 브라우저 (all\|chrome\|edge\|...) |
| `--output` | `-o` | *stdout* | 출력 파일 (`0600`으로 작성됨); 생략 시 stdout |
| `--keychain-pw` | | | macOS 키체인 비밀번호 |
#### `archive` - 암호 해독 관련 파일을 전송을 위해 패킹
복원에 실제로 필요한 파일(쿠키, 로그인 데이터, 기록, ...)만 추출에 사용된 동일한 잠긴 파일 우회 방식을 통해 수집하므로 Windows에서 라이브 SQLite 파일을 안전하게 읽을 수 있습니다. zip은 `<browser-key>/<User Data layout>` 구조로 배치되므로 하나의 아카이브가 여러 브라우저를 담을 수 있으며 복원이 명확합니다. 항목 이름은 항상 슬래시(/)이므로 Windows에서 생성된 아카이브를 macOS / Linux에서 복원할 수 있습니다.
| Flag | Short | Default | Description |
|--------------|-------|--------------------|-----------------------------------------|
| `--browser` | `-b` | `all` | 대상 브라우저 (all\|chrome\|edge\|...) |
| `--category` | `-c` | `all` | 데이터 카테고리, 쉼표로 구분 |
| `--output` | `-o` | `browser-data.zip` | 출력 아카이브 경로 |
#### `restore` - 복사된 데이터를 내보낸 키로 복호화
각 Chromium 엔진을 `keys.json`에서 직접 재구축하고 제공된 데이터를 복호화합니다 — 분석가의 로컬 브라우저 테이블을 참조하지 않으므로 **복원할 수 있는 브라우저는 정확히 `keys.json`에 있는 볼트들입니다**. 데이터는 다음 두 가지 방법 중 하나로 제공하십시오 (정확히 하나가 필요합니다):
- `--data-zip` — `archive`로 생성된 zip; 임시 디렉토리에 추출된 후 제거됩니다.
- `--data-dir` — 디렉토리. `archive` 레이아웃 (`<browser-key>/...`, 여러 브라우저를 한 번에) 또는 단일 브라우저의 수동 복사된 `User Data` 루트 중 하나로, 단일 브라우저에 대해서만 명확하므로 `-b`와 함께 사용하십시오.
`-b`는 덤프 볼트에 대한 **선택적 필터**이며, 필수 선택자가 아닙니다.
| Flag | Short | Default | Description |
|--------------|-------|------------|------------------------------------------------------------|
| `--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 - 감지된 브라우저 및 프로필 나열| Flag | Default | Description |
|---|---|---|
--detail | false | 카테고리별 항목 수 표시 |
version - 버전 정보 출력```bashhack-browser-data version
### 전역 플래그
| Flag | Short | Description |
|-------------|-------|----------------------|
| `--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 이슈/풀 리퀘스트, 이메일 피드백 등).
기여 전에 기여 가이드를 확인해 주세요.
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¹ | - | ✅ | - |
| 플래그 | 약어 | 기본값 | 설명 |
|---|
--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으로 압축 |
| 단계 | 호스트 | 명령어 | 생성물 |
|---|
| 1 | 원본 | dumpkeys | keys.json — 이식 가능한 마스터 키 |
| 2 | 원본 | archive | browser-data.zip — 복호화에 필요한 파일만 |
| 3 | 분석 | 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. |