derekpreston81/CVE_ADC_IOC_2026

GitHub: derekpreston81/CVE_ADC_IOC_2026

该工具通过解析 NetScaler 配置文件自动检测设备是否满足多个 CVE 的漏洞触发前置条件。

Stars: 2 | Forks: 1

# CVE_ADC_IOC_2026 ## NetScaler CVE 前置条件检查器 **作者:** Derek 一个用于检查 NetScaler 配置文件(`ns.conf`)并确定设备是否满足特定 CVE 前置条件的 Python 脚本。该脚本会解析运行配置或已保存的配置文件,并报告存在漏洞的配置以及详细的检查结果。 ### 支持的 CVE | CVE | 描述 | 检查的前置条件 | |-----|-------------|---------------------| | **CVE-2026-8451** | SAML IdP Profile | `add authentication samlIdPProfile .*` | | **CVE-2026-8452** | Auth / Gateway Vserver | `add authentication vserver .*` 或 `add vpn vserver .*` | | **CVE-2026-8655** | Oracle/DNS LB + DNS Recursion | Oracle LB, DNS/DOT vservers, SSL+DNSoverHTTPS, DNS recursive resolution | | **CVE-2026-10817** | TCP TimeStamp ENABLED | 带有 `-TimeStamp ENABLED` 的 TCP profile,追踪 profile 到 vserver/service 的映射,处理默认 profile 继承 | | **CVE-2026-13474** | HTTP/2 ENABLED | 带有 `-http2 ENABLED` 的 HTTP profile,追踪 profile 到 vserver 的映射,处理默认 profile 继承 | ### 功能 - **Profile 到 Vserver/Service 的映射**:针对 CVE-2026-10817 和 CVE-2026-13474,追踪哪些 vserver 和 service 使用了存在漏洞的 profile。 - **默认 Profile 处理**:检测默认 profile(`nstcp_default_profile`、`nshttp_default_profile`)是否存在漏洞设置,并枚举所有继承它们的 vserver/service。 - **多种输入模式**:支持本地文件、通过 `sshpass` 的 SSH 或通过 `paramiko`(纯 Python)的 SSH。 - **JSON 输出**:提供 `--json` 参数以便集成到 CI/CD pipeline 中。 - **静默模式**:使用 `--quiet` 仅显示存在漏洞的 CVE。 - **彩色输出**:带有 ANSI 颜色代码的终端输出,便于阅读。 ### 安装说明 #### 1. 克隆或下载脚本 ``` git clone https://github.com/derekpreston81/CVE_ADC_IOC_2026.git cd CVE_ADC_IOC_2026 ``` #### 2. 安装依赖(可选,用于 SSH 模式) ``` pip install -r requirements.txt ``` ### 用法 #### 检查本地 `ns.conf` 文件 ``` python netscaler_cve_checker.py /path/to/ns.conf ``` #### 通过 SSH 检查(自动检测后端) ``` python netscaler_cve_checker.py --ssh 192.168.1.1 nsroot password ``` 脚本会自动优先尝试使用 `sshpass`,如果失败则回退到 `paramiko`。 #### 强制通过 paramiko 进行 SSH ``` python netscaler_cve_checker.py --ssh-paramiko 192.168.1.1 nsroot password ``` #### 输出 JSON 以用于自动化 / CI-CD ``` python netscaler_cve_checker.py --json /path/to/ns.conf ``` #### 静默模式 — 仅显示存在漏洞的 CVE ``` python netscaler_cve_checker.py --quiet /path/to/ns.conf ``` ### 获取 NetScaler 配置 #### 选项 A:将运行配置保存到文件 从 NetScaler CLI(或 SSH)执行: ``` show ns runningconfig > /var/tmp/ns.conf ``` 然后通过 SCP/SFTP 下载 `ns.conf` 并在本地运行检查器。 #### 选项 B:直接通过 SSH 获取 使用 `--ssh` 或 `--ssh-paramiko` 参数(如上文所示)。脚本会在设备上运行 `show ns runningconfig` 并解析其输出。 ### 输出示例 ``` ================================================================================ NetScaler CVE Preconditions Checker Version: 1.1 ================================================================================ [CVE-2026-8451] SAML IdP Profile Configuration Status: NOT VULNERABLE (Severity: NONE) Precondition: add authentication samlIdPProfile .* ✓ No matching preconditions found. [CVE-2026-8452] Authentication Vserver / Gateway (VPN) Vserver Status: VULNERABLE (Severity: HIGH) Preconditions: - add authentication vserver .* (AAA Vserver) - add vpn vserver .* (Gateway: VPN, ICA Proxy, CVPN, RDP Proxy) ⚠ Findings: VPN/Gateway Vservers (2): > add vpn vserver GW_VPN SSL 10.0.0.10 443 -icaOnly ON > add vpn vserver RDP_PROXY SSL 10.0.0.11 443 Recommendation: Review AAA and VPN vservers. Apply patches and restrict access. [CVE-2026-10817] TCP Profiles with TimeStamp ENABLED Status: VULNERABLE (Severity: CRITICAL) Precondition: TCP profiles with -TimeStamp ENABLED ⚠ Findings: TCP Profiles with TimeStamp ENABLED (1): > Profile: custom_profile Config: add ns tcpProfile custom_profile -TimeStamp ENABLED Attached Vservers (1): - test_server (add lb vserver) ⚠ DEFAULT PROFILE (nstcp_default_profile) has TimeStamp ENABLED! All vservers/services without explicit TCP profile are impacted. Default-impacted Vservers (15): - vs1 (add lb vserver) - vs2 (add cs vserver) ... Recommendation: Disable TimeStamp on TCP profiles unless required. ================================================================================ SUMMARY ================================================================================ CVE-2026-8451: SAFE CVE-2026-8452: VULNERABLE CVE-2026-8655: SAFE CVE-2026-10817: VULNERABLE CVE-2026-13474: SAFE Total CVEs checked: 5 Vulnerable: 2 Safe: 3 ACTION REQUIRED: Review findings above and apply vendor patches. ================================================================================ ``` ### 故障排除 #### `sshpass not found` 错误 请在您的系统上安装 `sshpass`,或者改用 `--ssh-paramiko`: ``` # Ubuntu/Debian sudo apt-get install sshpass # RHEL/CentOS/Rocky sudo yum install sshpass # macOS brew install sshpass ``` #### 未安装 `paramiko` ``` pip install paramiko ``` 然后使用 `--ssh-paramiko` 进入 SSH 模式。 #### 身份验证失败 - 检查用户名/密码是否正确。 - 确保 NetScaler 的 IP/主机名可访问。 - 检查 NetScaler 上是否已启用 SSH。 ### 许可证 此脚本按“原样”提供,用于安全评估和合规性目的。使用风险自负。在进行更改之前,请务必根据供应商的安全通告验证检查结果。 ### 作者 **Derek**
标签:Homebrew安装, Python, 内存分配, 实时处理, 无后门, 无线安全, 自动化运维, 逆向工具