首页/新闻资讯/正文详情

RouterSploit 实战:使用 ssh_default_creds 模块对 ZTE 路由器执行默认 SSH 凭据字典攻击

发布时间:2026/9/23 2:22:50 来源:云帆数科 栏目:资讯中心
RouterSploit 实战:使用 ssh_default_creds 模块对 ZTE 路由器执行默认 SSH 凭据字典攻击
RouterSploit 实战使用 ssh_default_creds 模块对 ZTE 路由器执行默认 SSH 凭据字典攻击【免费下载链接】routersploitExploitation Framework for Embedded Devices项目地址: https://gitcode.com/gh_mirrors/ro/routersploit导读本文围绕 RouterSploit 中的creds/routers/zte/ssh_default_creds模块展开讲解如何对 ZTE 路由器上暴露的 SSH 服务执行默认凭据字典攻击并在命中后自动展示有效账号密码。读完本文你将掌握该模块的加载方式、参数配置、完整攻击流程以及其底层基于 paramiko 的 SSH 认证与多线程字典攻击的实现原理可直接在 RouterSploit 交互终端中复现整个操作。模块功能概述creds/routers/zte/ssh_default_creds是 RouterSploit 中针对ZTE Router中兴路由器的默认凭据审计模块。其核心职责是对目标 ZTE 路由器的 SSH 服务执行基于默认凭据的字典攻击dictionary attack一旦发现有效的用户名与密码组合立即将其展示给用户支持多线程并发加快爆破速度。模块在源码中注册的设备类型为ZTE Router其实现继承自通用 SSH 默认凭据模块 ssh_default.py并通过 ssh_default_creds.py 注入 ZTE 专属的默认凭据列表。快速上手验证步骤Verification Steps原文档给出了完整的操作路径在 RouterSploit 交互终端中依次执行即可启动 RouterSploit./rsf.py加载 ZTE SSH 默认凭据模块use creds/routers/zte/ssh_default_creds设置目标 IPset target [TargetIP]执行攻击run若找到有效凭据模块会将结果显示在终端中。其中./rsf.py为仓库根目录下的主入口脚本负责启动 Python 3 环境并拉起交互解释器详见 rsf.py。需要注意的是RouterSploit 仅支持 Python 3若在 Python 2 环境中启动会直接提示并退出。实战场景演示下面是对目标192.168.1.1执行模块的完整输出可直接作为操作参照rsf use creds/routers/zte/ssh_default_creds rsf (ZTE Router Default SSH Creds) set target 192.168.1.1 [] target 192.168.1.1 rsf (ZTE Router Default SSH Creds) run [*] Running module... [*] Target exposes SSH service [*] Starting default credentials attack against SSH service [*] thread-0 thread is starting... [-] SSH Authentication Failed - Username: admin Password: 12345 [-] SSH Authentication Failed - Username: admin Password: 123456 [-] SSH Authentication Failed - Username: Admin Password: 12345 [-] SSH Authentication Failed - Username: Admin Password: 123456 [] SSH Authentication Successful - Username: admin Password: admin [*] thread-0 thread is terminated. [*] Elapsed time: 2.3932292461395264 seconds [] Credentials found! Target Port Service Username Password ------ ---- ------- -------- -------- 192.168.1.1 22 ssh admin admin从输出中可以清晰看到整个攻击链路模块首先探测目标是否暴露 SSH 服务随后逐条尝试默认凭据失败记录为SSH Authentication Failed命中记录为SSH Authentication Successful最终以表格形式汇总输出Target / Port / Service / Username / Password五列结果并统计总耗时。模块源码与核心参数解析ZTE 专属模块的源码非常精简ssh_default_creds.py它通过继承通用 SSH 默认凭据模块仅重定义元信息与四个关键参数参数默认值类型说明targetOptIP目标 IPv4 / IPv6 地址也支持file://指向的ip:port列表文件port22OptPort目标 SSH 端口默认 22threads1OptInteger并发线程数ZTE 模块默认 1通用模块默认 8defaultsadmin:admin,ZXDSL:ZXDSL,user:user,on:on,root:Zte521,root:W!n0oO7.OptWordlist以逗号分隔的用户:密码组合或file://指向的字典文件其中内置的 6 组 ZTE 默认凭据为admin:admin、ZXDSL:ZXDSL、user:user、on:on、root:Zte521、root:W!n0oO7.。这一点也由测试用例 test_ssh_default_creds.py 直接断言验证assert exploit.defaults [...]。参数类型的底层约束各参数的校验逻辑定义在 option.py 中OptIP会校验地址必须是合法的 IPv4 或 IPv6否则抛出OptionValidationErrorOptPort将值转为整数并要求落在0 value 65535区间OptWordlist支持两种取值方式直接传入user:pass,user2:pass2字符串按逗号切分或传入file:///path/to/wordlist指向的本地字典文件按行读取并 strip 空白文件不存在时同样会校验报错。这意味着你可以通过set defaults file:///home/user/zte_creds.txt的方式将自定义字典喂给该模块实现更大规模的默认凭据审计。底层攻击流程与实现原理该模块的实际攻击逻辑由父类 ssh_default.py 提供主要包含三个环节1. 服务探测checkcheck()方法调用ssh_client.test_connect()向目标 SSH 端口发起一次携带随机密码random_text(12)的连接尝试见 ssh_client.py 中的test_connect。若返回paramiko.AuthenticationException说明端口上确实存在 SSH 服务认证失败恰恰证明服务在响应此时输出Target exposes SSH service并返回True若连接超时或出现其他异常则判定目标未暴露 SSH直接终止攻击。2. 字典迭代与多线程并发攻击入口attack()使用LockedIterator包装凭据列表保证多个线程从同一数据源取凭据时不会重复或冲突随后通过run_threads()启动指定数量的线程并发执行target_function线程调度实现在 exploit.py 的run_threads与LockedIterator中。每个线程不断从迭代器中取出user:pass组合切分后交给 SSH 客户端尝试登录。3. SSH 认证与结果汇总认证核心在 ssh_client.py 的login()方法中基于 paramiko 的SSHClient.connect()完成认证设置timeout与banner_timeout均为 8 秒并显式关闭look_for_keys与allow_agent避免本机密钥干扰纯密码爆破。认证失败打印SSH Authentication Failed成功则打印SSH Authentication Successful并将结果追加到self.credentials。攻击结束后attack()会检查self.credentials非空输出Credentials found!并以Target / Port / Service / Username / Password表格打印全部命中结果为空输出Credentials not found。父类中还提供了两个可调参数stop_on_success命中后是否立即停止其余线程默认True与verbosity是否显示每次认证尝试默认True均可通过set命令调整。多目标批量审计attack()方法带有multi装饰器见 exploit.py。当target被设置为file://开头的文件路径时模块会自动读取文件中每行ip:port的目标并逐个执行攻击适合对网段内多台 ZTE 设备做批量默认凭据巡检。自动化接口与测试验证除了交互式使用该模块还面向自动化场景暴露了check_default()接口它被mute装饰器静默化不向 stdout 输出任何内容仅返回命中的凭据列表或None便于被上层脚本如自动扫描工具复用。对应的单元测试 test_ssh_default_creds.py 验证了模块默认参数target 、port 22、threads 1、defaults与内置 6 组凭据一致stop_on_success is True、verbosity is True针对未运行 SSH 服务的测试目标check()返回False、check_default()返回None、run()正常返回且不报错。这为在 CI 环境或自动化脚本中安全地回归测试该模块提供了参考范例。使用注意事项该模块属于凭据审计类模块请仅在已获授权的目标上使用遵守当地法律法规与测试授权边界默认凭据列表仅覆盖常见 ZTE 设备出厂配置若目标已修改口令可结合set defaults file://...扩展自定义字典ZTE 模块默认threads 1如需加速可set threads 8提升并发但过高的并发可能触发目标设备的安全防护或影响稳定性若目标 SSH 端口非默认 22务必通过set port同步修改否则check()阶段会直接判定目标未暴露 SSH 而中止攻击。延伸阅读同系列 ZTE 模块creds/routers/zte/telnet_default_creds、creds/routers/zte/ftp_default_creds可覆盖其余管理协议通用模块源码ssh_default.pySSH 客户端实现ssh_client.py参数类型与校验option.py线程调度与多目标装饰器exploit.py。【免费下载链接】routersploitExploitation Framework for Embedded Devices项目地址: https://gitcode.com/gh_mirrors/ro/routersploit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Apache Pulsar 包管理(Packages)完全指南:函数与 IO 连接器的跨命名空间复用与版本化管理
Apache Pulsar 包管理(Packages)完全指南:函数与 IO 连接器的跨命名空间复用与版本化管理

