联通光猫管理员密码分析(HG220GS-U)
联通光猫管理员密码分析,不安全的密码方案
联通光猫型号:HG220GS-U
软件版本:E00L3.03
运营商一直在做光猫防破解,对抗升级还是比较快的,所有的分析结论都和版本绑定的,因为运营商或者路由器的开发商看到后可能立马就改了。
我自己主要是要改为桥接,这个需求其实打联通的保修电话让局端改一下应该就能搞定。不过之前看过一两个老版本的教程,也照葫芦画瓢破解成功了,但我手上的这个版本有点麻烦,现有的教程基本都失效了。有点好奇,这次花点时间仔细看了一下,不过这次被某些人打击得比较厉害,说果然是IT狗云云,只知道和代码过不去。都云作者痴,谁解其中味!
这个光猫,先要用普通的user用户和印在光猫背面的密码登录进去,然后改链接为http://192.168.1.1/servmngr.html,在这个页面中把管理员帐号enable,telnet、ftp服务也enable了,注意只针对LAN这一侧开放访问。telnet服务的默认用户名和密码都是admin。进入telnet后运行sh就是普通的shell界面。这些是在网上仔细搜能搜到的。
既然telnet、ftp权限都有了,那就把文件拿出来分析好了。最后要分析的是下面三个文件,关键函数是cgiAuthAdminPassword(),点到为止,有兴趣的可以自己看看。话说Ghidra对MIPS的反编译还是可以看的。新版的IDA 7.5虽然支持MIPS反编译,不过我没有。
/bin/httpd
/lib/public/libcms_util.so
/lib/public/libaes.so
下面是根据光猫MAC地址计算CUAdmin这个用户的密码。EPON的猫需要用其base MAC,也就是“设备基本信息”那个页面中看到的MAC/SN的值,大写。可以看出这个计算很简单,就是用零补齐后AES加密。EPON类型的光猫,这个密码和area code也有关。GPON类型的光猫,则是用其serial number计算的,此处未体现。所以光猫的WEB端口千万不要针对WAN一侧开放,否则被探测出MAC地址的话,有可能随便被人访问。LAN侧如果是很多人能访问的光猫,也得小心。本质上光猫的这个管理员密码设定是不安全的,虽然是一机一码,然而却是确定的,重复一次:这个密码方案是不安全的!
所幸的是,管理员CUAdmin账户默认没开启,需要用一机一码的user帐号登录进去后才能开启。至于user帐号的密码,有待分析。
#include <stdio.h>
#include <atlstr.h> #include <openssl/aes.h>
#pragma comment(lib, "libeay32.lib") static const unsigned char encryptionKey[] = "JmpwfGjcfsjpnfJmpwfGjcfsjpnf0000"; void Encrypt(unsigned char *in, size_t inLen, unsigned char *out, size_t &outLen)
{
AES_KEY aesContext; AES_set_encrypt_key(encryptionKey, , &aesContext); outLen = ;
for (size_t k = ; k < inLen; k += AES_BLOCK_SIZE, outLen += AES_BLOCK_SIZE)
{
unsigned char padded[AES_BLOCK_SIZE] = {};
memcpy(padded, &in[k], (k + AES_BLOCK_SIZE) < inLen ? AES_BLOCK_SIZE : inLen - k);
AES_ecb_encrypt(padded, &out[k], &aesContext, AES_ENCRYPT);
}
} int main(int argc, char** argv)
{
static unsigned char mac[] = ""; constexpr size_t insize = sizeof(mac) - ;
constexpr size_t remain = insize % AES_BLOCK_SIZE;
constexpr size_t outsize = remain ? insize - remain + AES_BLOCK_SIZE : insize; unsigned char out[outsize] = {}; size_t outlen = ;
Encrypt(mac, sizeof(mac) - , out, outlen); CString passwd;
for (size_t k = ; k < outlen; ++k)
{
CString t;
t.Format(L"%02X", out[k]);
passwd += t;
} _tprintf(_T("password for CUAdmin: %s\n"), (LPCTSTR)passwd);
}
联通光猫管理员密码分析(HG220GS-U)的更多相关文章
- 搭建自己私有的PKM系统,各家PKM大比拼。。附:构建自己熟悉的基础Docker,破解联通光猫
Docker这容器真是很好玩!干啥都想上docker了,快疯了. 这不,最近wiz笔记开始收费,很是不爽,需要寻求新的PKM系统了.备选及落选理由如下: wiz笔记 -- 好用,顺手.要开始收费了,不 ...
- 北京联通光猫 F427 路由改桥接的方法
最近安装了一个联通的宽带,赠送的光猫是 中兴 F427,然后联通小哥给安装的时候,直接开启了光猫的路由功能. 不过联通这个光猫实在是太弱了,起码默认的帐号开启的功能实在是太弱了,没法完成以下几个功能: ...
- 北京联通光猫WO-36(HG220GS-U)改为桥接模式
家里弄了个极路由,想在公司里去操作路由器,交换文件.提前下载电影什么的,因此需要光猫改为桥接模式,让路由器拨号 由于WO-36(HG220GS-U)这个型号的光猫固件升级后(我的是3.x)不能用工程账 ...
- 华为HG8240光猫-破解-联通-2016-telnet-http
序 我与大家想法基本一致,拿到联通的光猫后,心想它应该是个路由器吧,如果让它自己拨号上网就好了,即省一台路由器,又省电了.抱着这个想法,在2013年里,我搜罗了不少文章,经过Q群,搜索,询问,阅读,理 ...
- 联通光纤上网配置+华为HG8240光猫+TL-WR842N
最近搬家改用北京联通宽带,光纤入户的那种.联通送的光猫是华为HG8240,没看到天线,应该是不带无线路由.然后自己再买了个TP-Link的TL-WR842N,用来组局域网,也供ipad.kindle. ...
- 联通友华通信光纤猫PT952G设置无线路由光猫桥接拨号
#0x1 登陆后台,点击网络,点击宽带设置.选择第二个接口. 0x2 只修改模式,改成Bridge,其他无需修改.然后直接接路由器拨号就行,或者电脑都行. 0x4 恢复默认拨号,这样修改以后,直接连 ...
- 中兴F412光猫超级密码破解、破解用户限制、关闭远程控制、恢复路由器拨号
不少家庭都改了光纤入户,那肯定少不了光猫的吧.今天以中兴F412光猫为例介绍下此型号光猫超级密码的破解方法.一.F412超级密码破解方法1.运行CMD,输入telnet 192.168.1.1: 2. ...
- 成功获取并更改中兴F660光猫的超级用户密码解除四台限制
上次雷雨后更换的中兴的F660光猫还是很不错的,很稳定,不过超级密码确实记不住,找了些资料,今天成功的更改了密码,简要的写出过程以备下次参考: 第一步:获取超级密码(已知用户名telecomadmin ...
- 中国电信中兴F460光猫破解及路由级联设置
http://blog.csdn.net/pipisorry/article/details/50636541 中国电信中兴F460光猫破解,获取超级密码,修改配置. 之前家里的宽带升级了,换成了光纤 ...
随机推荐
- 09-5.部署 EFK 插件
09-5.部署 EFK 插件 EFK 对应的目录:kubernetes/cluster/addons/fluentd-elasticsearch $ cd /opt/k8s/kubernetes/cl ...
- vue+elementUI实现权限的部门管理
回头看写过的项目,发现以前感觉有难度的地方,现在想想很简单,在此记录一下,不对的地方欢迎吐槽!!! 复制代码 1.实现效果 2.需求分析 主要用于平台各个部门不同权限的操作,将指定的账号放到对应的权限 ...
- CUDA编程学习相关
1. CUDA编程之快速入门:https://www.cnblogs.com/skyfsm/p/9673960.html 2. CUDA编程入门极简教程:https://blog.csdn.net/x ...
- Android 开发技术周报 Issue#278
新闻 Pixel 4a渲染图曝光:或能成新款iPhone SE有力竞争者 Google Play商店为预注册的游戏和应用提供自动安装功能 Android最强单摄Pixel 4a样张曝光:1200万像素 ...
- js递归实现方式
定义: 递归函数就是在函数体内调用本函数: 递归函数的使用要注意函数终止条件避免死循环: 递归实现形式: 1.声明一个具名函数,通过函数名调用 function f(a){ if(a<=1){ ...
- 第一个Vue-cli
第一步下载node.js https://nodejs.org/zh-cn/ 安装成功后 在cmd 输入 node -v 看看能不能打印出来 在cmd 输入 nmp-v 看看能不能打印出来 全局安装 ...
- Coursera课程笔记----C程序设计进阶----Week 1&2
C程序中的函数(Week 1&2) 函数 函数的定义 对函数的普遍认识:y=f(x) C语言中的常用函数: 平方根: r = sqrt(100.0) 底数x的y次幂:k = pow(x,y) ...
- thrift的使用
简介 thrift 原来是facebook的rpc框架,根据数据结构和接口描述生成多种语言的接口,方便使用多种语言进行开发,详细信息这里不再赘述,下文以一个简单的代码(C++)示例来介绍使用方法. 示 ...
- OpenWrt R2020.3.11 去广告 抗污染 加速 PSW 无缝集成 UnPnP NAS
近期更新:OpenWrt R2020.3.11版本2020.03.16编译. 按大家要求,新发布固件携带了编译时用到的全部软件包 加入了国内域名加速解析脚本 解决了原去广告,DNS优化方案与PSW冲突 ...
- 【Scala】什么是隐式转换?它又能用来干嘛?该怎么用
文章目录 定义 隐式参数 隐式转换 隐式值:给方法提供参数 隐式视图 将Int和Double类型转换为String 狗狗学技能(使用别的类中的方法) 使用规则 定义 隐式参数 隐式参数指在函数或者方法 ...