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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
dirtyfrag-arm64 — arm64/aarch64 पोर्ट V4bel/dirtyfrag (CVE-2026-43284) का। ESP-केवल - rxrpc पथ arm64 पर flush_dcache_page के कारण kernel-oopses होता है। | Kitploit
उपकरण/GitHubGitHub/linnemanlabs/dirtyfrag-arm64
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगपेपर और शोधलर्निंग और शिक्षारेड टीमिंगबाइनरी शोषण
GitHublinnemanlabs/dirtyfrag-arm64

dirtyfrag-arm64

arm64/aarch64 पोर्ट V4bel/dirtyfrag (CVE-2026-43284) का। ESP-केवल - rxrpc पथ arm64 पर flush_dcache_page के कारण kernel-oopses होता है।

रिपॉजिटरी देखें
28823 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट

dirtyfrag-arm64

V4bel/dirtyfrag (CVE-2026-43284, CVE-2026-43500) का arm64/aarch64 पोर्ट।

Ubuntu 24.04.4 LTS पर linux-aws 6.17.0-1013-aws के साथ AWS Graviton पर परीक्षण किया गया (इस लेखन के समय उपलब्ध नवीनतम)।

AppArmor बायपास विश्लेषण, सख्तीकरण नोट्स और डिटेक्शन नोट्स सहित पूर्ण राइटअप: linnemanlabs.com/posts/porting-dirtyfrag-arm64

⚠️ Ubuntu AppArmor userns प्रतिबंध इस शोषण को मज़बूती से नहीं रोकते

Ubuntu में दो AppArmor sysctl हैं:

  • kernel.apparmor_restrict_unprivileged_userns
  • kernel.apparmor_restrict_unprivileged_unconfined

इन दोनों को aa-exec को स्वयं के साथ चेन करके बायपास किया जा सकता है, जो मेरे द्वारा परीक्षित मानक Ubuntu क्लाउड और इंस्टालर इमेज पर मौजूद प्रोफाइल का उपयोग करता है:

root@kitploit:~
aa-exec -p crun -- aa-exec -p crun -- ./dirtyfrag_arm64 --force-esp

अधिक जानकारी के लिए Ubuntu AppArmor बायपास के पूर्ण विश्लेषण के लिए Two Hops and a Shell देखें।

arm64 पर क्या अलग है

अपस्ट्रीम x86_64 PoC दो शोषण पथों का उपयोग करता है: एक ESP/xfrm पथ जो /usr/bin/su को दूषित करता है, और एक rxrpc/rxkad फ़ॉलबैक जो /etc/passwd को दूषित करता है। arm64 पर rxrpc पथ कर्नेल-ओप्स करता है और इसका उपयोग नहीं किया जा सकता। ESP पथ साफ-सुथरे ढंग से काम करता है।

rxrpc क्रैश: flush_dcache_page

x86_64 पर, flush_dcache_page() एक no-op है। x86 में हार्डवेयर-सहसंबद्ध डेटा/निर्देश कैश हैं। arm64 पर, यह वास्तविक dcache रखरखाव करता है और struct page* मेटाडेटा को डीरेफरेंस करता है। जब rxrpc क्रिप्टो पथ (rxkad_secure_packet -> crypto_pcbc_encrypt -> skcipher_walk_done) एक पेज पर flush_dcache_page को कॉल करता है जिसका संदर्भ splice/vmsplice श्रृंखला के माध्यम से हेरफेर किया गया है, तो x86_64 चुपचाप इसे छोड़ देता है लेकिन arm64 एक ट्रांसलेशन फॉल्ट से टकराता है और ओप्स करता है:

root@kitploit:~
pc : flush_dcache_page+0x18/0x58
lr : skcipher_walk_done+0xbc/0x260
     crypto_pcbc_encrypt+0xe8/0x1c8 [pcbc]
     crypto_skcipher_encrypt+0x48/0xb8
     rxkad_secure_packet+0x108/0x270 [rxrpc]
     rxrpc_send_data+0x264/0x550 [rxrpc]

मेरे द्वारा परीक्षित arm64 सिस्टम पर, uid_map राइट को अस्वीकार करने से काम करने वाला ESP पथ हटा दिया गया। नेमस्पेस अभी भी बनाया जा सकता है, लेकिन प्रक्रिया स्वयं को उसके अंदर रूट में मैप नहीं कर सकती या XFRM सेटअप के लिए आवश्यक नेमस्पेस क्षमताएँ प्राप्त नहीं कर सकती। rxrpc फ़ॉलबैक ने arm64 पर कोई काम करने वाला नेमस्पेस-मुक्त विशेषाधिकार-वृद्धि पथ प्रदान नहीं किया, इसने इसके बजाय कर्नेल को ओप्स कर दिया।

केवल ESP संचालन