消息队列后端流处理 【免费下载链接】pulsar Apache Pulsar - distributed pub-sub messaging system 项目地址: https://gitcode.com/gh_mirrors/pulsar28/pulsar 点击查看 免费下载 本指南以 Apache Pulsar 管理 API 中包管理(Package Management&… · 2026/9/23 2:22:50

华院计算源码解析:3招搞定性能瓶颈
华院计算源码解析:3招搞定性能瓶颈

华院计算源码解析:3招搞定性能瓶颈 配置环境就卡半天?别急,先看代码。很多刚入行的同学拿到【华院计算】相关的开源项目或内部模块时,第一反应是跑不通。其实,大部分卡顿并非硬件问题,而是对底层【源码解析】不够深入,导致在不该等待的地方做了同步阻… · 2026/9/23 2:22:44

3个高频坑点:中国少数民族服饰避坑指南
3个高频坑点:中国少数民族服饰避坑指南

3个高频坑点:中国少数民族服饰避坑指南 刚学完语法,打开IDE却对着空白屏幕发呆?这种“会写代码不会搭项目”的断崖式体验,是无数新人的噩梦。今天不讲虚的,直接拆解 中国少数民族服饰… · 2026/9/23 2:22:38

3步搞定中维云视通官网升级坑,保姆级教程
3步搞定中维云视通官网升级坑,保姆级教程

