DGND3700 1.1.00.15_1.00.15NA固件解包逆向漏洞定位

分析如下漏洞:

https://www.cve.org/CVERecord?id=CVE-2025-4980

整体步骤在ubuntu22.04下完成

  1. 下载固件

https://kb.netgear.com/23510/DGND3700v2-Firmware-Version-1-1-00-15-NA-Users

下载到一个zip包:DGND3700v2h1_V1.1.00.15_1.00.15_NA.zip

  1. 解压压缩包
shell 复制代码
unzip DGND3700v2h1_V1.1.00.15_1.00.15_NA.zip

解压后得到img文件:DGND3700v2h1_V1.1.00.15_1.00.15_NA.img

  1. binwalk提取img
shell 复制代码
binwalk -e DGND3700v2h1_V1.1.00.15_1.00.15_NA.img

得到如下文件夹:_DGND3700v2h1_V1.1.00.15_1.00.15_NA.img.extracted

文件夹中含有如下文件:200.zip, DGND3700v2.bin

  1. binwalk提取bin
shell 复制代码
binwalk -e DGND3700v2.bin

输出:

shell 复制代码
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
16314         0x3FBA          Sercomm firmware signature, version control: 0, download control: 256, hardware ID: "ABL", hardware version: 0x4100, firmware version: 0x15, starting code segment: 0x0, code size: 0x7300
16384         0x4000          JFFS2 filesystem, big endian

提取后的内容存储到如下文件夹

复制代码
_DGND3700v2.bin.extracted/

文件夹中即是从固件中提取到的文件(整个文件系统):

shell 复制代码
(base) ubuntu@ubuntu:/tmp/_DGND3700v2h1_V1.1.00.15_1.00.15_NA.img.extracted$ ll _DGND3700v2.bin.extracted/
total 31740
drwxrwxr-x  3 ubuntu ubuntu     4096 Jun 18 21:34 ./
drwxrwxr-x  3 ubuntu ubuntu     4096 Jun 18 21:34 ../
-rw-rw-r--  1 ubuntu ubuntu 32489472 Jun 18 21:34 4000.jffs2
drwxrwxr-x 12 ubuntu ubuntu     4096 Jun 18 21:34 jffs2-root/
(base) ubuntu@ubuntu:/tmp/_DGND3700v2h1_V1.1.00.15_1.00.15_NA.img.extracted$ ll _DGND3700v2.bin.extracted/jffs2-root/
total 1796
drwxrwxr-x 12 ubuntu ubuntu    4096 Jun 18 21:34 ./
drwxrwxr-x  3 ubuntu ubuntu    4096 Jun 18 21:34 ../
-rwxr-xr-x  1 ubuntu ubuntu  253680 Jun 18 21:34 cferam*
drwxrwxr-x 10 ubuntu ubuntu    4096 Jun 18 21:34 config/
drwxrwxr-x  2 ubuntu ubuntu    4096 Jun 18 21:34 dev/
lrwxrwxrwx  1 ubuntu ubuntu       9 Jun 18 21:34 etc -> /dev/null
drwxrwxr-x  2 ubuntu ubuntu    4096 Jun 18 21:34 home/
-rwxr-xr-x  1 ubuntu ubuntu       4 Jun 18 21:34 kernel_cksum*
drwxrwxr-x  4 ubuntu ubuntu    4096 Jun 18 21:34 lib/
drwxrwxr-x  2 ubuntu ubuntu    4096 Jun 18 21:34 mnt/
drwxrwxr-x  2 ubuntu ubuntu    4096 Jun 18 21:34 proc/
lrwxrwxrwx  1 ubuntu ubuntu       9 Jun 18 21:34 sbin -> usr/sbin//
drwxrwxr-x  2 ubuntu ubuntu    4096 Jun 18 21:34 sys/
drwxrwxr-x  2 ubuntu ubuntu    4096 Jun 18 21:34 tmp/
drwxrwxr-x  8 ubuntu ubuntu    4096 Jun 18 21:34 usr/
lrwxrwxrwx  1 ubuntu ubuntu       9 Jun 18 21:34 var -> /dev/null
-rw-r--r--  1 ubuntu ubuntu 1514158 Jun 18 21:34 vmlinux.lz
lrwxrwxrwx  1 ubuntu ubuntu       9 Jun 18 21:34 www -> /dev/null
drwxrwxr-x  8 ubuntu ubuntu   20480 Jun 18 21:34 www.eng/
  1. 找到mini_http的位置
shell 复制代码
(base) ubuntu@ubuntu:/tmp/_DGND3700v2h1_V1.1.00.15_1.00.15_NA.img.extracted/_DGND3700v2.bin.extracted/jffs2-root$ find . -name "*http*"
./lib/modules/ipt_http_string.ko
./usr/sbin/rc_app/rc_httpd
./usr/sbin/rc_app/rc_smb_http_en_chk
./usr/sbin/mini_httpd
./usr/etc/mini_httpd.pem
  1. 对mini_http逆向

参考原始漏洞分析文章

用IDA定位到相应的位置

该漏洞的原理是:Netgear使用mini_http来处理HTTP请求,当访问currentsetting.htm时,全局变量dword_41EF20会被设置为1,以此将该页面标记为特殊页面。

至此,完成一次该固件的逆向与漏洞定位。

相关推荐
吉吉617 小时前
浅谈文件包含之伪协议
安全·web安全
吗喽1543451887 小时前
渗透高级第一次作业(笔记整理)
笔记·安全·网络安全
Jerry_Gao9218 小时前
【成长笔记】【web安全】深入Web安全与PHP底层:四天实战课程笔记
笔记·安全·web安全·php·漏洞
遗悲风8 小时前
PHP伪协议全面解析:原理、常用场景、攻防实战与安全防护
android·安全·php
弥生赞歌9 小时前
网安学习第一章(安全事件、安全厂商和安全产品)
安全
吃不吃早饭9 小时前
深入浅出:HTTPS 安全机制 + PHP 文件包含与伪协议全解析
安全·https·php
摘星编程9 小时前
React Native for OpenHarmony 实战:SecureStorage 安全存储详解
安全·react native·react.js
小北方城市网10 小时前
SpringBoot 集成 MyBatis-Plus 实战(高效 CRUD 与复杂查询):简化数据库操作
java·数据库·人工智能·spring boot·后端·安全·mybatis
w***765511 小时前
临时文件自动化管理:高效安全新方案
运维·安全·自动化
阿里-于怀11 小时前
Nacos 安全护栏:MCP、Agent、配置全维防护,重塑 AI Registry 安全边界
安全·ai·nacos·agent