[开源工具] - chromedb读取本地Chromium数据

系列 - Information Security
目录
1 【🔔】互联网资料/工具,安全性未知,需要自行研判安全性。
因为 “chromiumdb” 作为Go的包名来说有些拗口,所以名字叫做:chromedb。
2 工具简介
从硬盘上直接读取 Chromium 数据(特别是,cookies 和本地存储)——无需启动浏览器。主要使用这个方法从经过身份验证的浏览器会话中提取令牌,以便在自动化、抓取等方面使用。
3 描述
基于 Chromimum 的浏览器在配置目录的存储cookies和本地存储的下列数据库中:
此工具从这些数据库中读取, 根据需要进行解密,并以json格式输出数据,以便在CLI上方便解析。
4 快速开始
4.1 预备条件
只在macOS上的 Arc 浏览器上进行过测试,但应该可以在任何基于Chromium的浏览器上运行。我会接受 PR 来支持在其他操作系统上解密cookies。
4.2 安装
go install -v github.com/noperator/chromedb/cmd/chromedb@latest
4.3 使用说明
chromedb -h
4.3.1 参数说明
- -c cookies
- -ls 本地存储
- -p string 浏览器文件夹的路径
要解密基于Chromium的Arc浏览器的cookies,我们首先需要从密钥链中获取其密码。
export BROWSER_PASSWORD=$(security find-generic-password -wga Arc)
chromedb -c -p ~/Library/Application\\ Support/Arc/User\\ Data/Profile\\ 1/ |
shuf -n 2 |
jq '.encrypted_value = \"<ENCRYPTED>\"'
将输出:
{
"domain": ".geeksforgeeks.org",
"name": "gfg_theme",
"encrypted_value": "<ENCRYPTED>",
"value": "gfgThemeDark"
}
{
"domain": "www.citrix.com",
"name": "renderid",
"encrypted_value": "<ENCRYPTED>",
"value": "rend01"
}
本地存储是未加密的,并且不需要密码。
chromedb -ls -p ~/Library/Application\\ Support/Arc/User\\ Data/Profile\\ 1/ |
shuf -n 2 |
jq
将输出:
{
"storage_key": "https://docs.paloaltonetworks.com",
"script_key": "ClientSidePersistence",
"charset": "ISO-8859-1",
"mime": "text/plain",
"conversions": [
"strconv.Quote"
],
"value": "ClientContext/CLIENTCONTEXT:=visitorId%3D"
}
{
"storage_key": "https://github.com",
"script_key": "ref-selector:greasysock/railscookie:branch",
"charset": "ISO-8859-1",
"mime": "application/json",
"conversions": [],
"value": {
"refs": [
"master"
],
"cacheKey": "v0:1554731422.0"
}
}
5 参考文章
CCL Solutions Group 的三篇优秀文章帮助了解Chromium 数据存储
- LevelDB : https://www.cclsolutionsgroup.com/post/hang-on-thats-not-sqlite-chrome-electron-and-leveldb
- IndexedDB : https://www.cclsolutionsgroup.com/post/indexeddb-on-chromium
- Local storage : https://www.cclsolutionsgroup.com/post/chromium-session-storage-and-local-storage
6 工具链接
相关内容

如果你觉得这篇文章对你有所帮助,欢迎赞赏~
