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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sonic-gnmi-noauth — SONiC gNMI में एक fail-open प्रमाणीकरण दोष का दस्तावेजीकरण और पुनरुत्पादन करता है, जहाँ एक खाली UserAuth map अनधिकृत gNMI Set और gNOI writes की अनुमति देता है, साथ में एक loopback lab harness भी। | Kitploit
उपकरण/GitHubGitHub/abraxas/sonic-gnmi-noauth
एम्बेडेड सिस्टम सुरक्षाभेद्यता विश्लेषणशोषणनेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगहार्डवेयर और IoT सुरक्षाप्रमाणीकरणगलत कॉन्फ़िगरेशनलैब और अभ्यास
GitHubabraxas/sonic-gnmi-noauth

sonic-gnmi-noauth

SONiC gNMI में एक fail-open प्रमाणीकरण दोष का दस्तावेजीकरण और पुनरुत्पादन करता है, जहाँ एक खाली UserAuth map अनधिकृत gNMI Set और gNOI writes की अनुमति देता है, साथ में एक loopback lab harness भी।

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - sonic-gnmi-noauth

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  sonic-gnmi-noauth

sonic-gnmi-noauth

SONiC gNMI f13a08e0440f - SONiC Foundation / sonic-net

Community SONiC NOS। Dell Enterprise SONiC नहीं। SonicWall SonicOS नहीं। समिति CVE जारी नहीं करती। gnmi-native.sh जानता है कि --client_auth को छोड़ने से प्रमाणीकरण पूरी तरह से अक्षम हो जाता था, इसलिए जब user_auth अनुपस्थित होता है तो यह cert मोड को बाध्य करता है। Fail-closed। फिर जब certs अनुपस्थित होते हैं तो यह कभी --ca_crt पास नहीं करता। setupFlags cert को unset करता है क्योंकि कोई CA नहीं है। authenticate() खाली map को सफलता मानता है। Native और translib writes कंपाइल में बने रहते हैं (ENABLE_NATIVE_WRITE=y)। दो production flag सेट, समान skip: default ToR --noTLS --bind_address 127.0.0.1; SmartSwitch DPU --insecure --allow_no_client_auth, खाली bind, सभी interfaces, port 8080।

cert unset के बाद खाली UserAuth का अर्थ है unauthenticated gNMI Set और gNOI writes। बिना certs वाला DPU :8080 पर remote है।

IDअभी तक कोई CVE नहीं
CWECWE-306, CWE-287
CVSSCritical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (DPU no-cert)। Default ToR 127.0.0.1:8080 पर वही skip है (High, local)।
Productsonic-gnmi / sonic-buildimage
Affectedsonic-gnmi master f13a08e0440f तक; launcher 9495839742e4
Authunauthenticated
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1

हमलावर क्या कर सकता है

बिना gNMI certs वाले SmartSwitch DPU पर: नेटवर्क से, TCP :8080, कोई JWT नहीं, कोई PAM नहीं, कोई client cert नहीं। gnmi.gNMI/Set कॉल करें (native CONFIG_DB / translib)। gnoi.debug.Debug कॉल करें। Reboot करें। Factory reset करें। /tmp, /var/tmp, /host के अंतर्गत File.Put करें।

बिना certs वाले default ToR/leaf पर: कोई भी प्रक्रिया जो 127.0.0.1:8080 तक पहुँच सकती है, वही कर सकती है। gnmi container host net है, इसलिए वह loopback host का है।

यह switch config rewrite है, और बिना प्रमाणीकरण के admin के रूप में host commands है। Debug whitelist में docker, config, redis-cli, sonic-installer, reboot शामिल हैं। Default admin docker और %sudo में है। दस्तावेज़ित default admin password नहीं। खाली UserAuth पर KillProcess अभी भी Unauthenticated लौटाता है। इसे success oracle के रूप में उपयोग न करें।

मैंने इसे कैसे खोजा