arm64 पर, मेरे परीक्षण में केवल ESP पथ व्यवहार्य था। इस पथ के लिए एक उपयोगकर्ता और नेटवर्क नेमस्पेस बनाना और फिर कॉलिंग उपयोगकर्ता को उस नेमस्पेस के अंदर रूट में सफलतापूर्वक मैप करना आवश्यक है। डिस्ट्रो सख्तीकरण उस पथ को विभिन्न तरीकों से तोड़ सकता है: Ubuntu AppArmor userns प्रतिबंधों के माध्यम से uid_map राइट को अस्वीकार कर सकता है, मैंने Debian/RHEL पर परीक्षण नहीं किया है।

AppArmor: डिफ़ॉल्ट रूप से अवरुद्ध, Ubuntu पर बायपास करने योग्य

मेरे द्वारा परीक्षित Ubuntu 24.04 AWS इमेज पर, apparmor_restrict_unprivileged_userns=1 ने मेरे सामान्य SSH शेल से सीधे शोषण को अवरुद्ध कर दिया, नए नेमस्पेस के अंदर uid_map राइट को अस्वीकार कर।

हालांकि, डिफ़ॉल्ट apparmor_restrict_unprivileged_unconfined=0 के साथ, एक अप्रतिबंधित उपयोगकर्ता aa-exec के माध्यम से एक मौजूदा शिकायत-मोड प्रोफाइल (जैसे runc) में संक्रमण कर सकता है और प्रतिबंध को बायपास कर सकता है:

root@kitploit:~
aa-exec -p runc -- ./dirtyfrag_arm64 --force-esp

kernel.apparmor_restrict_unprivileged_unconfined=1 सेट करना इस पथ को अवरुद्ध करता है, और वर्तमान में सभी पथों को अवरुद्ध करने के समाधान के रूप में व्यापक रूप से अनुशंसित है। हालांकि, एक और aa-exec जोड़ना भी इसे बायपास करता है:

root@kitploit:~
aa-exec -p crun -- aa-exec -p crun -- ./dirtyfrag_arm64 --force-esp

विवरण के लिए पहले लिंक किए गए पोस्ट देखें।

आर्किटेक्चर-विशिष्ट पेलोड

शोषण पेज कैश में /usr/bin/su को एक न्यूनतम स्थिर ELF के साथ ओवरराइट करता है। अपस्ट्रीम PoC में x86_64 शेलकोड के साथ एक x86_64 ELF एम्बेडेड है। यह पोर्ट इसे एक समतुल्य aarch64 ELF से बदलता है:

  • ELF e_machine: EM_X86_64 (62) के बजाय EM_AARCH64 (183)
  • शेलकोड: syscall के बजाय svc #0 का उपयोग करने वाले aarch64 निर्देश
  • सिसकॉल नंबर: setgid=144, setuid=146, setgroups=159, execve=221 (x86_64 पर 106, 105, 116, 59 के विपरीत)
  • निश्चित 4-बाइट निर्देश चौड़ाई (x86_64 परिवर्तनीय-लंबाई के विपरीत), जिसके परिणामस्वरूप थोड़ा बड़ा पेलोड (~216 बनाम 192 बाइट्स) होता है

बिल्ड और रन

root@kitploit:~
# क्लोन
git clone https://github.com/linnemanlabs/dirtyfrag-arm64.git

# बिल्ड
cd dirtyfrag-arm64
gcc -O0 -Wall -o dirtyfrag_arm64 dirtyfrag_arm64.c -lutil

# रन
./dirtyfrag_arm64 --force-esp

--force-esp फ्लैग arm64 कर्नेल ओप्स से बचने के लिए rxrpc पथ को पूरी तरह से छोड़ देता है।

परीक्षण किया गया वातावरण

2026-05-09 तक, नवीनतम उपलब्ध Ubuntu 24.04 aws कर्नेल (6.17.0-1013-aws, 24 अप्रैल को बनाया गया) Copy Fail (CVE-2026-31431, 29 अप्रैल को खुलासा) या Dirty Frag (CVE-2026-43284/43500, 7 मई को खुलासा) के लिए पैच के बिना जहाज करता है।

तत्काल शमन

कमजोर मॉड्यूल को ब्लैकलिस्ट करें, अपने डिस्ट्रो के लिए उपयुक्त सिस्टम सख्तीकरण लागू करें।

कमजोर मॉड्यूल को ब्लैकलिस्ट करें

उन सिस्टमों पर सुरक्षित जो सक्रिय रूप से IPsec ट्रांसपोर्ट मोड या AFS का उपयोग नहीं कर रहे हैं। मॉड्यूल को लोड होने से रोकने के लिए निम्नलिखित को /etc/modprobe.d/dirtyfrag.conf में डालें:

root@kitploit:~
install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false

initramfs अपडेट करें

