Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2026-98432-check — जाँचता है कि कोई होस्ट IP options के साथ IPv4 TCP SYN को ड्रॉप करता है या नहीं (CVE-2026-98432 का शमन) | Kitploit
उपकरण/GitHubGitHub/marcelofmatos/cve-2026-98432-check
रक्षात्मक उपकरणपैकेट स्निफिंग और विश्लेषणभेद्यता स्कैनरनेटवर्क मैपिंगभेद्यता विश्लेषणकॉन्फ़िगरेशन ऑडिटिंगनेटवर्क सुरक्षागलत कॉन्फ़िगरेशन
GitHubmarcelofmatos/cve-2026-98432-check

cve-2026-98432-check

जाँचता है कि कोई होस्ट IP options के साथ IPv4 TCP SYN को ड्रॉप करता है या नहीं (CVE-2026-98432 का शमन)

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
रिपॉजिटरी देखें
साझा करें

cve-2026-98432-check

जाँचता है कि कोई होस्ट IP options वाले IPv4 TCP SYN को छोड़ता (drop) है या नहीं, जो CVE-2026-98432 (Linux kernel के IPv4 TCP handshake में use-after-free, CVSS 9.8, सुधारित kernel आने तक) के लिए अनुशंसित नेटवर्क शमन है।

प्रत्येक पोर्ट के लिए, एक सामान्य SYN और IPv4 Record Route वाला एक SYN भेजता है और प्रतिक्रियाओं की तुलना करता है। यह हानिरहित है: यह किसी चीज़ का शोषण नहीं करता, केवल एक handshake खोलता है (और पूरा नहीं करता)।

यह परीक्षण क्या मापता है: क्या IP options वाला SYN लक्ष्य तक पहुँचता है और स्वीकार किया जाता है। यह kernel का संस्करण नहीं पढ़ता। पहले से सुधारा गया kernel भी IP options स्वीकार करता रहता है और EXPOSED देता है — उस स्थिति में EXPOSED का अर्थ केवल "IP options फ़िल्टर नहीं है" है, और सुधार की पुष्टि uname -r से होती है।

उपयोग

./verifica-cve-2026-98432.sh <host-ou-ip> [porta ...]      # porta padrão: 443
./verifica-cve-2026-98432.sh exemplo.com 443 80 22

बिना स्क्रिप्ट के, सीधे इमेज के माध्यम से (लक्ष्य IPv4 होना चाहिए):

docker run --rm --network host --cap-add NET_RAW \
  ghcr.io/marcelofmatos/cve-2026-98432-check:latest 203.0.113.10 443 22
आउटपुटExitअर्थ
MITIGADO0सामान्य SYN स्वीकार किया गया, IP options वाला SYN छोड़ा गया — और पथ का कोई भी हॉप IP options को फ़िल्टर नहीं करता
EXPOSTO1IP options वाला SYN भी स्वीकार किया गया: पथ में या लक्ष्य में कुछ भी फ़िल्टर नहीं करता
INCONCLUSIVO2पोर्ट बंद (RST) या फ़िल्टर्ड — किसी खुले पोर्ट का उपयोग करें
SEM HOST2लक्ष्य स्थानीय नेटवर्क में है और उसके लिए कोई ARP का उत्तर नहीं देता: IP मुक्त है या मशीन बंद है। कोई TCP प्रोब नहीं भेजा जाता
NÃO CONFIÁVEL3पथ का कोई हॉप (VPN, ऑपरेटर) पहले से ही IP options को छोड़ देता है। "छोड़ा गया" लक्ष्य के बारे में कुछ सिद्ध नहीं करता: नेटवर्क के किसी अन्य बिंदु से परीक्षण करें
—64गलत उपयोग, या IPv4 के बिना नाम

कई पोर्ट के साथ, exit सबसे खराब स्थिति है: कोई भी EXPOSTO → 1।

