记录并浅析一次服务器被黑事件
云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
一.基本情况
偶然发现一台web服务器很怪异,其网站页面上增加了一堆外文的页面链接,点击一篇进去之后,内容如下图所示:
该网站是中文网站,绝不可能存在上述的页面内容,同时页面中嵌入一堆的JS代码。很明显,该网站已经被黑,为避免遭受进一步的危害,紧急采取措施让服务器下线。由于该台服务器部署于单位异地远程机房,下线后无法直接对服务器进行分析,只是采取远程协同分析日志文件的方式(拿到一些web日志文件,以及一些异常PHP文档),因此无法实施深入分析。
服务器是windows系统,使用Apache作为web服务器,网站基于PHP+WordPress开发。服务器基本情况:
二.页面简单分析
上图中的JS代码如下表所示:
经过简单分析,很明显上表中的这段代码应该是攻击者的XSS跨站漏洞利用代码,主要用于获取访问该页面的用户的cookie信息,根据函数名称getCookie也很容易得知其功能。
上述代码中base64加密部分解密后后内容如下:
可知,攻击者XSS服务器为193.238.46.57,地址查询如下图所示,目前该页面无法访问。
三.日志分析
1、access.log日志
分析该日志,发现了密码暴力猜解记录、漏洞攻击历史记录、wordpress登陆操作、网页爬虫等记录。
a) 大量暴力破解或DDOS攻击报文
通过查看日志发现,每天有大量的IP访问wordpress网站xmlrpc.php文件。利用POST方式提交发送数据,由于日志中无法看到POST数据报文内容,猜测应该是用于暴力密码穷举;wordpress管理登陆接口做了防暴力破解防护,利用xmlrpc.php接口可以绕过上述登陆限制,可以通过post数据到xmlrpc.php进行密码破解尝试,该行为也导致服务器资源损耗严重。
b) 大量漏洞攻击记录
日志中同样发现大量的漏洞攻击记录,尤其是对ThinkPHP5远程代码执行漏洞的利用尝试,说明恶意网络攻击行为很频繁。下表是服务器一天中遭受漏洞攻击的情况:
提取恶意URL列表如下:
c) Wordpress登陆操作
从access.log 中发现了一些Wordpress后台管理成功登陆的操作,说明Wordpress的账户密码已失陷,根据时间和登陆IP判断不属于管理员。同时这些操作重复次数多,且发生操作的IP也不定,因此怀疑本台服务器的攻击者不止一个,可能是遭受多个自动化的网络攻击行动所致。
d) 网页爬虫记录
分析一天的日志文件,从中发现了如下的爬虫信息,如下表所示,其中SEMrushBot和头条爬虫在这一天中最为活跃。
对于网站运营者来说,发现网站被黑后采取措施对被黑服务器系统进行清理。但是其实由于“搜索引擎爬虫”的不辞辛劳的卖力干活,其实网站被黑的页面已被爬取并留存证据。
2、error.log日志
查看error.log发现了一些问题,比如大批量的错误提示在一堆怪异英文名字命名的PHP文件中“找不到“check_is_bot.php”文件,最早出现的提示是2018年1月20日,说明服务器早在2年前就已经被黑,如下表:
于是,跑到C:phpStudyWWWwordpress2wp-contentpluginsanything-order-by-termsmodules,发现目录下确实多了一堆怪异英文名字的PHP文件。
anything-order-by-terms是一个wordpress插件,通过该插件,可以在管理屏幕上的内置列表中轻松拖放来安排任何帖子类型和术语。(使用者已不知道是否自己安装)
改名下总共有430多个PHP文件以及几十个php.suspected文件,一些php文件名列表如下图所示:
同时,发现这些文件的生成时间是:2018年1月12日15:29分钟。
于是到往前追溯,发现1月12日13:33有异常的错误日志,关联到404.php
此外,在这些目录下面,确实发现check_is_bot.php相关的文件:check_is_bot.php.suspected,同时在目录下也发现了其他的一堆以php.suspected结尾的文件,如下图所示,判断应该是被杀毒软件重命名了。
check_is_bot.php的文件内容如下:
解码后的PHP代码如下图所示:
打开任意一个怪异英文名php文件,发现其实是一个html页面,其中每个页面首部都添加了一段PHP代码,用于包含check_is_bot.php,并且执行一段js代码。如下表所示:
jscs.min.js的内容查看如下:
简单分析代码,先对M5s字符串进行处理,处理的代码如下,即每隔2个字节经过parseInt转换,再转换成字符串,接着调用setTimeout执行。
四.小结
本次分析只是简单记录服务器被黑的情况,由于网站本身对外提供服务功能有限,日常访问使用人数不多,导致运营者基本没有维护管理,从几年都没有发现问题可以看出。相信这种情况,很多单位都存在,有些小网站系统由于一时的业务需要,利用开源框架架设完毕后,功能能用就放着不管了,后续不会投入资源进行更新、维护和管理,甚至都不记得有这个网站系统。随着网络安全监督力度加大,这些容易被忽视的网站很容易出现违法违规情况,如果遭受网络攻击后造成不良影响,可能影响企业的正常经营活动,建议必须投入资源关注:
1、汇总摸清单位所有对外服务器的情况;
2、明确各个服务器使用和管理责任部门和人员;
3、实施网站日常巡查制度;
4、勤更新升级补丁;
5、限制网站后台管理;
6、定期实施网络安全评估;
7、投入资源建设、升级网站安全防护软硬件系统。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK
原文发布时间:2020-03-20
本文作者:cgf99
本文来自:“freebuf”,了解相关信息可以关注“freebuf”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《广东省2020年重点建设项目计划》图表分析
3月5日,省发展改革委官网发布《广东省2020年重点建设项目计划》显示1230个项目,总投资5.9万亿元,年度计划投资7000亿元,安排开展前期工作的省重点建设前期预备项目868个,估算总投资3.4万亿元。 使用Python把重点建设项目清单整理一遍,套上图表进行分析! 全省地区地图情况: 广州深圳佛山占比前3名,中山阳江潮州占比后3名 全省项目关联单位前10名: 大部分都是交通为主! 全省工程和项目情况: 高速公路项目占比比较多 全省投资占比: 其中广州总投资差不多是深圳的翻倍,韶关有点.... 地区关系图: 与广州有关联项目的城市 对比和深圳有关联项目的城市 广州前10名工程比例图: 公路、城市建设、教育占前三 广州前20名项目比例图: 汽车制造、高速公路、城市轨道占前三 其他地区或原图浏览原文链接:https://data.liguangchun.cn/gdbuild/chart.html ps:如有偏差请以官网为标准
- 下一篇
Python 小技巧:如何实现操作系统兼容性打包?
有一个这样的问题:现要用 setuptools 把一个项目打包成 whl 文件,然后 pip install 在 Windows/Linux 两种操作系统上,但是该项目中有一些依赖库只有 Windows 上才有(例如 pywinauto、pywingui、pywinrm),那么问题是,如何实现打包文件的可兼容性安装? 从打包的角度,这个问题的关键还是看 setup.py 和 requirements.txt 文件。 关于 Python 的包构建分发和 setup.py 的使用,这里有篇文章 写得很好,推荐阅读。另外关于 Python 依赖库的管理(requirements.txt),这篇文章 详细比较了 pip、pipreqs、pigar、pip-tools 和 pipdeptree 等工具,也推荐一读。 有一个比较笨的实现方法:维护两份 requirements.txt 文件,分别用来打包,然后分发给不同操作系统去使用。 但是这样会有麻烦:维护两份依赖文件和两种包文件,本身就挺费劲的,而在生成过程中,每次还得对它们改名以作区分(注意包名有一定的规范约束,乱改的话,pip 可能识别不出...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Windows10,CentOS7,CentOS8安装Nodejs环境