मैंने पहले SECURITY.md पढ़ा। sonic-net/SONiC wiki है। कोड sibling sonic-net/* trees में है। फिर उन pins पर दस hunts: CLI injection, REST auth, gNMI Set, hostcfgd PAM, RESTCONF, ZTP, image Redis/sshd/sudo, FEATURE defaults, GCU/SSTI, DHCP/LLDP/SNMP। कोई live switch नहीं। बार Critical/High था।

उस बार का अधिकांश हिस्सा पहले से ही बंद है या default नहीं है। sonic-restapi INCLUDE_RESTAPI ?= n है। RESTCONF का production launcher PAM को बाध्य करता है। Host Redis 127.0.0.1 पर है बिना requirepass के, जो एक first hop है, कोई finding नहीं। gnmi container वैकल्पिक नहीं है। INCLUDE_SYSTEM_GNMI = y। FEATURE gnmi सक्षम है। Host net, host pid, host userns।

मैंने पूरा sonic-vs image खड़ा नहीं किया। Lab एक पतला gRPC है जो pin f13a08e0440f से setupFlags और authenticate() के SHA256-सत्यापित extracts को wrap करता है। दोनों listeners ने auth_enabled=false और enable_native_write=true के साथ SONIC-GNMI-NOAUTH-WITNESS लौटाया। बिना creds वाला password UserAuth Unauthenticated है। यही असली skip है, कोई stub नहीं जो हमेशा सफल होता है।

पहले से दर्ज गलत मोड़: KillProcess Unauthenticated (वह RPC पहले से ही खाली UserAuth को अस्वीकार करता है - lab को Set-path authenticate() skip चाहिए); password UserAuth चालू होने और creds न होने पर Probe OK (तब oracle एक stub है); एक gNOI Debug docker gadget, nsenter payload, reverse shell। नाटक। इसे Dell Enterprise SONiC box, या SonicWall पर इंगित करना। गलत product।

Lab

cd lab
./run.sh

लक्ष्य केवल 127.0.0.1:18080 (ToR plaintext) और 127.0.0.1:18081 (DPU TLS-insecure)। पतला gRPC, पूरा DPU image नहीं। Pin extracts build के समय sonic-gnmi f13a08e0440f के विरुद्ध hashed।

IOC tor-connect 127.0.0.1:18080 plaintext no-metadata
IOC tor-check witness=SONIC-GNMI-NOAUTH-WITNESS auth_enabled=false enable_native_write=true user_auth_any=false mode=tor
IOC dpu-connect 127.0.0.1:18081 tls-insecure no-client-cert no-metadata
IOC dpu-check witness=SONIC-GNMI-NOAUTH-WITNESS auth_enabled=false enable_native_write=true user_auth_any=false mode=dpu
IOC tor-negative status=UNAUTHENTICATED
IOC dpu-negative status=UNAUTHENTICATED
SUCCESS SONIC-GNMI-NOAUTH who=unauth tor=18080 dpu=18081 SONIC-GNMI-NOAUTH-WITNESS

समाधान

यदि cert हटाने के बाद UserAuth खाली है, तो Set/gNOI write को serve न करें, या loopback से बाहर listen न करें। --noTLS path पर भी UserAuth को copy करें। Server certs और एक CA प्रावधान करें ताकि --ca_crt सेट हो और cert मोड unset न हो। SmartSwitch DPU no-cert (--insecure --allow_no_client_auth खाली CA के साथ) को पहुँचने योग्य :8080 पर न चलाएँ। write path पर खाली UserAuth के लिए दोनों listeners को Unauthenticated लौटाना चाहिए।

संदर्भ

  • sonic-gnmi f13a08e0440f · telemetry.go · server.go · whitelist.go · command.go
  • sonic-buildimage 9495839742e4 · gnmi-native.sh · rules/config · init_cfg.json.j2
  • SECURITY.md
  • CWE-306 · CWE-287

लाइसेंस

GNU Affero GPL v3.0। देखें LICENSE। केवल Loopback lab। कोई वारंटी नहीं।

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