विवरण:

  • नाम होस्ट पर हल किया जाता है (getent), इसलिए VPN/आंतरिक DNS नाम काम करते हैं।
  • दूरस्थ लक्ष्य: कंटेनर होस्ट का नेटवर्क उपयोग करता है। लक्ष्य = स्वयं मशीन: परीक्षण एक Docker bridge से बाहर जाता है, ताकि पैकेट बाहर से आने की तरह prerouting से प्रवेश करे।
  • प्रत्येक प्रोब "कोई उत्तर नहीं" निष्कर्ष निकालने से पहले 3 बार प्रयास करता है (2 s का timeout)।
  • इमेज: CHECK_IMAGE (डिफ़ॉल्ट ghcr.io/marcelofmatos/cve-2026-98432-check:latest)। लॉग की पहली पंक्ति संस्करण है: cve-2026-98432-check <versão> iniciando।

सावधानी: परीक्षण बिंदु अच्छी तरह चुनें

कई VPN और ऑपरेटर IP options वाले पैकेट छोड़ देते हैं। उनमें से किसी के पीछे से परीक्षण करने पर, हर लक्ष्य mitigated प्रतीत होता है। इसलिए सत्यापनकर्ता परीक्षण से पहले पथ को हॉप-दर-हॉप (बढ़ता TTL) तय करता है और, यदि कोई हॉप IP options छोड़ देता है, तो NÃO CONFIÁVEL लौटाता है। सीमा: किसी ऐसे हॉप पर फ़िल्टर जो ICMP का उत्तर नहीं देता, पकड़ में नहीं आता। परीक्षण बिंदु को किसी ज्ञात unmitigated लक्ष्य पर सत्यापित करें: उसे EXPOSTO आना चाहिए।

परीक्षण बिंदु पर mitigation लागू हो सकता है

एक vulnerable Linux SYN-ACK में IP options लौटाता है (Record Route वाला SYN ihl=6 और RR विकल्प के साथ वापस आता है)। mitigacao/ के नियम वाले परीक्षण बिंदु पर, वह SYN-ACK prerouting में छोड़ दिया जाता है। फिर भी परिणाम सही है: scapy पैकेट सॉकेट पर उत्तर को netfilter से पहले कैप्चर करता है। मापा गया: नियम वाले होस्ट से, नियम रहित लक्ष्य का परीक्षण करने पर, परिणाम EXPOSTO था और नियम का काउंटर 1 बढ़ा (SYN-ACK कैप्चर होने के बाद छोड़ा गया)। परीक्षण नियम रहित लक्ष्य (कंटेनर) -> EXPOSTO CI में इस स्थिति को कवर करता है, जो परीक्षणों को नियम के बिना और नियम के साथ runner पर चलाता है।

अपवाद: br_netfilter वाले स्वयं परीक्षण बिंदु के bridge के पीछे के लक्ष्य। मॉड्यूल लोड होने पर (net.bridge.bridge-nf-call-iptables = 1, Docker Swarm होस्ट और कई Proxmox का डिफ़ॉल्ट), IPv4 prerouting अभी भी bridge के अंदर, कैप्चर से पहले चलता है। उस स्थिति में, परीक्षण बिंदु का नियम उस bridge के कंटेनर या VM का SYN-ACK छोड़ देता है, और परिणाम एक झूठा MITIGADO होता है। सामान्य नेटवर्क कार्ड (नेटवर्क की दूसरी मशीन) से पहुँचे जाने वाले लक्ष्य प्रभावित नहीं होते। br_netfilter वाले होस्ट के कंटेनर या VM का परीक्षण करने के लिए, उसके बाहर का परीक्षण बिंदु उपयोग करें, या नियम रहित कोई बिंदु। परीक्षण इस संयोजन का पता लगाने पर इस स्थिति को छोड़ देते हैं (SKIP)।

लक्ष्य पर DNAT द्वारा अग्रेषित पोर्ट

यदि लक्ष्य का पोर्ट Docker द्वारा प्रकाशित है (किसी कंटेनर तक DNAT), तो लक्ष्य स्वयं कम TTL वाले प्रोब को ICMP "TTL excedido" का उत्तर देता है, क्योंकि वह पैकेट को अग्रेषित करता है। सत्यापनकर्ता उस ICMP को स्रोत IP (जो लक्ष्य का IP है) से पहचानता है और उसे पथ का हॉप नहीं मानता। संस्करण 1.1.0 तक, यह mitigated लक्ष्य पर झूठा NÃO CONFIÁVEL देता था जब सूची का पहला पोर्ट अग्रेषित था। परीक्षण mitigated लक्ष्य पर अग्रेषित पोर्ट -> MITIGADO इस स्थिति को कवर करता है।

