Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Sara banner

Sara is a RouterOS security assessment toolkit. It connects to a MikroTik router over the RouterOS API, finds weak configuration settings and looks up CVEs for the installed RouterOS version. Sara never changes the configuration and needs only read access.

Disclaimer

Use Sara only on networks and devices you own or have permission to test. The author is not responsible for any misuse of this tool.

Modes

ModeWhat it does
auditChecks the configuration for weak settings: cleartext management services, unrestricted access, exposed L2 protocols, risky services, SNMP, Wi-Fi security and more
cveFinds CVEs for the RouterOS version, read from the router or given with --version

Install

Works on Unix-like systems and requires Python 3.9 or later. Sara does not need root, so a regular pipx installation is enough:

sudo apt install pipx git
pipx ensurepath
pipx install git+https://github.com/ifritnoises/sara

On the router, enable the api-ssl service (port 8729) and create an account with the read and api policies:

/user group add name=sara-audit policy=read,api
/user add name=sara group=sara-audit password=<password>

Usage

Audit

sara audit $IP $USERNAME

The password is always asked interactively.

By default Sara uses api-ssl on port 8729. Routers usually have self-signed certificates, so the certificate is not verified, but the channel is still encrypted. Use --port for a non-standard port. --plaintext switches to the unencrypted api service on port 8728 and sends credentials in clear text.

[!WARNING] By default api-ssl on RouterOS has no certificate and offers only anonymous TLS ciphers, which most distributions disable. Sara then retries with these ciphers and prints a warning: the channel is still encrypted, but the router identity is not verified. To avoid this, assign a certificate to api-ssl:

/certificate add name=api-ssl common-name=router key-usage=tls-server
/certificate sign api-ssl
/ip service set api-ssl certificate=api-ssl

Each finding shows the values read from the router, the impact and a RouterOS command to fix it. Checks that find nothing print nothing. Menus that do not exist on the device, such as Wi-Fi on a router without the package, are skipped.

IDSeverityCheck
MGMT-001criticalCleartext management services enabled (telnet, ftp, www, api)
MGMT-002criticalManagement services accept connections from any address
MGMT-003mediumUser accounts accept logins from any address
MGMT-004mediumDefault usernames present
PROTO-001mediumMAC-Winbox allowed on all interfaces
PROTO-002mediumMAC-Telnet allowed on all interfaces
PROTO-003lowMAC ping enabled
PROTO-004mediumNeighbor discovery enabled on all interfaces
PROTO-005mediumRoMON enabled
PROTO-006mediumSSH strong crypto disabled
PROTO-007highSMB server enabled
PROTO-008highUPnP enabled
PROTO-009low / mediumBandwidth test server enabled (medium without authentication)
PROTO-010lowDDNS enabled
PROTO-011highSNMP enabled with a default community
PROTO-012highSNMP community with write access
PROTO-013mediumRouter answers remote DNS requests
USER-002mediumNo minimum password length
SYS-001highRouterBOOT protection disabled (not applicable on CHR)
HW-001lowPoE forced on without device detection
WIFI-001mediumPMKID enabled
WIFI-002mediumWPS enabled

CVE Lookup

Check the version running on a router, or any version without connecting:

sara cve $IP $USERNAME
sara cve --version $VERSION

The data comes from the NVD API on every run, so this mode needs internet access.

Known Limitations

  • NVD does not add affected version ranges to every CVE right away, and some CVEs never get them. Sara prints those CVEs in a separate table, so check them manually against the MikroTik changelog.
  • Without an API key NVD limits the request rate. Running cve many times in a row may be refused for a short while.

License

Released under the MIT License. See LICENSE for details.

Copyright (c) 2026 Ifrit contact@ifritnoises.org

关于 About

RouterOS Security Assessment Toolkit
blueteamcve-scanningdefensiveforensicshardeningmikrotiknetsecnetwork-securitypythonrouteros

语言 Languages

Python100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
4
Total Commits
峰值: 4次/周
Less
More

核心贡献者 Contributors