Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-20352 — CVE-2025-20352 SNMP Exposure Check (onesixtyone + parser) | Kitploit
Tools/GitHubGitHub/scadastrangelove/cve-2025-20352
ReconnaissanceVulnerability AnalysisConfiguration AuditingInformation GatheringNetwork Security
GitHubscadastrangelove/cve-2025-20352

CVE-2025-20352

CVE-2025-20352 SNMP Exposure Check (onesixtyone + parser)

View Repository
6210 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-20352 SNMP Exposure Check (onesixtyone + parser)

CVE-2025-20352 logo

Fast, safe black-box exposure check for Cisco IOS/IOS XE devices related to CVE-2025-20352 (SNMP subsystem):

  1. Scan your subnets for SNMP using onesixtyone with default communities.
  2. Parse sysDescr.0 banners with a small Python script to flag Cisco IOS/IOS XE and mark versions as Fixed (if whitelisted) or Potentially Vulnerable (verify in Cisco Software Checker).

This project does not exploit anything. It only identifies devices that respond to default SNMP communities and extracts version info from sysDescr.0.

Quick start

root@kitploit:~
# 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

Output

parsed.csv columns:

  • ip — target IP
  • community — SNMP community that worked
  • vendor — Cisco / Non-Cisco
  • os_family — IOS, IOS XE, or empty
  • version — version string extracted from banner
  • status — Fixed, Potentially Vulnerable (verify in Cisco Software Checker), or Not Cisco / Not IOS
  • raw — original banner line

Example

root@kitploit:~
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

The parser script

ios_cve20352_parser.py reads from stdin (or a file) lines like:

root@kitploit:~
<ip> [<community>] <sysDescr...>

It extracts Cisco IOS/IOS XE versions and labels them.

Fixed versions live in a small whitelist inside the script:

root@kitploit:~
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)
    }
}

Why a whitelist? Cisco’s advisory points admins to the Cisco Software Checker for exact affected/fixed builds per train/platform. The script therefore errs on the safe side: if a Cisco IOS/IOS XE version isn’t in the fixed list, it’s marked “Potentially Vulnerable” and you should verify it in the checker.

Installing dependencies

Ubuntu/Debian

root@kitploit:~
sudo add-apt-repository -y universe
sudo apt update
sudo apt install -y onesixtyone snmp python3

RHEL/Fedora (example)

root@kitploit:~
# 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

Usage details

1) Scanning

root@kitploit:~
printf "public\nprivate\n" > communities.txt
onesixtyone -c communities.txt 192.168.2.0/24 10.1.2.0/24 | tee snmp_raw.txt

Tips:

  • Add -w 1 to lower wait time per host (faster), or remove it if you see timeouts.

  • For a direct single-host banner:

    root@kitploit:~
    snmpget -v2c -c public -t 1 -r 0 <IP> 1.3.6.1.2.1.1.1.0
    

2) Parsing

root@kitploit:~
python3 ios_cve20352_parser.py < snmp_raw.txt > parsed.csv
column -s, -t < parsed.csv | less -S

Safety & scope

  • Only scan networks you are authorized to assess.
  • Keep rates conservative on slow links.
  • This is an exposure assessment, not exploitation.

Troubleshooting

  • No results / timeouts: Increase timeouts, reduce rate, check ACLs/firewalls for UDP/161.
  • Cisco device but empty version: Banner may be truncated; query sysDescr.0 directly with snmpget.
  • False negatives: Some devices only answer from allowed management hosts—run from a permitted vantage point.

Contributing

  • Add confirmed fixed versions to FIXED_WHITELIST.
  • PRs welcome for improved banner parsing and vendor detection.

License

EN

This project is licensed under the MIT License. See the LICENSE file for the full text.

RU

Проект распространяется по лицензии MIT. Полный текст — в файле LICENSE.


RU — Проверка экспозиции CVE-2025-20352 (onesixtyone + парсер)

Быстрая и безопасная оценка экспозиции устройств Cisco IOS/IOS XE, связанная с CVE-2025-20352 (подсистема SNMP):

  1. Сканируем подсети на SNMP через onesixtyone с дефолтными сообществами.
  2. Парсим баннеры sysDescr.0 Python-скриптом: помечаем Cisco IOS/IOS XE и проставляем статус Fixed (если в белом списке) или Potentially Vulnerable (проверить в Cisco Software Checker).

