RouterSploit 实战:使用 telnet_default_creds 模块对 Netcore 路由器进行 Telnet 默认凭据检测

发布时间:2026/9/23 6:26:23
RouterSploit 实战:使用 telnet_default_creds 模块对 Netcore 路由器进行 Telnet 默认凭据检测 网络安全嵌入式【免费下载链接】routersploitExploitation Framework for Embedded Devices项目地址https://gitcode.com/gh_mirrors/ro/routersploit点击查看免费下载导读本文讲解 RouterSploit 框架中creds/routers/netcore/telnet_default_creds模块的完整用法与底层实现。该模块针对 Netcore磊科品牌路由器暴露的 Telnet 服务执行默认凭据字典攻击命中后自动将有效的用户名/密码组合展示给用户用于安全评估中快速验证设备是否仍在使用出厂默认口令。读完本文你将掌握该模块的调用步骤、全部可配置参数、凭据字典的加载方式以及其背后连接探测 → 多线程字典爆破 → 结果表格输出的完整执行链路。模块定位与适用场景在 RouterSploit 的模块分类中creds/routers/netcore/telnet_default_creds属于凭据creds模块族其官方描述为Module performs dictionary attack with default credentials against Netcore Router Telnet service. If valid credentials are found, they are displayed to the user.即针对 Netcore 路由器 Telnet 服务执行默认凭据字典攻击若发现有效凭据则展示给用户。该模块面向的硬件目标为Netcore Router见 模块源码 中__info__[devices]字段。从目录结构看Netcore 品牌还配套了同族的 FTP 与 SSH 变体ftp_default_creds.py、ssh_default_creds.py三者的模块骨架完全一致仅协议端口与默认端口不同。而 Telnet 变体是其中历史最悠久、对嵌入式设备路由器/摄像头最常用的检测方式之一。快速上手完整验证步骤按照官方文档telnet_default_creds.md的验证步骤可在 RouterSploit 交互式终端中完成一次完整攻击在仓库根目录启动框架./rsf.py入口脚本 rsf.py 仅接受 Python3 环境检测到 Python2 会直接退出加载模块use creds/routers/netcore/telnet_default_creds设置目标set target [TargetIP]运行run若发现有效凭据框架会将其展示给用户典型运行场景官方文档给出的完整运行实录如下rsf use creds/routers/netcore/telnet_default_creds rsf (Netcore Router Default Telnet Creds) set target 192.168.1.1 [] target 192.168.1.1 rsf (Netcore Router Default Telnet Creds) run [*] Running module... [*] Target exposes Telnet service [*] Starting default credentials attack against Telnet service [*] thread-0 thread is starting... [-] Telnet Authentication Failed - Username: admin Password: admin [-] Telnet Authentication Failed - Username: 1234 Password: 1234 [-] Telnet Authentication Failed - Username: root Password: 12345 [-] Telnet Authentication Failed - Username: root Password: root [] Telnet Authentication Successful - Username: user Password: user [*] thread-0 thread is terminated. [*] Elapsed time: 5.389287948608398 seconds [] Credentials found! Target Port Service Username Password ------ ---- ------- -------- -------- 192.168.1.1 23 telnet user user上述输出中几个关键信息点值得注意Target exposes Telnet service表示模块先做了连通性预检check()确认目标 23 端口确实开放 Telnet 服务后才进入字典攻击阶段[-] Telnet Authentication Failedverbosity详细输出开启时逐条打印失败的凭据尝试[] Telnet Authentication Successful命中有效凭据随后以表格形式汇总输出Target / Port / Service / Username / Password 五列Elapsed time整个攻击耗时由 exploit.py 中run_threads()统一计时。模块参数详解该模块自身只定义了 4 个参数见 telnet_default_creds.py其余高级参数继承自通用基类 telnet_default.py。参数默认值类型说明target空字符串OptIP目标 IPv4/IPv6 地址或file://前缀指定包含ip:port的目标文件port23OptPort目标 Telnet 端口取值范围 165535threads1OptInteger并发线程数Netcore 模块默认单线程defaultsadmin:admin,guest:guestOptWordlistUser:Pass组合逗号分隔或file://指向凭据文件stop_on_successtrueOptBool命中第一组有效凭据后是否立即停止继承自基类verbositytrueOptBool是否逐条打印认证尝试过程继承自基类各参数的类型校验逻辑可在 option.py 中确认OptIP设置时校验值必须为空、合法 IPv4 或 IPv6否则抛出OptionValidationErrorOptPort强制转为整数并限定0 value 65535OptWordlist这是字典攻击模块最核心的参数类型。它重写了__get__若值以file://开头则读取对应文件、逐行 strip 后返回列表否则按逗号切分返回列表。__set__时若指定file://路径还会校验文件是否存在OptBool仅接受字符串true/false。值得强调的是与通用基类的默认值不同Netcore 模块把threads收敛为1、把defaults收敛为admin:admin,guest:guest这两组最常见的组合——这是厂商模块对该品牌常见出厂口令的定制化体现。自定义凭据字典defaults参数支持两种赋值方式rsf (Netcore Router Default Telnet Creds) set defaults admin:admin,root:root,user:user # 或使用文件每行一组 user:pass rsf (Netcore Router Default Telnet Creds) set defaults file:///path/to/creds.txt当采用file://方式时文件中的每一行都会被 strip 后作为一个User:Pass组合参与尝试。RouterSploit 仓库内置了包含653 行常见设备默认凭据的通用词表 defaults.txt如1111:1111、1234:1234、Administrator:admin、各厂商 Alphanetworks 系列组合等你可以在交互终端用show wordlists查看仓库内置词表及其file://引用路径见 interpreter.py 中_show_wordlists实现。底层执行流程从 run 到结果输出虽然 Netcore 模块源码只有 22 行但它通过类继承复用了通用 Telnet 默认凭据模块的完整攻击逻辑。整体调用链如下run() → attack() → check() → target_function() × N线程 → 结果表格各环节在 telnet_default.py 中的实现要点run()重置self.credentials列表后调用attack()attack()被multi装饰先执行check()预检——调用telnet_create()建立连接并执行test_connect()若目标不暴露 Telnet 服务则直接返回。随后用LockedIterator(self.defaults)包装凭据迭代器内部持有一个threading.Lock保证多线程安全地逐个取凭据见 exploit.py并调用run_threads()启动self.threads个线程执行target_functiontarget_function()循环从迭代器取出username:password按第一个冒号split(:, 1)切分创建 Telnet 客户端调用login(username, password, retries3)。认证成功时若stop_on_successTrue则通过running.clear()通知其余线程停止并把(target, port, target_protocol, username, password)追加进credentials所有线程结束后若credentials非空则print_success(Credentials found!)并以表格打印否则输出Credentials not found。multi装饰器exploit.py还支持批量目标当target以file://开头时它会逐行读取目标文件按ip:port格式解析出每个目标并依次执行一次attack()实现单次命令批量扫描多个 Netcore 设备。Telnet 认证判定原理模块的认证判定发生在 Telnet 客户端层 telnet_client.py 的login()方法中其流程为建立 Telnet 连接超时TELNET_TIMEOUT 30.0秒expect([bLogin: , blogin: , bUsername: , busername: ], 5)等待登录提示并发送用户名UTF-8 编码 \r\nexpect([bPassword: , bpassword: ], 5)等待密码提示并发送密码最后expect([bIncorrect, bincorrect], 5)检查响应中是否出现认证失败关键字判定规则若未匹配到Incorrect索引i -1且响应中包含 shell 提示符#、$、中的任意一个或响应长度超过 500 字节用于兼容 MikroTik 等大横幅设备则判定认证成功并打印Telnet Authentication Successful否则判定失败并打印Telnet Authentication Failed。这一点也解释了官方场景示例中失败/成功消息的来源——它们由 telnet_client.py 的print_success/print_error输出并由模块的verbosity参数控制是否显示。自动化与测试验证该模块同时提供了自动化接口与回归测试check_default()被mute装饰器exploit.py包裹将攻击过程中的 stdout 输出重定向到虚拟文件对象静默执行完整字典攻击并返回命中的凭据列表未命中返回None。该接口可供其他模块或扫描器如 autopwn.py以编程方式复用无需解析终端输出单元测试test_telnet_default_creds.py 验证了模块的默认参数值target 、port 23、threads 1、defaults [admin:admin, guest:guest]、stop_on_success is True、verbosity is True并在测试 Telnet 服务器上断言check()返回 True、check_default()返回非空结果、run()正常执行完毕对应的通用基类测试见 test_telnet_default.py。安全使用提示本模块本质上是默认口令合规性检测工具它只尝试设备厂商出厂预设的弱口令组合不涉及任何漏洞利用。建议仅在获得授权的渗透测试、内部安全审计或资产盘点场景中使用用于发现仍在使用admin:admin、guest:guest等出厂凭据的 Netcore 设备并及时整改。Telnet 本身以明文传输凭据若目标设备支持更推荐配合同族的 ssh_default_creds.py默认端口 22进行安全通信条件下的凭据检测。赞分享网络安全嵌入式【免费下载链接】routersploitExploitation Framework for Embedded Devices项目地址https://gitcode.com/gh_mirrors/ro/routersploit点击查看免费下载相关推荐RouterSploit PFSense 路由器默认 Telnet 凭据检测模块实战指南telnet_default_credsRouterSploit PFSense 路由器默认 Telnet 凭据检测模块实战指南telnet_default_creds 本指南以 RouterSp网络安全嵌入式Routersploit 实战使用 telnet_default_creds 模块对 Juniper 路由器执行 Telnet 默认凭据字典攻击Routersploit 实战使用 telnet_default_creds 模块对 Juniper 路由器执行 Telnet 默认凭据字典攻击 导读 本指南网络安全嵌入式routersploit Netgear 路由器 Telnet 默认凭据字典攻击模块实战指南telnet_default_credsroutersploit Netgear 路由器 Telnet 默认凭据字典攻击模块实战指南telnet_default_creds 本指南围绕 route网络安全嵌入式创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考