找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 68|回复: 0

【iotsec-zone】tendaCP3摄像头分析-2

[复制链接]

2万

主题

128

回帖

10万

积分

管理员

积分
105851
发表于 2022-9-23 16:08:37 | 显示全部楼层 |阅读模式 IP:山东省 移动/数据上网公共出口

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
tendaCP3摄像头分析-2


上次的坑来填了

之前没有系统学习过网络编程,花了一周时间把tinyhttpd的源代码阅读理解了一下,并且仿照用python写了一个简易的httpd,可以看我另一篇文章

noodles服务分析

通过分析发现noodles监听了1300端口

启动

sudo chroot . ./qemu-arm-static ./usr/bin/noodles

可以使用nmap来查看是否监听1300

可以看到1300端口已开放,并且noodles也对nmap有反应了

静态分析

对于程序的静态分析,可以从main函数来正向递进分析,也可以从一些字符串来分析,又或者从一些关键函数

这里通过nmap扫描时noodles的打印来查找

通过交叉引用发现在FUN_00011878函数中存在相关信息。

创建并监听1300端口

等待用户连接

获取client传进来的内容

主要内容处理在下面相似的内容处

1300端口大概做了这些事情

参数有一下几种

UPGRADE

BURNMAC

ELFEXEC

SYSTEM

SYSTEMEX

DOWNLOAD

UPLOAD

FLASHDUMP

BURNSN

READSN

WRITEENV

READENV

fun_00014f90()函数

三个参数分别为从client传入的内容,字符串,0

这里是xml参数处理。

成果

这里出了一个代码注入和一个设备重启

设备重启

设备重启是利用了代码问题,更像是设计时不严谨导致的

当标签中含有upgrade时,会运行到FUN_000146f4函数,执行完毕后必然会执行到FUN_00016b90函数来使设备重启。

只需要运行到此处,脚本会使设备重启

代码注入

这里更像一个后门,直接在 FUN_000140b4函数中发现,如果<system></system>中的参数不是iwlist便会直接使用system执行

这里就不贴poc了,诸位可自行测试


转自:iotsec-zone






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|IOTsec-Zone|在线工具|CTF WiKi|CTF平台汇总|CTF show|ctfhub|棱角安全|rutracker|攻防世界|php手册|peiqi文库|CyberChef|猫捉鱼铃|手机版|小黑屋|cn-sec|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2024-5-12 05:54

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表