
CVE-2025-20352 SNMP Exposure Check (onesixtyone + parser)
Cisco IOS/IOS XE डिवाइसों के लिए CVE-2025-20352 (SNMP सबसिस्टम) से संबंधित तेज़, सुरक्षित ब्लैक-बॉक्स एक्सपोज़र जाँच:
sysDescr.0 बैनरों को पार्स करें।यह प्रोजेक्ट किसी चीज़ का शोषण नहीं करता। यह केवल उन डिवाइसों की पहचान करता है जो डिफ़ॉल्ट SNMP कम्युनिटीज़ पर प्रतिक्रिया देती हैं और
sysDescr.0से वर्ज़न जानकारी निकालता है।
# 0) Clone this repo
git clone https://github.com/scadastrangelove/CVE-2025-20352 cve-2025-20352-scan
cd cve-2025-20352-scan
# 1) Install dependencies (Ubuntu/Debian)
sudo add-apt-repository -y universe
sudo apt update
sudo apt install -y onesixtyone snmp python3
# 2) Create a small community list with defaults
printf "public\nprivate\n" > communities.txt
# 3) Scan your subnets (EDIT THESE!)
onesixtyone -c communities.txt 192.168.2.0/24 10.1.2.0/24 | tee snmp_raw.txt
# 4) Parse the results to CSV
python3 ios_cve20352_parser.py < snmp_raw.txt > parsed.csv
# 5) View nicely
column -s, -t < parsed.csv | less -S
parsed.csv के कॉलम:
ip — लक्ष्य IPcommunity — वह SNMP कम्युनिटी जो कारगर रहीvendor — Cisco / Non-Ciscoos_family — IOS, IOS XE, या खालीversion — बैनर से निकाली गई वर्ज़न स्ट्रिंगstatus — Fixed, Potentially Vulnerable (Cisco Software Checker में सत्यापित करें), या Not Cisco / Not IOSraw — मूल बैनर लाइनउदाहरण
ip,community,vendor,os_family,version,status,raw
1.1.2.4,public,Cisco,IOS,15.5(3)S2,Potentially Vulnerable — IOS 15.5(3)S2; verify in Cisco Software Checker,"Cisco IOS Software, ASR1000 ... Version 15.5(3)S2 ..."
1.1.2.2,public,Non-Cisco,,,Not Cisco / Not IOS,RouterOS RB750r2
ios_cve20352_parser.py stdin (या किसी फ़ाइल) से इस प्रकार की लाइनें पढ़ता है:
<ip> [<community>] <sysDescr...>
यह Cisco IOS/IOS XE वर्ज़न निकालता है और उन्हें लेबल करता है।
Fixed वर्ज़न स्क्रिप्ट के भीतर एक छोटी श्वेतसूची में रहते हैं:
FIXED_WHITELIST = {
"IOS": {
# Add exact IOS 15.x fixed versions you confirm via Cisco Software Checker
# e.g. "15.9(3)M12": True
},
"IOS XE": {
"17.15.4a": True
# Add more as Cisco publishes/you confirm (e.g. "17.15.4b": True)
}
}
श्वेतसूची क्यों? Cisco की एडवाइज़री प्रशासकों को प्रत्येक ट्रेन/प्लेटफ़ॉर्म के लिए सटीक प्रभावित/सुधारित बिल्ड जानने हेतु Cisco Software Checker की ओर इंगित करती है। इसलिए स्क्रिप्ट सुरक्षित पक्ष में रहती है: यदि कोई Cisco IOS/IOS XE वर्ज़न Fixed सूची में नहीं है, तो उसे “Potentially Vulnerable” चिह्नित किया जाता है और आपको इसे चेकर में सत्यापित करना चाहिए।
sudo add-apt-repository -y universe
sudo apt update
sudo apt install -y onesixtyone snmp python3
# onesixtyone may be in EPEL; otherwise build from source
sudo dnf install -y net-snmp-utils python3 git make gcc
git clone https://github.com/trailofbits/onesixtyone.git
cd onesixtyone && make && sudo make install
printf "public\nprivate\n" > communities.txt
onesixtyone -c communities.txt 192.168.2.0/24 10.1.2.0/24 | tee snmp_raw.txt
सुझाव:
प्रति होस्ट प्रतीक्षा समय कम करने के लिए -w 1 जोड़ें (तेज़), या टाइमआउट दिखने पर इसे हटा दें।
किसी एक होस्ट का सीधा बैनर पाने के लिए:
snmpget -v2c -c public -t 1 -r 0 <IP> 1.3.6.1.2.1.1.1.0
python3 ios_cve20352_parser.py < snmp_raw.txt > parsed.csv
column -s, -t < parsed.csv | less -S
snmpget से सीधे sysDescr.0 क्वेरी करें।FIXED_WHITELIST में जोड़ें।यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। पूरा पाठ LICENSE फ़ाइल में देखें।
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत वितरित किया जाता है। पूरा पाठ LICENSE फ़ाइल में है।
CVE-2025-20352 (SNMP सबसिस्टम) से संबंधित Cisco IOS/IOS XE डिवाइसों का तेज़ और सुरक्षित एक्सपोज़र आकलन:
sysDescr.0 बैनरों को पार्स करें: Cisco IOS/IOS XE चिह्नित करें और स्थिति Fixed (यदि श्वेतसूची में है) या Potentially Vulnerable (Cisco Software Checker में जाँचें) निर्धारित करें।यह प्रोजेक्ट भेद्यता का शोषण नहीं करता। यह केवल उन डिवाइसों की पहचान करता है जो डिफ़ॉल्ट SNMP-कम्युनिटीज़ पर प्रतिक्रिया देती हैं, और
sysDescr.0से वर्ज़न निकालता है।
# 0) Clone this repo
git clone https://github.com/scadastrangelove/CVE-2025-20352 cve-2025-20352-scan
cd cve-2025-20352-scan
# 1) Install dependencies (Ubuntu/Debian)
sudo add-apt-repository -y universe
sudo apt update
sudo apt install -y onesixtyone snmp python3
# 2) Create a small community list with defaults
printf "public\nprivate\n" > communities.txt
# 3) Scan your subnets (EDIT THESE!)
onesixtyone -c communities.txt 192.168.2.0/24 10.1.2.0/24 | tee snmp_raw.txt
# 4) Parse the results to CSV
python3 ios_cve20352_parser.py < snmp_raw.txt > parsed.csv
# 5) View nicely
column -s, -t < parsed.csv | less -S
parsed.csv के कॉलम:
ip — IP पताcommunity — कारगर रहा SNMP-कम्युनिटीvendor — Cisco / Non-Ciscoos_family — IOS, IOS XE या खालीversion — बैनर से वर्ज़न स्ट्रिंगstatus — Fixed, Potentially Vulnerable (Cisco Software Checker में जाँचें) या Not Cisco / Not IOSraw — बैनर की मूल स्ट्रिंगउदाहरण
ip,community,vendor,os_family,version,status,raw
1.1.2.4,public,Cisco,IOS,15.5(3)S2,Potentially Vulnerable — IOS 15.5(3)S2; verify in Cisco Software Checker,"Cisco IOS Software, ASR1000 ... Version 15.5(3)S2 ..."
1.1.2.2,public,Non-Cisco,,,Not Cisco / Not IOS,RouterOS RB750r2
ios_cve20352_parser.py इस प्रकार की लाइनें पढ़ता है:
<ip> [<community>] <sysDescr...>
Cisco IOS/IOS XE वर्ज़न निकालता है और स्थिति निर्धारित करता है।
सुधारित वर्ज़न आंतरिक श्वेतसूची में सूचीबद्ध हैं:
FIXED_WHITELIST = {
"IOS": {
# Add exact IOS 15.x fixed versions you confirm via Cisco Software Checker
# e.g. "15.9(3)M12": True
},
"IOS XE": {
"17.15.4a": True
# Add more as Cisco publishes/you confirm (e.g. "17.15.4b": True)
}
}
श्वेतसूची क्यों? Cisco के एडवाइज़री में Cisco Software Checker के माध्यम से विशिष्ट बिल्ड की जाँच करने का सुझाव दिया गया है। इसलिए, यदि कोई IOS/IOS XE वर्ज़न Fixed सूची में नहीं मिलता है, तो स्क्रिप्ट “Potentially Vulnerable” लेबल लगाती है; आगे इसे चेकर में जाँचें।
sudo add-apt-repository -y universe
sudo apt update
sudo apt install -y onesixtyone snmp python3
# onesixtyone may be in EPEL; otherwise build from source
sudo dnf install -y net-snmp-utils python3 git make gcc
git clone https://github.com/trailofbits/onesixtyone.git
cd onesixtyone && make && sudo make install
printf "public\nprivate\n" > communities.txt
onesixtyone -c communities.txt 192.168.2.0/24 10.1.2.0/24 | tee snmp_raw.txt
सुझाव:
पैरामीटर -w 1 स्कैन को तेज़ करता है; टाइमआउट दिखने पर इसे हटा दें।
किसी नोड के लिए सीधा बैनर:
snmpget -v2c -c public -t 1 -r 0 <IP> 1.3.6.1.2.1.1.1.0
python3 ios_cve20352_parser.py < snmp_raw.txt > parsed.csv
column -s, -t < parsed.csv | less -S
snmpget के माध्यम से सीधे sysDescr.0 क्वेरी करें।FIXED_WHITELIST को पुष्टि किए गए फिक्स-रिलीज़ से अपडेट करें।यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है।
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत वितरित किया जाता है।