一:Tenda AC15 固件模拟与漏洞复现

1.1信息收集

固件名称US_AC15V1.0BR_V15.03.05.19_multi_TD01

  • 默认二进制文件我们需要先对固件进行解包,这里用到工具:binwalk -Me US_AC15V1.0BR_V15.03.05.19_multi_TD01.bin

  • binwalk 是一款强大的 固件分析 工具,主要用于提取和分析嵌入式设备固件(如路由器、摄像头、网络设备等)中的文件和数据,

使用Fimwalker工具收集固件中的信息:

Firmwalker 是一个自动化的固件分析工具,旨在帮助安全研究人员快速发现固件中的文件系统、内存映像和潜在漏洞。

1
2
3
4
./firmwalker-pro-max.sh ~/Desktop/Firm/_US_AC15V1.0BR_V15.03.05.19_multi_TD01.bin.extracted/squashfs-root/ > AC15.txt ##使用Fimwalker查找squashfs-root路径的所有信息并输出到txt里。
```c++
./firmwalker-pro-max.sh ~/Desktop/Firm/_US_AC15V1.0BR_V15.03.05.19_multi_TD01.bin.extracted/squashfs-root/ > AC15.txt ##使用Fimwalker查找squashfs-root路径的所有信息并输出到txt里。

**这里发现Tenda的web服务是httpd启动的

我们去看一下httpd文件的头信息,发现是ARM小端架构。

readelf 是一个用于分析和查看ELF(Executable and Linkable Forat)文件格式内容的命令行工具,常用于提取ELF文件的头信息、段信息、符号表和调试信息等。

Checksec分析一下

Checksec是否启用了各种安全功能,如栈保护(Stack Canary)、地址空间布局随机化(ASLR)、位置独立执行(PIE)、禁用执行(NX/DEP)等。

**可以看到没有打开NX保护和canary—-#没有启用 **NX(No eXecute)保护,攻击者可以通过执行恶意代码来利用堆栈或堆上的漏洞;而 Canary 保护未开启时,程序容易受到栈溢出攻击,因为栈上的返回地址没有保护。

**这里我们进一步去分析一下启动项