1、下载D-Link DIR-100固件
下载链接:ftp://ftp.dlink.eu/Products/dir/dir-100/driver_software/DIR-100_fw_reva_113_ALL_en_20110915.zip
2、使用binwalk -e解包
image查看解压后的文件,发现squashfs-root文件夹下内容为空,并且存在另一个squashfs文件
说明:squashfs-root文件夹下内容为空的问题是由于sasquatch安装的有问题导致的,可以通过重新安装sasquatch解决,参考:https://www.jianshu.com/p/29c99274ff85,具体如下:
<meta charset="utf-8">
百度了一下,在这篇文章中找到答案binwalk WARNING: Extractor.execute failed to run external extractor 'sasquatch -p 1 -le -d '%%squash
需要安装sasquatch:
安装地址位于:
https://github.com/devttys0/sasquatch
安装步骤
- 打开命令行(或到如下github上手动下载安装)
git clone https://github.com/devttys0/sasquatch
- 安装依赖环境
$ sudo apt-get install build-essential liblzma-dev liblzo2-dev zlib1g-dev
- cd 到clone下来的文件下安装sasquatch
$ ./build.sh
之后,再进行binwalk解压,终于成功。
image作者:飞熊先生
链接:https://www.jianshu.com/p/29c99274ff85
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
解压出来的文件主要有两类,可以查看文件夹下内容来具体区分查看
- 路由器二进制可执行文件,通常在bin sbin 文件夹下
- 路由器web端文件,通常在htdocs web webs www文件夹下
3、静态分析,将bin/webs二进制程序载入idapro中
在strings window中找到一个有趣的字符 thttpd-alphanetworks/2.23
这是一个嵌入式设备常用的小型http服务器,特点是其中的函数都是以alpha_开头
image4、在functions window窗口中找alpha_开头的函数,发现一个疑似登录认证的函数 alpha_auth_check
image5、分析此函数,找到几个比较有趣的地方
image image- 存在strstr字符串子串函数,比较的 graphic/、public/ 是路由器的子文件
- 存在一个硬编码,疑似后门
- 存在strcmp字符比较函数
- 存在check_logined登录验证函数
6、根据上下文分析代码,存在如下逻辑:
- 0xB8($S0)字符中是否有 graphic/、 public/ 子串
- 0xD0($S0)字符跟硬编码字符串进行strcmp比较
- 0xC(S0)代码进行check_logined操作 很可能是用户名和密码或是cookie,session等
7、仔细观察check_logined登录验证图 可以看到明显的登录绕过可能性 —-> 当strcmp字符串比较匹配时
image初步结论: 此硬编码很可能就是预留的路由器后门
8、哪一个参数跟此字符串比较?
函数交叉调用关系
image- httpd_parse_request
- alpha_httpd_parse_request
- alpha_upload
- alpha_auth_check
根据$S0偏移量0xD0进行字符查找
image根据函数调用关系和字符查找,发现可能的赋值代码处
image9、双击进入定位到偏移代码处
image根据跳转关系向上查找到调用处
image传入的参数是 User-Agent?
目前还不确定,分析到此有个初步结论
结论:
访问站点时设置 User-Agent: xmlset_roodkcableoj28840ybtide 就可以绕过登录验证过程
PS:
后门字符串倒置 edit by 04882joel backdoor _teslmx 更加怀疑是后门
10、对漏洞进行验证
使用shodan查找使用此后门漏洞缺陷的D-Link路由器,例如型号 DI-524UP
image找到一个站点** http://93.184.71.88:8080**
访问此站点,使用Burpsuite抓包修改User-Agent的值
image会有个重定向到Home/h_wizard.htm页面,记得此处还需要修改 User-Agent值
imageforward值之后,就可以查看到 /Home/h_wizard.htm的页面了
image成功绕过了登录认证过程
探索路由器后台功能,例如查看有哪些设备连接了此路由器,可以直接查看DHCP
image至此,我们证明了D-Link路由器存在的后门漏洞以及如何进行利用
网友评论