:jsp型webshell被删情况下如何溯源攻击时间

一颗小胡椒2022-07-27 10:25:51

Part1前言

在日常的蓝队溯源工作、感染加密勒索病毒后的应急排查工作中,查找攻击者遗留的webshell是一种常规手段,一旦webshell文件被找到后,可以反推出很多信息,最重要的是能确定攻击者攻击时间,以此攻击时间为轴心开展溯源工作会事半功倍。但攻击者经常会把webshell文件删除,并且清理掉所有的访问日志,这种情况下应该怎么溯源确定上传webshell的攻击时间呢?其实对于jsp型或jspx型webshell来说,还是有办法的,因为java的webshell在编译过程中会生成很多临时文件,一直留存在服务器中。

Part2技术研究过程

首先本地搭建一个tomcat,模拟攻击者行为,上传一个jsp的webshell

接下来模拟攻击者行为,把log111.jsp文件删除掉,那么怎么找到这个shell遗留的蛛丝马迹呢?

查看tomcat中间件的\work\Catalina\localhost_\org\apache\jsp 目录,仍然是可以发现这个shell的编译过程中产生的几个文件的,这3个文件攻击者一般不会删除,也不会更改文件的时间属性。所以,这些jsp型webshell文件在编译过程中生成的class文件的时间属性,往往是比较准确的,而jsp文件的时间属性,很多攻击者会改成与web应用部署一样的时间,去迷惑蓝队工作人员。

原理:客户端访问某个jsp 、jspx文件时,Tomcat容器或者Weblogic容器会将 jsp 文件编译成java文件和class文件,这两份文件均会存储在容器的某个目录中。

如下图所示,可以确定攻击者的攻击时间了:

如果需要进一步验证此文件是正常文件还是webshell文件,就需要使用jadx-gui工具对此class文件进行反编译了。如下图所示,很清楚看到了冰蝎webshell的代码特征。

注:虚拟机环境证明,tomcat中间件即使重启后,这些编译产生的临时文件也是会一直存在的。

接下来在weblogic中间件上进行同样的操作,制作一个war包上传到weblogic环境中:

接下来将log.jsp删除后,试着查看在weblogic中间件下还有什么蛛丝马迹可以查询,发现在/jsp_servlet/目录下,还是有几个webshell编译生成的文件,这里与tomcat中间件不同的是,路径中的/hwr7e2/是随机生成的一个目录,需要根据经验具体问题具体分析:

除此之外,还可以找到上传的war包,一样可以确定攻击时间,一般在这个目录下边:\user_projects\domains\base_domain\servers\AdminServer\upload,即使删掉jsp文件,重启weblogic后,这个war包文件也会一直存在。

Part3总结

  1. jsp、jspx型webshell文件被删除后,可以通过查找编译生成的class文件的方式去确定攻击时间。如果攻击者将webshell时间属性改掉,也可以通过此方法获取真实的攻击时间。
  2. 对于tomcat、weblogic中间件,除非攻击者删除编译生成的文件,否则重启后这些文件也会一直留存在Web服务器中,成为溯源攻击者的一个重要证据。
  3. 即使攻击者非常细心,把这些class文件全部删干净了,那么借助一些取证工具或者专业设备,还是可以溯源出来的,这个将来会专门写一篇文章讲解。


webshelljsp
本作品采用《CC 协议》,转载必须注明作者和本文链接
0x01 前言碰到了一个对外宣传是否安全的站点,但实际测试下来并不安全。不过在这次获取权限的过程中还是有点曲折,记录下来并分享给大家。整个测试过程均在授权的情况下完成,漏洞详细已经提交并通告相关知情。尝试访问后发现不能被解析只能下载。
它的云解决方案包括云产品,数据中心产品和桌面产品等。它包括了 vCenter Server, ESXi 和 vSphere client,是整套虚拟化部署方案的总和。是 vSphere 中最重要的一个组件。而 vSphere client 有更加详细的性能监控,批量更新接管所有 ESXi 系统版本。在 6.0 版本之后,官方已经取消了 C/S 架构的客户端,转而采用了 web 管理平台,又被称之为 vSphere web client。官方推荐将打包好的 Client 与 Server 应用部署在 VMware 自家的 Photon 系统下,其安装包命名为:VMware vCenter Server Appliance,简称为:VCSA。
JSP Webshell的检测工具
2021-12-13 12:04:53
在11月初,我做了一些JSP Webshell的免杀研究,主要参考了三梦师傅开源的代码。然后加入了一些代码混淆手段,编写了一个免杀马生成器JSPHorse,没想到在Github上已收获500+的Star
一款新的webshell管理工具
前两天朋友分享了一个实验靶场,感觉环境还不错,于是对测试过程进行了详细记录。
Spring framework 是Spring 里面的一个基础开源框架,其目的是用于简化 Java 企业级应用的开发难度和开发周期,2022年3月31日,VMware Tanzu发布漏洞报告,Spring Framework存在远程代码执行漏洞,在 JDK 9+ 上运行的 Spring MVC 或 Spring WebFlux 应用程序可能容易受到通过数据绑定的远程代码执行 (RCE) 的攻击
0x01 前言 前几天对自己学校进行的一次渗透测试,由于深信服过于变态,而且拦截会直接封ip,整个过程有点曲折。 期间进行了后缀名绕过,jspx命名空间绕过、获取网站根目录、base64五层编码写入shell等操作。
​云安全风险情报
2023-09-26 13:48:20
当前各行业基础设施和服务向云逐渐迁移,随之而来针对云上资产的攻击也不断出现,掌握云上风险态势成为企业安全的重要环节。腾讯安全基于云原生安全体系,通过实时监测各类针对云上资产的攻击行为,持续感知在野攻击情况。经过安全专家的分析和挖掘,漏洞是攻击链上的重要一环,既能看到“老而弥新”漏洞的自动化批量攻击,也可发现新曝光漏洞开始迅速武器化,此外还涉及一些尚未公开的潜在风险被攻击者利用。
首先这里要分析的应用是eps,即eps.war文件通过之前编写的一个获取spring所有controller的脚本,知道了该controller对应的类:com.hikvision.cms.eps.biz.operation.action.ResourceOperationAction此时发现,具体上传功能是在this.resourceOperationService.uploadResourceOperation这里实现,即ResourceOperationService类下的uploadResourceOperation方法。在uploadResourceOperation方法里,先调用了FileUtils里的uploadFile方法在uploadFile里,获取文件后缀后,该后缀与uuid直接拼接tmpPath的值是/upload/{uuid}.jsp最后通过MultipartFile里的transferTo方法将该文件成功传到服务器上回到ResourceOperationService类下的uploadResourceOperation方法中,此时页面回显resourceUuid的值时,也就是保存在服务器上的文件名数据包:POST?
记一次某CMS代码审计
2022-11-07 09:52:41
无意中浏览到某小众OA官网且可以下载到源码,随机审计一波,最后成功Getshell,大佬勿喷
一颗小胡椒
暂无描述