一次对个人服务器入侵事件的调查

这一切还要从我收到的通知邮件:“Your server is sending spam”说起。首先要说的是,这台服务器是用来运行之前项目的静态网站,并不保存关键信息。由于不经常使用,即使有Joomla和WordPress这样的高危程序,我都懒得忘记定期更新了。这可能就是导致被入侵的原因。

1 通知邮件

经过一夜的狂欢聚会后,我收到了服务器提供商OVH的通知邮件,邮件告知我的服务器成为了垃圾邮件发送源,其中还提及了一些细节:

KenaGard是我之前创建的公司,现在已经不运行了,但是基于Joomla的公司网站www.kenagard.com仍然可以访问,并且使用的还是老版本的Joomla!我想问题有可能就出在Joomla上。

Joomla的问题

我立即进入网站目录查看可疑情况:

最后两行是我之前执行过的合法操作,之后的操作就不得而知了,我想我的服务器已经变成瑞士奶酪了!

入侵行为可能发生于2016-02-25、2016-02-29、2016-08-21三个时间点的操作。

探究入侵操作

2016-08-21的入侵操作中包含了文件jtemplate.php

该PHP文件是经过加密的代码,经过UnPHP解密之后可以看到部分信息:

实际上,上述代码的功能如下:

Base64str_rot13为加密混淆函数,起到逃避安全软件和迷惑分析的作用。assert函数在这里,它被当成一个提权命令来使用,用来上传攻击载荷和其它黑客工具。PHP一句话木马!

探究入侵深度

在该网站设置中,只有www-data用户组才能执行php代码文件。而且,我发现很难通过apt方式来安装软件,所以想要更新系统也变成了一件几乎不可能的事了!现在,好像整个服务器已经不属于我的了!另外,我很难发现攻击者的提权操作痕迹,所以,只能通过日期和ps aux命令来查看系统异常。

另外,我还发现了第四条关于WordPress的异常操作,虽然不能确定攻击者意图,但是看上去仍属于入侵操作。而且网站系统内每个目录文件夹内都有类似文件:logo_img.php, images/mbaig/emkwg.php, dir32.php, .htaccess

其中某个文件不仅用来执行远程代码,还向远程地址4lmbkpqrklqv.net发送信息,经查询,域名4lmbkpqrklqv.net归属一位乌克兰人Nikolay Pohomov所有。

2 解决方法

啊,在那分钟,我真想砸了这台机器!升级Joomla,升级WordPress, 格式化,重装….,天哪,饶了我吧,我哪有这么多时间。所以我决定采取一些保守的安全解决对策。

停止向外发送垃圾邮件

ps aux命令显示了很多垃圾邮件发送进程,使用以下命令来终止:

ps aux|grep -v grep|grep sendmail|awk {print $2} | xargs kill -9

清空邮件发送队列

rm /var/spool/mqueue/*

禁止CMS系统POST数据提交

因为该系统网站已经停止更新了,所以禁止POST方式,能简单阻塞攻击者提交的数据。在nginx中简单进行以下配置:

最后,别忘记服务重启命令service nginx reload

清除攻击者后门

禁止POST方式不能完全堵塞攻击者通道,你必须清除攻击者在系统上留下的相关黑客工具和文件。

3 其它信息

通过日志分析,发现进行jtemplate.php操作的IP为乌克兰IP185.93.187.66,但是,貌似这个IP没有提交过POST数据。

另外,我还发现一个可能属于Amazon的可疑IP的操作:

因此,我决定把目录/administrator (Joomla!) 和/wp-admin (WordPress)用以下方式做限制访问。最后,别忘记重启命令service nginx reload

4 总结

由于我不是专业的安全人士,对于这些经常不更新的老旧系统,我能想到唯一防止黑客攻击的方法可能就是使用Docker了。

以下是网友对我这篇博客的一些评论:

你的服务器已经被入侵了,所以请别用家庭电脑远程连接来处理这类安全事件 在重装系统过程中使用默认配置 可以使用恶意程序检测工具Linux Malware Detects和脚本ctimer.php 在防火墙上开启仅系统所需的端口

*本文编译:clouds,编译来源:thedarkside,未经许可禁止转载

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-09-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

32764端口后门重出江湖,影响多款路由器

在年初的时候已经发布关于秘密后门——“TCP 32764”的报道,利用该后门漏洞,未授权的攻击者可以通过该端口访问设备,以管理员权限在受影响设备上执行设置内置操...

2149
来自专栏知识分享

邪恶改装:TPYBoard制作廉价WIFI干扰器

转载请注明:@小五义http://www.cnblogs.com/xiaowuyi

1857
来自专栏SAP梦心的SAP分享

【SAP业务模式】之ICS(七):IDOC配置

     这是ICS业务模式系列的最后一篇了,主要讲解IDOC的配置。      一、指定EDI传输的供应商逻辑地址      事务代码:WEL1 ?     ...

2097
来自专栏月色的自留地

在龙芯小本上安装Debain8.10

2084
来自专栏区块链

我们不一样的黑客渗透教程第三课,CVE20177269实战测试

很多人想学黑客知识,却不知如何入门,网上的教程也太繁琐,小白看了也头疼,那还是我来写黑客系列入门教程吧,跟着我做,你能黑客入门的。我已经写了两篇了,第1篇在 《...

3356
来自专栏沈唁志

一个PHP文件搞定微信H5支付

3.5K6
来自专栏Golang语言社区

【Go 语言社区】linux常用网络服务端口一览表及详细分析

端口号码 / 层 名称 注释 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服...

3917
来自专栏农夫安全

信息安全面试题---(渗透测试工程师-1)

前言 本帖提供一些渗透测试工程师面试基础题目,有需要的小伙伴可以收藏 1.拿到一个待检测的站,你觉得应该先做什么? 0x01 面试题目 · 收集信息 whoi...

9536
来自专栏安恒信息

关于最新Struts2 S2-045漏洞修复措施的几点重要说明

近日,安恒信息安全研究院WEBIN实验室高级安全研究员nike.zheng发现著名J2EE框架Struts2中存在远程代码执行的严重漏洞。目前Struts2官方...

2644
来自专栏拂晓风起

浅谈HTML5单页面架构(一)——requirejs + angular + angular-route

2072

扫码关注云+社区

领取腾讯云代金券