Проект не эксплуатирует уязвимость. Он лишь определяет устройства, отвечающие на дефолтные SNMP-сообщества, и извлекает версию из sysDescr.0.

Быстрый старт

root@kitploit:~
# 0) Клонирование
git clone https://github.com/scadastrangelove/CVE-2025-20352 cve-2025-20352-scan
cd cve-2025-20352-scan

# 1) Зависимости (Ubuntu/Debian)
sudo add-apt-repository -y universe
sudo apt update
sudo apt install -y onesixtyone snmp python3

# 2) Файл сообществ
printf "public\nprivate\n" > communities.txt

# 3) Сканирование подсетей (ИЗМЕНИТЕ ПОД СЕБЯ!)
onesixtyone -c communities.txt 192.168.2.0/24 10.1.2.0/24 | tee snmp_raw.txt

# 4) Парсинг в CSV
python3 ios_cve20352_parser.py < snmp_raw.txt > parsed.csv

# 5) Просмотр
column -s, -t < parsed.csv | less -S

Выходные данные

Столбцы parsed.csv:

  • ip — IP-адрес
  • community — сработавшее SNMP-сообщество
  • vendor — Cisco / Non-Cisco
  • os_family — IOS, IOS XE или пусто
  • version — строка версии из баннера
  • status — Fixed, Potentially Vulnerable (проверить в Cisco Software Checker) или Not Cisco / Not IOS
  • raw — исходная строка баннера

Пример

root@kitploit:~
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 читает строки вида:

root@kitploit:~
<ip> [<community>] <sysDescr...>

Извлекает версии Cisco IOS/IOS XE и проставляет статус.

Исправленные версии перечисляются во внутреннем белом списке:

root@kitploit:~
FIXED_WHITELIST = {
    "IOS": {
        # Добавляйте точные версии IOS 15.x после проверки в Cisco Software Checker
        # напр. "15.9(3)M12": True
    },
    "IOS XE": {
        "17.15.4a": True
        # Дополняйте по мере публикаций/подтверждений (напр. "17.15.4b": True)
    }
}

Почему белый список? В описании Cisco предлагается проверять конкретные сборки через Cisco Software Checker. Поэтому, если версия IOS/IOS XE не найдена в списке Fixed, скрипт ставит метку “Potentially Vulnerable”, дальше проверяйте её в чекере.

Установка зависимостей

Ubuntu/Debian

root@kitploit:~
sudo add-apt-repository -y universe
sudo apt update
sudo apt install -y onesixtyone snmp python3

RHEL/Fedora (пример)

root@kitploit:~
# onesixtyone может быть в EPEL; иначе соберите из исходников
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

Использование

1) Сканирование

root@kitploit:~
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 ускоряет опрос; уберите его, если видите таймауты.

  • Точечный баннер для узла:

    root@kitploit:~
    snmpget -v2c -c public -t 1 -r 0 <IP> 1.3.6.1.2.1.1.1.0
    

2) Парсинг

root@kitploit:~
python3 ios_cve20352_parser.py < snmp_raw.txt > parsed.csv
column -s, -t < parsed.csv | less -S

Безопасность и границы

  • Сканируйте только разрешённые сети.
  • На медленных каналах снижайте интенсивность.
  • Это оценка экспозиции, а не эксплуатация.

Решение проблем

  • Пусто/таймауты: увеличьте таймауты, снизьте скорость, проверьте ACL/фаерволы на UDP/161.
  • Cisco без версии: баннер мог быть обрезан — опросите sysDescr.0 напрямую через snmpget.
  • Ложные отрицания: некоторые устройства отвечают только доверенным хостам — запускайте из разрешённой точки.

Вклад

  • Дополняйте FIXED_WHITELIST подтверждёнными фикс-релизами.
  • Пул-реквесты приветствуются: улучшение парсинга и детекции вендора.

License

EN

This project is licensed under the MIT License.

RU

Проект распространяется по лицензии MIT.

Download Tool