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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-31431-mitigation-suite — कर्नेल-रनटाइम रक्षा ढांचा AF_ALG कमजोरियों के लिए, जिसमें eBPF सॉकेट ट्रेसिंग, Ansible हार्डनिंग, और ड्रिफ्ट डिटेक्शन के लिए एक क्रिप्टो ऑडिटर शामिल है। | Kitploit
उपकरण/GitHubGitHub/mahdi13830510/cve-2026-31431-mitigation-suite
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षारक्षात्मक उपकरणकॉन्फ़िगरेशन ऑडिटिंगDevSecOpsघुसपैठ का पता लगानाघटना प्रतिक्रियाविसंगति का पता लगाना
GitHubmahdi13830510/cve-2026-31431-mitigation-suite

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

सभी देखें →

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

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

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

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

CVE-2026-31431-mitigation-suite

कर्नेल-रनटाइम रक्षा ढांचा AF_ALG कमजोरियों के लिए, जिसमें eBPF सॉकेट ट्रेसिंग, Ansible हार्डनिंग, और ड्रिफ्ट डिटेक्शन के लिए एक क्रिप्टो ऑडिटर शामिल है।

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

AF_ALG रक्षा ढांचा

CI License

Linux AF_ALG (एड्रेस फैमिली एल्गोरिदम, फैमिली 38) सबसिस्टम के लिए एक कर्नेल-रनटाइम रक्षा ढांचा। यह सुरक्षा संचालन केंद्रों (SOCs) के लिए बनाया गया है जो एंटरप्राइज़ Linux फ्लीट चलाते हैं, जहाँ ज़ीरो ट्रस्ट को कर्नेल के अंदर तक विस्तारित होना चाहिए, न कि केवल नेटवर्क किनारे पर रुकना चाहिए।

SOC के लिए AF_ALG क्यों महत्वपूर्ण है

AF_ALG कर्नेल क्रिप्टो API को सॉकेट इंटरफ़ेस (socket(AF_ALG, SOCK_SEQPACKET, 0)) के माध्यम से यूज़रस्पेस तक उजागर करता है। इसे मूल रूप से उन एम्बेडेड सिस्टमों के लिए जोड़ा गया था जिनमें /dev/crypto नहीं था, और तब से इसने कर्नेल CVEs का असमान हिस्सा जमा किया है क्योंकि यह कर्नेल-मोड क्रिप्टो कोड को अनप्रिविलेज्ड कॉलर्स के सामने प्रस्तुत करता है — एक क्लासिक सतह-क्षेत्र बेमेल।

एक विशिष्ट एंटरप्राइज़ बिल्ड में:

  • लगभग किसी भी यूज़रस्पेस को इसकी आवश्यकता नहीं है। OpenSSL, GnuTLS, libsodium और systemd-cryptsetup सभी डिफ़ॉल्ट रूप से अन्य पथों का उपयोग करते हैं।
  • विरोधी इसमें रुचि रखते हैं। यह विशेषाधिकार-वृद्धि श्रृंखलाओं (CVE-2019-8912, CVE-2017-13215, और अन्य) में एक आवर्ती पिवट है, ठीक इसलिए क्योंकि यह अनप्रिविलेज्ड कंटेनरों से पहुंच योग्य है जब यूज़र नेमस्पेस उपलब्ध होते हैं।
  • यह अधिकांश EDRs के लिए अदृश्य है। एंडपॉइंट टूल जो connect(), bind(), या DNS को हुक करते हैं, कुछ भी नहीं देखते — AF_ALG ट्रैफ़िक कभी भी कर्नेल से बाहर नहीं जाता।

यह ढांचा प्रत्येक AF_ALG सॉकेट निर्माण को एक उच्च-संकेत घटना के रूप में मानता है और उस सतह को कम करता है जो उन घटनाओं को शोषण योग्य बनाती है।

खतरा मॉडल और ज़ीरो ट्रस्ट मैपिंग

