某日志设备漏洞挖掘-从后台RCE到前台RCE

某日志设备漏洞挖掘-从后台RCE到前台RCE

前言

在某次渗透过程中,客户的内网里遇见了一个日志设备,于是便有了后续的RCE漏洞挖掘(在很久之前挖出来的,文章只是提供一个小思路,目前已经通知厂商进行了完全修复)

信息收集

对于设备我们首先要找到它的使用手册,注意几个功能关键点 (网络连通性,日志查看,系统备份,默认口令)

非常幸运,发现目标是存在系统源码下载的,我们下载后本地审计

找到了Web目录,有了源码我们就可以进行PHP代码审计来挖掘更多漏洞,首先先看一下有没有默认密码

这里发现了一个官方教学帖子里有默认的账号密码,我们去登录试试,毕竟后台漏洞挖掘更加轻松

漏洞挖掘

没有更改默认密码,成功登陆到了后台,我们继续从功能点入手挖掘后台漏洞, 看代码后发现 command-html.php 文件比较可疑,传入 cmd 参数到 cmdhandle.php

我们查看 cmdhandle.php 文件

这里没有什么过滤就执行了命令,可能是设备的调试页面,我们直接访问测试

权限也挺高的,我们写入 Webshell文件, 成功拿下

结果过了一段时间再看的时候,连接Webshell

权限就这样没了,不甘心这样,于是继续代码审计尝试挖掘一个前台RCE出来

首先打开代码,先查看配置文件里有什么

这里没有什么关键信息,只能发现一些配置路径和默认的Mysql账号密码,我们再去查看登录认证的方式是什么

可以发现后台功能文件均使用 chksession来认证身份,那我们的目标就需要明确为不存在身份验证的文件
利用命令删除所有包含身份验证的文件

rm -rf $(grep -ril 'chksession()' ./)

删除后文件大幅度减少,就减小了代码审计的时间,通过关键字搜寻命令执行的地方,发现一处完全没有过滤的命令拼接漏洞,username参数为用户可控的参数,并直接拼接到了命令执行部分,导致RCE

传入POST请求

POST /account/sy_addmount.php

username=|id

成功再次拿下设备,同样的无验证命令拼接还有很多处,在后续也全部都提交给了厂商进行修复

  • 发表于 2021-10-28 17:31:53
  • 阅读 ( 8589 )
  • 分类:漏洞分析

0 条评论

请先 登录 后评论
PeiQi
PeiQi

5 篇文章

站长统计