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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pack2theroot-lab — CTF-शैली Docker लैब CVE-2026-41651 (Pack2TheRoot) के लिए: PackageKit permissive-polkit स्थानीय विशेषाधिकार वृद्धि | Kitploit
उपकरण/GitHubGitHub/dinosn/pack2theroot-lab
रक्षात्मक उपकरणविशेषाधिकार वृद्धिकंटेनर सुरक्षाभेद्यता विश्लेषणशोषणCTFपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षारेड टीमिंगलैब और अभ्यास
GitHubdinosn/pack2theroot-lab

pack2theroot-lab

814 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CTF-शैली Docker लैब CVE-2026-41651 (Pack2TheRoot) के लिए: PackageKit permissive-polkit स्थानीय विशेषाधिकार वृद्धि

रिपॉजिटरी देखें
साझा करें

Pack2TheRoot Lab — CVE-2026-41651

एक Dockerised, CTF-शैली स्थानीय-विशेषाधिकार-वृद्धि (local-privilege-escalation) लैब, जो Pack2TheRoot सलाहकार (CVE-2026-41651) के इर्द-गिर्द बनाई गई है — यह PackageKit डेमॉन में 12 साल पुरानी खामी है, जिसे Deutsche Telekom की Red Team ने 22 अप्रैल 2026 को खुलासा किया।

लैब में तीन कंटेनर शामिल हैं: एक permissive-polkit CTF चुनौती, एक hardened तुलनात्मक लक्ष्य, और एक पूर्ण TOCTOU एक्सप्लॉइट पुनरुत्पादन जो स्रोत से कमजोर PackageKit बनाता है और वास्तविक CVE-2026-41651 रूट-कारण एक्सप्लॉइट चलाता है।


1. आपको क्या मिलता है

कंटेनरपोर्टभूमिकाएक्सप्लॉइट परिणाम
pack2theroot-vulntcp/2222 (ssh)PackageKit ≤ 1.3.4 + permissive polkit नियमरूट crafted RPM के माध्यम से
pack2theroot-patchedtcp/2223 (ssh)समान, लेकिन polkit hardenedएक्सप्लॉइट विफल
pack2theroot-exploit—स्रोत से निर्मित कमजोर PackageKit 1.3.4रूट TOCTOU D-Bus रेस के माध्यम से

इसके अतिरिक्त:

  • खिलाड़ी-उन्मुख चुनौती ब्रीफ (docs/CHALLENGE.md)
  • क्रमिक संकेत (docs/HINTS.md)
  • पूर्ण वॉकथ्रू और फ्लैग (docs/SOLUTION.md)
  • एक्सप्लॉइट प्रवाह के दृश्य आरेख (docs/diagrams/)
  • डिफेंडर टूलिंग: संस्करण जाँच, IOC मॉनिटर, साथ-साथ तुलना, अंतरिम polkit शमन स्क्रिप्ट।

2. कमजोरी सारांश

मूल कारण — pk-transaction.c में तीन श्रृंखलाबद्ध बग

एक्सप्लॉइट एक ही ट्रांज़ैक्शन पर दो async D-Bus InstallFiles() कॉल भेजता है: पहले SIMULATE के साथ (polkit बायपास करता है, GLib idle कॉलबैक कतारबद्ध करता है), फिर तुरंत NONE + दुर्भावनापूर्ण पैकेज के साथ (idle फायर होने से पहले कैश्ड फ्लैग/पथ अधिलेखित करता है)। GLib की प्राथमिकता क्रम व्यवस्था गारंटी देती है कि दोनों D-Bus संदेश idle कॉलबैक से पहले डिस्पैच हो जाएँ — यह इसे नियतात्मक बनाता है, न कि टाइमिंग रेस।

ज्ञात IOC (सलाहकार से):

root@kitploit:~
journalctl --no-pager -u packagekit | grep -iE 'emitted_finished|pk_transaction_finished_emit|pk-transaction\.c:514'

3. त्वरित आरंभ

root@kitploit:~
git clone https://github.com/dinosn/pack2theroot-lab.git
cd pack2theroot-lab
docker compose build
docker compose up -d

CTF चुनौती (permissive polkit पथ)

root@kitploit:~
ssh labuser@localhost -p 2222     # पासवर्ड: labuser
# फिर docs/CHALLENGE.md के माध्यम से काम करें

फ्लैग /root/flag.txt पर है (मोड 0400 root:root)। प्रारूप: PACK2THEROOT{...}

TOCTOU एक्सप्लॉइट पुनरुत्पादन (वास्तविक CVE मूल कारण)

root@kitploit:~
# बिल्ड और रन — ऑटो-मोड तुरंत एक्सप्लॉइट निष्पादित करता है:
docker compose run --rm exploit

# या मैनुअल मोड:
docker compose run --rm --entrypoint /entrypoint.sh exploit
# फिर कंटेनर के अंदर:
su - victim -c /exploit/cve-2026-41651