ज़ीरो ट्रस्ट सिद्धांतइस ढांचे में नियंत्रण
कभी भरोसा न करें, हमेशा सत्यापित करेंeBPF ट्रेसर हर AF_ALG सॉकेट-निर्माण प्रयास को pid/uid/comm के साथ लॉग करता है
उल्लंघन मान लेंक्रिप्टो ऑडिटर कर्नेल स्थिति की तुलना हस्ताक्षरित बेसलाइन से करता है
न्यूनतम विशेषाधिकारsystemd RestrictAddressFamilies + प्रबंधित इकाइयों पर क्षमता सीमा
माइक्रोसेगमेंटेशन (कर्नेल-पक्ष)unprivileged_userns_clone=0 शोषणों द्वारा उपयोग किए जाने वाले userns पिवट को हटाता है
निरंतर सत्यापनCI हर बदलाव पर संस्करणित स्कीमा के विरुद्ध ऑडिट रिपोर्ट सत्यापित करता है

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

root@kitploit:~
.
├── ebpf/                  रनटाइम अवलोकन (BCC ट्रेसर + अनुमतिसूची)
├── ansible/               कॉन्फ़िगरेशन-एज़-कोड (sysctl + systemd ड्रॉप-इन)
├── systemd/               गैर-Ansible होस्टों के लिए स्टैंडअलोन systemd ड्रॉप-इन
├── auditor/               कर्नेल स्थिति ऑडिटर (Python)
├── schemas/               ऑडिट-रिपोर्ट अंतर्ग्रहण के लिए JSON स्कीमा
├── scripts/               सहायक शेल स्क्रिप्ट (CI द्वारा लिंटेड)
├── tests/                 यूनिट परीक्षण + रिपोर्ट फिक्स्चर
└── .github/workflows/     CI: shellcheck + JSON स्कीमा सत्यापन + लिंट

घटक

1. रनटाइम अवलोकन — eBPF ट्रेसर

ebpf/af_alg_tracer.py security_socket_create पर एक kprobe जोड़ता है। प्रोब BPF प्रोग्राम स्तर पर family == 38 पर फ़िल्टर करता है ताकि वेरिफायर असंबंधित सॉकेट निर्माणों को काट दे और प्रति-घटना ओवरहेड नैनोसेकंड में रहे। यह प्रति प्रयास एक JSON रिकॉर्ड उत्सर्जित करता है:

root@kitploit:~
{
  "@timestamp": "2026-05-02T09:14:11.412041+00:00",
  "event": {"category": "kernel", "action": "af_alg_socket_create", "severity": "high"},
  "process": {"pid": 1394, "tgid": 1394, "comm": "suspicious_bin"},
  "user": {"uid": 1000, "gid": 1000},
  "socket": {"family": 38, "family_name": "AF_ALG", "type": 5, "protocol": 0},
  "host": {"name": "web-prod-04"}
}

stdout को Vector, Fluent Bit, या journald (via systemd-cat) में पाइप करें। एक comm-नाम अनुमतिसूची (/etc/af-alg-defense/allow.list) ज्ञात-अच्छे उपभोक्ताओं को दबाती है बिना विचलन का पता लगाने की क्षमता खोए।

kprobe लक्ष्य LSM हुक है, इसलिए घटनाएँ इरादे पर सक्रिय होती हैं — यहाँ तक कि वे प्रयास भी जो seccomp या RestrictAddressFamilies द्वारा अस्वीकार किए जाएँगे, फिर भी एक रिकॉर्ड उत्पन्न करते हैं। व्यवहारिक बेसलाइनिंग के लिए SOC को ठीक यही चाहिए।

2. कॉन्फ़िगरेशन एज़ कोड — Ansible भूमिका + systemd ड्रॉप-इन

ansible/roles/af_alg_hardening/ दो सख्तीकरण परतें लागू करता है:

Sysctl ड्रॉप-इन (/etc/sysctl.d/90-af-alg-defense.conf):

  • kernel.unprivileged_userns_clone=0 — अधिकांश AF_ALG वृद्धि श्रृंखलाओं द्वारा उपयोग किए जाने वाले userns पिवट को हटाता है।
  • user.max_user_namespaces=0 — डिस्ट्रो-पोर्टेबल रक्षा-इन-गहराई।

Systemd ड्रॉप-इन (/etc/systemd/system/<unit>.d/50-af-alg-restrict.conf): RestrictAddressFamilies को अनुमतिसूची (निषेध-सूची नहीं) के रूप में उपयोग करता है। इकाई को AF_UNIX AF_INET AF_INET6 AF_NETLINK की अनुमति है; कोई भी अन्य फैमिली — AF_ALG सहित — EAFNOSUPPORT के साथ विफल होती है क्योंकि systemd इसे cgroup-संलग्न BPF के माध्यम से लागू करता है जिसे एप्लिकेशन अक्षम नहीं कर सकता। ड्रॉप-इन CAP_SYS_ADMIN को भी हटाता है और सबसे सामान्य वृद्धि पथों को बंद करने के लिए ProtectKernel* लागू करता है।

इसके साथ लागू करें:

root@kitploit:~
ansible-playbook -i inventory ansible/site.yml --check --diff   # पूर्वावलोकन
ansible-playbook -i inventory ansible/site.yml                  # लागू करें

Ansible के बिना होस्टों के लिए, स्टैंडअलोन फ़ाइल को जगह पर रखें:

root@kitploit:~
sudo ./scripts/deploy_dropin.sh nginx.service

3. कर्नेल स्थिति ऑडिटर

auditor/crypto_auditor.py निम्नलिखित का निरीक्षण करके एक JSON सुरक्षा-स्थिति रिपोर्ट उत्पन्न करता है:

  • /proc/crypto — प्रत्येक पंजीकृत साइफर / हैश / aead, FIPS फ़्लैग और सेल्फ-टेस्ट स्थिति के साथ।
  • /sys/module/ — क्रिप्टो सबट्री में लोड किए गए मॉड्यूल, टेंट फ़्लैग और पैरामीटर स्नैपशॉट के साथ।
  • /proc/sys/kernel/, /proc/sys/user/ — sysctls जो AF_ALG हमले के पथों को गेट करते हैं।
  • /sys/kernel/security/lockdown — कर्नेल लॉकडाउन मोड।

रिपोर्ट स्थिर खोज आईडी (FND-001 से FND-005 वर्तमान में) द्वारा कुंजीबद्ध है ताकि SIEM नियम पूरे दस्तावेज़ को गिराए बिना व्यक्तिगत खोजों को दबा सकें। ड्रिफ्ट डिटेक्शन स्थिति की तुलना बेसलाइन से करता है:

root@kitploit:~
sudo ./auditor/crypto_auditor.py --output /var/log/af-alg-defense/today.json
sudo ./auditor/crypto_auditor.py \
     --baseline /var/log/af-alg-defense/baseline.json \
     --fail-on-drift

स्कीमा schemas/audit_report.schema.json (ड्राफ्ट 2020-12) में रहता है और हर पुश पर CI में सत्यापित होता है।

4. निरंतर एकीकरण

.github/workflows/ci.yml हर पुश और PR पर चार कार्य चलाता है:

  1. ShellCheck — हर *.sh और शीबैंग-युक्त स्क्रिप्ट।
  2. स्कीमा सत्यापन — audit_report.schema.json की मेटास्कीमा-जाँच करता है, फिर GH रनर कर्नेल पर ऑडिटर लाइव चलाता है और परिणामी रिपोर्ट सत्यापित करता है। tests/fixtures/ में फिक्स्चर भी जाँचे जाते हैं।
  3. Python लिंट (ruff check .)।
  4. Ansible लिंट भूमिका ट्री पर।