3步搞定中维云视通官网升级坑,保姆级教程 版本升级后 API 全变了,接口文档还停留在旧版,调试到深夜才发现请求头字段被废弃,这种崩溃感只有做过视频监控集成的开发者懂。中维云视通官网最近一次大版本迭代,直接重构了底层通信协议,导致大量旧项目… · 2026/9/23 5:16:23

WiFi连上却上不了网?从假连接到DNS的排查指南
WiFi连上却上不了网?从假连接到DNS的排查指南

家里WiFi连上了却上不了网,这个问题我遇到过太多次了,从帮亲戚朋友远程排查到处理自己家的网络,前前后后少说解决过几十例。今天就把处理这类问题的完整思路和具体操作整理出来。这个现象有个专门的称呼叫“假连接”——设备显示连着WiFi&… · 2026/9/23 5:16:17

Flutter pro_mpack鸿蒙适配与性能优化实践
Flutter pro_mpack鸿蒙适配与性能优化实践

1. 项目背景与核心价值在鸿蒙生态快速发展的当下,跨平台开发框架与本地系统的深度适配成为开发者关注的重点。pro_mpack作为Flutter生态中高效的二进制序列化库,其鸿蒙化适配对于需要处理海量数据的应用场景具有显著价值。实测数据显示,相比J… · 2026/9/23 5:16:17

Java数组核心知识全解析:从内存本质到算法实战
Java数组核心知识全解析:从内存本质到算法实战

数组在Java里的地位很微妙。你说它简单吧,其实任何一门编程语言的数据结构课,都是从数组讲起的;你说它难吧,但你看面试里那些“熟面孔”——冒泡排序、数组去重、二维数组、数组转字符串、双指针区间求最值,本质上全是… · 2026/9/23 5:16:17

大模型推理优化实战:量化、蒸馏与部署落地指南
大模型推理优化实战:量化、蒸馏与部署落地指南

1. 推理优化与部署的整体思路拆解1.1 为什么推理优化是模型落地的第一道门槛训练一个大模型,动辄几十上百张卡跑几周,但真正决定一个模型能不能用起来、用得起、用得稳的,其实是推理阶段。我见过太多团队,模型训得漂漂亮亮&#x… · 2026/9/23 5:16:11

CNN卷积神经网络实战:LeNet-5与AlexNet训练、保存与识别全流程
CNN卷积神经网络实战:LeNet-5与AlexNet训练、保存与识别全流程

简介:一套基于Python实现的CNN卷积神经网络训练与识别项目,面向希望掌握深度学习图像分类技术的初学者和进阶开发者,围绕MNIST手写数字与CIFAR-10彩色图像两个经典数据集,完整解决从模型设计、参数训练到准确识别评估的全流程。压… · 2026/9/23 5:16:11

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码