Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
litebox-snp-novalidation-userptr — उच्च स्थानीय लेखन प्रिमिटिव: LiteBox v0.1.0 SNP UserPtr NoValidation है इसलिए guest syscall buf एक kernel VA हो सकता है | Kitploit
उपकरण/GitHubGitHub/abraxas/litebox-snp-novalidation-userptr
विशेषाधिकार वृद्धिमेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणसुरक्षा वर्चुअलाइजेशनक्लाउड सुरक्षाहार्डवेयर सुरक्षापेपर और शोधबाइनरी शोषण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHubabraxas/litebox-snp-novalidation-userptr

litebox-snp-novalidation-userptr

उच्च स्थानीय लेखन प्रिमिटिव: LiteBox v0.1.0 SNP UserPtr NoValidation है इसलिए guest syscall buf एक kernel VA हो सकता है

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

Abraxas Labs - litebox-snp-novalidation-userptr

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  litebox-snp-novalidation-userptr

litebox-snp-novalidation-userptr

Class: Write primitive (guest-to-SNP-kernel R/W) Reach: Local

LiteBox v0.1.0 (d8556e3) - Microsoft

SNP LinuxKernel UserConstPtr / UserMutPtr को NoValidation से जोड़ता है, जो पॉइंटर को अपरिवर्तित लौटाता है। टिप्पणी है TODO: implement pointer validation to ensure the pointers are in user space. LVBS पहले से ही USER_ADDR_MIN..USER_ADDR_END (0x10000 .. 0x7ffffffff000 x86_64 पर) की रेंज-चेक करता है और कॉपियों को STAC/CLAC में लपेटता है। SNP ऐसा नहीं करता। कर्नेल VA का गेस्ट mmap अस्वीकार कर दिया जाता है (TASK_ADDR_MAX), इसलिए CPL3 स्टोर कर्नेल हीप को हिट नहीं कर सकते। सिसकॉल पाथ कर्नेल मोड में चलता है और कर सकता है। memcpy_fallible सुपरवाइज़र मोड में rep movsb है।

यह अवशेष guest-to-SNP-kernel (VMPL2 LiteBox) R/W है। यह होस्ट VMPL0 नहीं, हाइपरवाइज़र नहीं, और SNP फर्मवेयर नहीं है।

IDअभी तक कोई CVE नहीं
ClassWrite primitive (guest-to-SNP-kernel R/W)
ReachLocal (litebox_runner_snp के अंदर अविश्वसनीय गेस्ट यूज़रस्पेस)
CWECWE-823, CWE-119
CVSSHigh: 8.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Productmicrosoft/litebox
Affectedv0.1.0 (d8556e33676e47244bfefa139c1e9ff95bd67d53) SNP kernel platform. TODO अभी भी origin/main पर 97001fd तक मौजूद है
Authगेस्ट पहले से ही SNP VM के अंदर चल रहा है
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1। कोई SNP हार्डवेयर नहीं

हमलावर क्या कर सकता है

कौन: litebox_runner_snp के अंदर अविश्वसनीय गेस्ट यूज़रस्पेस। Issue #505 (खुला RFC) इसी श्रेणी का है। LVBS ने इसे लागू किया। SNP ने नहीं।

Integrity (लैब-प्रमाणित गैजेट)

लैब दोनों वैलिडेटरों का सुपरवाइज़र-मोड copy_from_slice गैजेट है साथ ही pin litebox_platform_linux_kernel/src/lib.rs की एक प्रति। यह SNP हार्डवेयर पर गेस्ट सिसकॉल नहीं है।

PathDest VAResult
SNP NoValidation (identity)0x1000 (USER_ADDR_MIN से नीचे) और 0xffff800000000000 (GVA_OFFSET)स्वीकार; memcpy कर्नेल-लेबल वाले ऑब्जेक्ट में LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS लिखता है
LVBS range checkवही कर्नेल destsअस्वीकार, errno=14 EFAULT, कर्नेल ऑब्जेक्ट खाली
Bothवैध यूज़र dest 0x400000दोनों witness को यूज़र ऑब्जेक्ट में कॉपी करते हैं
इमेज में pin फ़ाइलn/aTODO टिप्पणी साथ ही UserConstPtr / UserMutPtr NoValidation से जुड़े (LvbsValidateAccess अनुपस्थित)

