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

推荐订阅源

Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
GbyAI
GbyAI
月光博客
月光博客
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
F
Full Disclosure
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
博客园 - Franky
V
V2EX
Recorded Future
Recorded Future
WordPress大学
WordPress大学
小众软件
小众软件
Webroot Blog
Webroot Blog
雷峰网
雷峰网
Vercel News
Vercel News
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
W
WeLiveSecurity
S
Schneier on Security
博客园 - 三生石上(FineUI控件)
K
Kaspersky official blog
F
Fortinet All Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Spread Privacy
Spread Privacy
博客园 - 叶小钗
罗磊的独立博客
D
Docker
Forbes - Security
Forbes - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Register - Security
The Register - Security
A
About on SuperTechFans
B
Blog RSS Feed
I
InfoQ
T
Tailwind CSS Blog
G
Google Developers Blog
H
Help Net Security
V
Vulnerabilities – Threatpost
AWS News Blog
AWS News Blog
N
News and Events Feed by Topic
M
MIT News - Artificial intelligence
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
MyScale Blog
MyScale Blog
Latest news
Latest news

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

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