Ubuntu initramfs को पुनर्जीवित करने की भी सिफारिश करता है ताकि ब्लैकलिस्ट प्रारंभिक बूट के दौरान मौजूद रहे:

root@kitploit:~
update-initramfs -u -k all
```markdown

### SUID बाइनरी से पढ़ने की अनुमतियाँ हटाएँ

यह उन SUID बाइनरी लक्ष्यों के खिलाफ इस splice-आधारित पेज-कैश हमले वर्ग को अवरुद्ध करता है। शोषण को लक्ष्य फ़ाइल पर `splice()` के लिए पढ़ने की अनुमतियों की आवश्यकता होती है। उपयोगकर्ता अभी भी बाइनरी को निष्पादित कर सकते हैं।

**इसे अपने वातावरण और अपने सभी टूलिंग में परीक्षण किए बिना लागू न करें।**

```bash
chmod o-r /usr/bin/su

यह एक सुधार नहीं है, केवल एक शमन है। विशेषाधिकार वृद्धि के कई और पथ हैं।

मॉड्यूल अनलोड करें

चल रहे सिस्टम से मॉड्यूल अनलोड करने के लिए:

root@kitploit:~
rmmod esp4 esp6 ipcomp4 ipcomp6 rxrpc 2>/dev/null

सुनिश्चित करें कि वे अनलोड हो गए हैं:

root@kitploit:~
grep -qE '^(esp4|esp6|rxrpc) ' /proc/modules \
  && echo "Affected modules are loaded" \
  || echo "Affected modules are NOT loaded"

पेज कैश फ्लश करें

पेज कैश को फ्लश करने से दुर्भावनापूर्ण सामग्री हटा दी जानी चाहिए और फ़ाइलों को डिस्क से फिर से पढ़ने का कारण बनना चाहिए।

root@kitploit:~
echo 3 > /proc/sys/vm/drop_caches

नोट: मुझे इसके साथ कुछ असंगत परिणाम मिले हैं, लेकिन जितना अधिक मैं इसे पुन: पेश करने का प्रयास करता हूं, यह उतना ही अपेक्षित रूप से काम कर रहा है। इस PoC के लिए, आप /usr/bin/su पर md5sum की जांच कर सकते हैं, और यदि यह मेल नहीं खाता है, तो रीबूट करें।

परीक्षण के बाद सफाई

पेज कैश फ्लश चरण चलाएँ, फिर बाद में इसके साथ सत्यापित करें:

root@kitploit:~
sha256sum /usr/bin/su

# या पैकेज मैनेजर से:

dpkg -V util-linux    # Debian/Ubuntu
rpm -V util-linux     # RHEL/Amazon Linux

सक्रिय कदम

अधिक सक्रिय रुख के लिए जो इस पूरे भेद्यता वर्ग को संबोधित करता है (केवल विशिष्ट CVE नहीं), AppArmor userns प्रतिबंधों, मॉड्यूल प्रीलोडिंग रोकथाम, और Tetragon-आधारित रनटाइम डिटेक्शन के साथ-साथ YARA नियमों के लिए पूर्ण राइटअप देखें।

श्रेय

  • Hyunwoo Kim (@v4bel) - मूल भेद्यता अनुसंधान, खुलासा, और x86_64 PoC
  • SiCk - Ubuntu AppArmor बायपास पर बायपास-pwn अनुसंधान
  • Keith Linneman / LinnemanLabs - arm64 पोर्ट, flush_dcache_page क्रैश विश्लेषण, AppArmor अनुसंधान, डिटेक्शन नोट्स

कानूनी

यह उपकरण केवल अधिकृत सुरक्षा परीक्षण और अनुसंधान के लिए है।

उन सिस्टमों के खिलाफ अनधिकृत उपयोग जिनके आप मालिक नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है, अवैध और अनैतिक है।

लाइसेंस

MIT। इसे कॉपी करें, चुराएं, संशोधित करें, इससे सीखें, अपने सुधार मेरे साथ साझा करें। या न करें। यह कोड है, इसके साथ जो चाहें करें।

टूल डाउनलोड करें
गुणमान
इंस्टेंसAWS t4g.micro (Graviton2)
OSUbuntu 24.04.4 LTS
कर्नेल6.17.0-1013-aws #13~24.04.1-Ubuntu (2026-04-24 को बनाया गया)
आर्किटेक्चरaarch64
unprivileged_userns_clone1 (सक्षम)
esp4 मॉड्यूलउपलब्ध, लोड करने योग्य
rxrpc मॉड्यूलउपलब्ध, लोड करने योग्य (लेकिन arm64 पर क्रैश करता है)
कॉन्फ़िगरेशनस्टॉक ubuntu 24.04 क्लाउड इमेज, डिफ़ॉल्ट कर्नेल मॉड्यूल