एक्सप्लॉइट C में दो .deb पैकेज बनाता है (कोई बाहरी टूल आवश्यक नहीं), दो-कॉल D-Bus रेस भेजता है, और /tmp/.suid_bash पर एक SUID bash बनाता है। पूर्ण तकनीकी वॉकथ्रू के लिए docs/SOLUTION.md देखें।

टियर डाउन:

root@kitploit:~
docker compose down -v

4. रिपॉज़िटरी संरचना

root@kitploit:~
pack2theroot-lab/
├── README.md
├── docker-compose.yml
├── docs/
│   ├── CHALLENGE.md         # खिलाड़ी ब्रीफ
│   ├── HINTS.md             # क्रमिक संकेत (दोनों पथ)
│   ├── SOLUTION.md          # पूर्ण वॉकथ्रू + फ्लैग
│   ├── references.md        # प्राथमिक और द्वितीयक स्रोत
│   ├── threat-model.md      # हमलावर/डिफेंडर धारणाएँ
│   └── diagrams/            # एक्सप्लॉइट प्रवाह के SVG दृश्य आरेख
│       ├── 01-docker-build.svg
│       ├── 02-container-startup.svg
│       ├── 03-exploit-execution.svg
│       ├── 04-dbus-race-sequence.svg
│       ├── 05-attack-overview.svg
│       └── 06-auto-mode-full-run.svg
├── exploit/
│   ├── Dockerfile           # स्रोत से कमजोर PackageKit 1.3.4 बनाता है
│   ├── entrypoint.sh        # dbus + polkitd + packagekitd शुरू करता है
│   ├── Makefile
│   └── src/
│       └── cve-2026-41651.c # TOCTOU एक्सप्लॉइट (सार्वजनिक PoC)
├── vulnerable/
│   ├── Dockerfile
│   ├── entrypoint.sh
│   └── policy/
│       └── 10-pack2theroot-lab-misconfig.rules   # CTF चुनौती
├── patched/
│   ├── Dockerfile
│   ├── entrypoint.sh
│   ├── local/                # यहाँ 1.3.5 बैकपोर्ट RPM डालें (वैकल्पिक)
│   └── policy/
│       └── 10-pack2theroot-lab-hardened.rules    # समाधान
└── scripts/
    ├── exploit-check.sh         # संस्करण, polkit, D-Bus, IOC जाँचता है
    ├── check-version.sh         # VULNERABLE बनाम PATCHED निर्णय
    ├── check-preconditions.sh   # pkcon / polkit / D-Bus सैनिटी जाँच
    ├── monitor-ioc.sh           # सलाहकार IOC के लिए journal टेल करता है
    ├── compare-env.sh           # दोनों कंटेनरों का अंतर
    └── apply-polkit-mitigation.sh  # अनपैच्ड होस्ट के लिए अंतरिम हार्डनिंग

5. दृश्य आरेख

docs/diagrams/ निर्देशिका में एक्सप्लॉइट प्रवाह दिखाने वाले SVG आरेख हैं। इन्हें किसी भी ब्राउज़र में खोलें:

6. CTF चुनौती खेलना

docs/CHALLENGE.md देखें। संक्षेप में:

  1. labuser के रूप में SSH करें (पासवर्ड labuser)।
  2. polkit नियमों की टोह लें। उनमें से एक बहुत अधिक permissive है।
  3. एक दुर्भावनापूर्ण RPM बनाएँ (rpm-build, rpmdevtools स्थापित हैं)।
  4. इसे pkcon install-local --allow-untrusted के साथ स्थापित करें।
  5. %post स्क्रिप्टलेट रूट के रूप में चलता है। /root/flag.txt पढ़ें।

अटक गए? docs/HINTS.md में क्रमशः अधिक स्पष्ट संकेत हैं। docs/SOLUTION.md केवल तभी खोलें जब आपने इसे हल कर लिया हो या वास्तव में राइट-अप की आवश्यकता हो।

7. डिफेंडर टूलिंग चलाना

किसी भी कंटेनर के अंदर, किसी भी उपयोगकर्ता के रूप में:

root@kitploit:~
/opt/lab/check-version.sh         # VULNERABLE या PATCHED निर्णय
/opt/lab/check-preconditions.sh   # एक्सपोज़र स्व-जाँच
/opt/lab/exploit-check.sh         # संस्करण + polkit + D-Bus + IOC जाँच
/opt/lab/monitor-ioc.sh           # IOC के लिए journal टेल करें

होस्ट से, साथ-साथ:

root@kitploit:~
./scripts/compare-env.sh

कमजोर कंटेनर पर अंतरिम polkit शमन लागू करें:

root@kitploit:~
docker exec pack2theroot-vuln /opt/lab/apply-polkit-mitigation.sh
# फिर एक्सप्लॉइट दोबारा आज़माएँ — अब विफल होना चाहिए।

8. पैच्ड इमेज — बैकपोर्ट स्थिति

