Discuz 论坛被黑溯源分析 – 作者:6265113

事件介绍:

上周六下午正在看《复仇者联盟4》刚好看绿巨人摔摩托车,突然接到客户电话说他们论坛好像被黑了,在论坛页面点击点评、回复等一系列按钮时会随机被劫持到非法网站。感觉事态比较严重赶紧洗把脸开始干活。

1623222838_60c06a369148fd65e5062.jpg!small

如上图:点击几处后被随机劫持

劫持分析

现状描述:

1、在页面点击按钮后,几乎没有任何等待就跳转到非法网站。

2、tid 参数大于 3 万(int类型)时,才会接触跳转。

3、tid 参数小于 3 万时,尝试修改其他任何参数,均不会跳转。

4、以查看源代码的形式访问网站,直接跳转到目标网站。

推测分析:

1、点击页面后,直接跳转到非法网站(之前遇到需要加载等待几秒钟),实现这类劫持很可能在 nginx 上做劫持。

2、nginx 上获取 tid 参数,在去判断参数的大小,又不劫持网站收录,没有重定向到目标网站,在nginx实现这个功能太鸡肋了。

3、如果在应用程序本身实现这个功能,代码执行的优先肯定会很高,基于这个考虑我优先排查入口文件是否存在恶意代码。

验证思路:

1、查看 index.php 入口文件。

# 查看文件
vim index.php
# 查看结果: 正常

2、通过关键词查找当前项目下所有PHP文件是否存有目标网站域名。

# 搜索命令 
# 目标网站: https://www.bodan.tv/
# 仅搜索 php 文件,通过跳转的速度、源代码查看判断不会是在 js 里面做跳转
# 论坛好多年了,资料非常大不指定文件类型,扫描时间会非常久
grep -r 'bodan.tv' ./ --include=*.php 

# 搜索结果: 无

3、查询当前项目所有使用 base64 加密函数的代码片段。

# 搜索命令
# 推测黑客可能加密PHP代码,黑客经常这么干
grep -r 'base64' ./ --include=*.php

# 搜索解密结果: 无

4、反问自己如果我是黑客,如果实现这种方法,如何做反溯源?

# 1、加密php代码
# 2、引入非 PHP 文件, 执行 PHP 代码
# 3、引入非当前项目目录、非 PHP 文件执行 PHP 代码
# 4 .......
# 经过多次验证最终发现,在 config/config_global.php 文件中引入了非法文

图片[2]-Discuz 论坛被黑溯源分析 – 作者:6265113-安全小百科

恶意代码:

PHP 实现逻辑比较简单不做具体分析。

入侵途径:

为了保护客户隐私,以及减少危害进一步扩大不在赘述(也偏离了本次文章的主题)。

溯源总结:

这种引入非项目目录非PHP文件的恶意代码,是很难通过扫描或者安全软件检测到,在这种基础上在做加密,静态扫描几乎无能为力,除非动态检测。一般动态检测只打包项目文件所以这种思路就容易逃脱检测。

来源:freebuf.com 2021-06-09 15:27:06 by: 6265113

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论