Mitigation (लक्ष्य के लिए)

mitigacao/ में:

  • cve-2026-98432.nft: तालिका ip cve_2026_98432 जो prerouting (priority -300) में ip hdrlength > 5 वाले TCP IPv4 को छोड़ देती है। Idempotent।
  • cve-2026-98432-mitigation.service: systemd unit जो नेटवर्क शुरू होने से पहले नियम लोड करती है।
sudo install -m 644 mitigacao/cve-2026-98432.nft /etc/cve-2026-98432.nft
sudo install -m 644 mitigacao/cve-2026-98432-mitigation.service /etc/systemd/system/
echo 'net.mptcp.enabled = 0' | sudo tee /etc/sysctl.d/90-cve-2026-98432-mptcp.conf
sudo sysctl -w net.mptcp.enabled=0
sudo systemctl daemon-reload && sudo systemctl enable --now cve-2026-98432-mitigation

मिटिगेशन पैच किए गए kernel का विकल्प नहीं है: जैसे ही आपकी डिस्ट्रो इसे प्रकाशित करे, इसे इंस्टॉल करें और रीबूट करें।

आर्किटेक्चर

flowchart LR
    U["Operador"] --> L["verifica-cve-2026-98432.sh<br/>resolve o nome com getent<br/>escolhe a rede do container"]
    L -->|"docker run --cap-add NET_RAW"| C["Container cve-2026-98432-check<br/>Alpine + Python + scapy"]
    C -->|"rede host: alvo remoto"| N["Caminho de rede<br/>VPN, operadora, internet"]
    C -->|"bridge: alvo é a própria máquina"| H["prerouting do host"]
    N --> A["Alvo IPv4<br/>porta TCP"]
    REG["GHCR<br/>ghcr.io/marcelofmatos/cve-2026-98432-check"] -.->|"docker pull"| C

प्रवाह

flowchart TD
    S["Início: alvo e portas"] --> AQ{"Alvo na rede local<br/>e sem resposta ARP?"}
    AQ -->|"sim"| SH["SEM HOST — exit 2"]
    AQ -->|"não"| H["TTL = 1, 2, 3 ... até o alvo<br/>SYN normal e SYN com RR"]
    H --> HQ{"Algum salto responde ICMP ao normal<br/>e some com o RR?"}
    HQ -->|"sim"| FL["caminho FILTRA no salto N"]
    HQ -->|"não, chegou ao alvo, ICMP veio do próprio alvo<br/>ou 4 saltos mudos seguidos"| OK["nenhum filtro visto"]
    FL --> P
    OK --> P
    P["Por porta: SYN normal"] --> PQ{"SYN-ACK?"}
    PQ -->|"não"| INC["INCONCLUSIVO — exit 2"]
    PQ -->|"sim"| R["SYN com RR"]
    R --> RQ{"Alguma resposta?"}
    RQ -->|"sim"| EXP["EXPOSTO — exit 1"]
    RQ -->|"não, caminho filtra"| NC["NÃO CONFIÁVEL — exit 3"]
    RQ -->|"não, caminho limpo"| MIT["MITIGADO — exit 0"]

विकास और परीक्षण

docker build --build-arg APP_VERSION=dev -t cve-2026-98432-check:dev .
# ESPERADO_LOCAL=1 num host sem a regra nft; 0 num host com a regra aplicada
CHECK_IMAGE=cve-2026-98432-check:dev ESPERADO_LOCAL=1 VERSAO_ESPERADA=dev ./tests/testes.sh

Os testes sobem um listener temporário no host (porta 18098) e o testam a partir de um container na bridge do Docker. No CI (test.yml) o runner roda duas vezes: sem a regra (precisa sair EXPOSTO) e com a regra aplicada (precisa sair MITIGADO). Isso valida o método nos dois sentidos.

Release

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