Integrity (pin सिसकॉल पाथ से अनुमानित)

Method + sinkPrivilege
read / readv / pread / recv* / getcwd / uname / epoll_pwait जिसमें buf = कर्नेल VA -> UserMutPtr::copy_from_slice -> memcpy_fallible (rep movsb)प्रति सिसकॉल MAX_KERNEL_BUF_SIZE (512 KiB) तक, या iovec पेज चंक्स, किसी भी मैप्ड SNP कर्नेल VA में लिखें। पेलोड गेस्ट-चयनित है (गेस्ट द्वारा लिखी गई pipe/फ़ाइल)

Recon (अनुमानित)

Method + sinkPrivilege
write / writev / send* जिसमें buf = कर्नेल VA -> read_at_offsetमैप्ड SNP कर्नेल मेमोरी को गेस्ट fd में पढ़ें
अनमैप्ड कर्नेल VAएक्सेप्शन टेबल के माध्यम से EFAULT (कौन से कर्नेल पेज मौजूद हैं इसका मैपर)

Availability (अनुमानित)

Method + sinkPrivilege
SNP कर्नेल हीप / पेज टेबल / shim TLS को भ्रष्ट करेंSNP गेस्ट कर्नेल को क्रैश या डाइवर्ट करें। मैं विश्वसनीय RIP गैजेट का दावा नहीं करता

यह अवशेष क्या प्रदान नहीं करता

  • होस्ट VMPL0, हाइपरवाइज़र, SNP फर्मवेयर
  • LVBS VTL1 (LvbsValidateAccess + STAC/CLAC)
  • कर्नेल RIP पर sysretq (sanitize_for_user_return गैर-यूज़र RIP/RSP को अस्वीकार करता है)
  • कर्नेल VA का गेस्ट mmap / mprotect (TASK_ADDR_MAX)
  • Linux/Windows यूज़रलैंड NoValidation (वही प्रोसेस; वहाँ होस्ट सीमा seccomp है, वह एक सहोदर अवशेष है)
  • अपने आप में SEV-SNP C-bit गोपनीयता का भंग नहीं। यह LiteBox SNP कर्नेल के अंदर एक confused-deputy कॉपी है

मैंने इसे कैसे खोजा

v0.1.0 पर litebox_platform_linux_kernel/src/lib.rs पंक्तियाँ 59-67। TODO अभी भी main पर है। LVBS में पहले से ही LvbsValidateAccess है जिसमें USER_ADDR_MIN = 0x10000 और USER_ADDR_MAX = 0x7ffffffff000 हैं। मेरे पास SNP हार्डवेयर नहीं था। लैब pin फ़ाइल को कॉपी करता है, identity बनाम range check लागू करता है, और NoValidation के माध्यम से witness को उन dest VAs में लिखता है जिन्हें LVBS चेक अस्वीकार करता है।

Lab

cd lab
./run.sh

Loopback 127.0.0.1:19130। Compose प्रोजेक्ट litebox-snp-novalidation-userptr। Witness LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS। अंतिम पंक्ति:

SUCCESS litebox-snp-novalidation-userptr novalidation-kernel-write-ok lvbs-range-reject pin-TODO-present user-range-copy-ok LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS

Fix

SNP UserPtr को उसी यूज़रस्पेस रेंज चेक से जोड़ें जो LVBS में पहले से है (USER_ADDR_MIN..USER_ADDR_END), और कॉपियों को एक्सेप्शन टेबल के पीछे रखें। कर्नेल प्लेटफ़ॉर्म पर NoValidation न छोड़ें।

Vendor intake MSRC है (https://msrc.microsoft.com/create-report)। microsoft/litebox पर सार्वजनिक GitHub issue न खोलें।

Contact

Abraxas Labs - abraxaslabs.tech - github.com/abraxas - @abraxas_null - [email protected]

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