patched इमेज PackageKit संस्करण स्थिति को ईमानदारी से संभालती है:

  • यह वही PackageKit स्थापित करती है जो डिस्ट्रो वर्तमान में भेजता है।
  • यह एक स्पष्ट बैनर (/etc/pack2theroot-banner) प्रदर्शित करती है जो बताता है कि स्थापित संस्करण वास्तविक पैच है या डिस्ट्रो प्लेसहोल्डर।
  • संस्करण की परवाह किए बिना, यह एक hardened polkit नियम भेजती है जो प्रमाणीकरण-रहित इंस्टॉल पथ को अवरुद्ध करता है।

एक बार आपका डिस्ट्रो बैकपोर्ट प्रकाशित कर दे, तो संस्करण-पूर्ण पैच्ड इमेज बनाने के लिए RPM(s) को patched/local/ में डालें और पुनर्निर्माण करें:

root@kitploit:~
docker compose build --build-arg USE_LOCAL_RPM=1 patched

9. सुरक्षा और जिम्मेदार उपयोग

  • किसी भी कंटेनर इमेज को अविश्वसनीय उपयोगकर्ताओं वाले साझा Docker होस्ट पर न भेजें।
  • एक्सप्लॉइट कंटेनर को पूर्ण dbus/polkitd/packagekitd स्टैक चलाने के लिए --privileged की आवश्यकता होती है। इसे केवल पृथक वातावरण में चलाएँ।
  • SSH पासवर्ड (labuser) जानबूझकर कमज़ोर है। इसे कभी पुनः उपयोग न करें।
  • केवल अधिकृत रक्षात्मक अनुसंधान, शिक्षा और पैठ परीक्षण के लिए।

10. संदर्भ

प्राथमिक स्रोत:

  • Telekom Security सलाहकार — https://github.security.telekom.com/2026/04/pack2theroot-linux-local-privilege-escalation.html
  • NVD — CVE-2026-41651: https://nvd.nist.gov/vuln/detail/CVE-2026-41651
  • अपस्ट्रीम फिक्स — PackageKit 1.3.5: https://github.com/PackageKit/PackageKit/releases/tag/v1.3.5
  • फिक्स कमिट — 76cfb675: https://github.com/PackageKit/PackageKit/commit/76cfb675fb31acc3ad5595d4380bfff56d2a8697
  • सार्वजनिक PoC — Vozec: https://github.com/Vozec/CVE-2026-41651

द्वितीयक कवरेज और वितरण ट्रैकर्स के लिए docs/references.md देखें।

11. लाइसेंस

MIT — LICENSE देखें।

टूल डाउनलोड करें
फ़ील्डमान
CVECVE-2026-41651
नामPack2TheRoot
वर्गस्थानीय विशेषाधिकार वृद्धि (TOCTOU / CWE-367)
घटकPackageKit डेमॉन (pk-transaction.c)
कमजोर सीमा>= 1.0.2 और <= 1.3.4 (12 वर्षों के रिलीज़)
इसमें ठीक हुआPackageKit 1.3.5 (कमिट 76cfb675, रिलीज़ 2026-04-22)
CVSS 3.18.8 (HIGH) — AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
पूर्व-शर्तेंPackageKit चलाने वाले होस्ट पर स्थानीय अन-विशेषाधिकारित शेल
खोजकर्ताDeutsche Telekom Security GmbH — Red Team
बगस्थानप्रभाव
BUG 1InstallFiles() (~लाइन 4036)cached_transaction_flags और cached_full_paths को बिना किसी स्टेट गार्ड के अनियंत्रित रूप से अधिलेखित करता है
BUG 2pk_transaction_set_state() (~लाइन 876–881)त्रुटि देने के बजाय पिछड़े स्टेट संक्रमणों को चुपचाप छोड़ देता है — फ्लैग पहले ही दूषित हो चुके हैं
BUG 3pk_transaction_run() (~लाइन 2273–2277)प्राधिकरण समय पर नहीं, बल्कि डिस्पैच समय पर cached_transaction_flags पढ़ता है
बायपासSIMULATE फ्लैग (~लाइन 2893–2900)PK_TRANSACTION_FLAG_SIMULATE (0x4) polkit को पूरी तरह से बायपास करता है
आरेखविवरण
01-docker-build.svgदो-चरणीय Docker बिल्ड — कमजोर PackageKit संकलन
02-container-startup.svgकंटेनर लॉन्च — dbus, polkitd, packagekitd स्टार्टअप
03-exploit-execution.svgएनोटेटेड चरणों के साथ चरण-दर-चरण एक्सप्लॉइट आउटपुट
04-dbus-race-sequence.svgD-Bus अनुक्रम आरेख — BUG 1/2/3 GLib प्राथमिकता के साथ कैसे श्रृंखलाबद्ध होते हैं
05-attack-overview.svgउच्च-स्तरीय हमला प्रवाह: टाइमलाइन के साथ हमलावर बनाम सिस्टम
06-auto-mode-full-run.svgपूर्ण --auto मोड टर्मिनल — कंटेनर स्टार्ट से रूट शेल तक