एक विफल स्कीमा जाँच मर्ज को रोकती है, जो डाउनस्ट्रीम SIEM पार्सरों को चुपचाप-नाम-बदले गए फ़ील्ड पर टूटने से रोकती है।

SOC के लिए परिचालन मार्गदर्शन

शीर्ष पर जोड़ने के लिए पहचान नियम

  • कोई भी गैर-अनुमतिसूचीबद्ध comm से af_alg_socket_create घटना — पहली घटना पर पेज करें, एकत्रित न करें।
  • लगातार ऑडिटर रनों के बीच होस्ट पर crypto_modules में नई प्रविष्टि जहाँ मॉड्यूल लोडिंग स्थिर होनी चाहिए।
  • सख्तीकरण प्लेबुक रन के बाद कोई भी sysctl hardened=false के साथ — मैन्युअल छेड़छाड़ या समानांतर कॉन्फ़िगरेशन सिस्टम से ड्रिफ्ट का संकेत।
  • lockdown फ़ील्ड integrity/confidentiality से none में संक्रमण — कर्नेल-स्थिति छेड़छाड़ का मजबूत संकेत।

रोलआउट योजना (अनुशंसित)

  1. eBPF ट्रेसर को दो सप्ताह के लिए केवल-निगरानी मोड में तैनात करें। ज्ञात-अच्छे उपभोक्ताओं (बूट पर cryptsetup सामान्य है) के लिए allow.list भरने के लिए परिणामी बेसलाइन का उपयोग करें।
  2. प्रतिनिधि होस्ट फ्लीट के विरुद्ध ऑडिटर चलाएँ; स्थिति को हस्ताक्षरित baseline.json के रूप में कैप्चर करें।
  3. Ansible भूमिका को af_alg_systemd_services के साथ एक कैनरी समूह पर लागू करें जो एक कम-जोखिम इकाई पर सेट हो। journald में EAFNOSUPPORT त्रुटियों के लिए देखें।
  4. सेवा सूची को पुनरावृत्त रूप से विस्तारित करें। systemd-analyze security <unit> को प्रतिबंध लागू होते दिखाना चाहिए।
  5. ऑडिटर को --fail-on-drift के साथ रात्रिकालीन cron में जोड़ें और गैर-शून्य निकास को ऑन-कॉल कतार में रूट करें।

यह ढांचा क्या नहीं करता

  • यह af_alg को अनलोड नहीं करता यदि यह पहले से उपयोग में है। मॉड्यूल अनलोडिंग दायरे से बाहर है क्योंकि वैध बूट-समय उपभोक्ता अभी भी चल रहे हो सकते हैं। यदि आपने पुष्टि की है कि होस्ट पर किसी को इसकी आवश्यकता नहीं है, तो कर्नेल कमांड लाइन पर modprobe.blacklist=af_alg का उपयोग करें।
  • यह CVEs को पैच नहीं करता। विक्रेता कर्नेल अपडेट प्राथमिक नियंत्रण बने रहते हैं; यह ढांचा छूटे हुए पैच की लागत को कम करता है।
  • यह रूट के विरुद्ध सुरक्षा नहीं करता। एक स्थानीय रूट इनमें से किसी भी नियंत्रण को अक्षम कर सकता है; ढांचा बार को रूट तक बढ़ाता है, उससे आगे नहीं।

आवश्यकताएँ

  • Linux ≥ 4.18 (security_socket_create kprobe लक्ष्य के लिए)।
  • BCC ≥ 0.25 या libbpf ≥ 1.0, साथ ही uname -r से मेल खाने वाले कर्नेल हेडर।
  • प्रबंधित होस्टों पर Python 3.10+।
  • नियंत्रण नोड पर Ansible 2.14+।
  • ट्रेसर लोड करने के लिए CAP_BPF (या रूट); ऑडिटर के लिए /proc/crypto तक पढ़ने की पहुँच (इसे पढ़ने के लिए कोई विशेषाधिकार आवश्यक नहीं)।

लाइसेंस

Apache-2.0. देखें LICENSE।

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