java webshell内存马的个人见解

      在以前的一段文字《JavaWeb内存马二周目过关技巧》中,汇总了某些现阶段业内流行的内存马的建立方式,现阶段针对内存马的分析和探讨,在我国的确很火,常常能看到各式各样的一段文字,在海外探讨的偏少,因为外国人的日站方式并并非webshell,而一般是reverseshell。因此可以说算得上某种意义上的业内顶尖了,在内存马技术快速迭代的与此同时,防守技术也需要紧跟,现阶段而言,应用javaagent技术融合多层次的防守、检查、检测内存马的方式仍然是较好的方式,我这里因为是参加了产品化的RASP网络安全产品,也是能够达到流行内存马的检测和防守,关于《二周目》中的内存马种类,事实上也有许多攻与防的构思能够拓展,但因为盈利性缘故,我这里将不会再参与探讨。

outputo-20211110-093847-470-cgpa.png

随之一段文字的发布,我都开放源码了1个十分基础的内存马查杀软件SuAgent,用于对不一样种类的内存马参与检测和防守。

实际上这儿留有了悬念,以前的一段文字我取名字“二周目”,那么就代表着将会出现二周目、三周目,甚至越来越多。

原这儿因为看到了藏青色师父在祭司上发布的JSP内存马分析,事实上跟我原本想在二周目中写的某些技术观念稍有重合,因此这儿就逐渐二周目的撰写。

在这篇一段文字也许会引入到《二周目》中的某些技术和观念,假如还没有看过以前的一段文字,提议首先看前文,把前边说到的内存马工作原理认识一下,再看这篇文章。

这篇文章共说到了一些新的内存马建立方式:Timer型内存马及其拓宽——进程型内存马,及其JSP内存马。

0x01突破口:新途径

二周目的构思,始于园长的一段文字JavaTimer后门,这也是一篇文章在2013年就早已发布的一段文字,一段文字包括了1个jsp后门,这一jsp建立了1个Timer记时器目标,随后应用schedule方式建立了1个TimerTask目标,换句话说建立了1个计划任务,每过一千ms,就实行一回java.util.TimerTask#run方式里边的逻辑。

换句话说,在浏览了一回这一jsp后,会运转1个记时器参与不断循环,一回实行直至服务器重启。即便将这一jsp删掉,仍然是会持续参与这一任务。

啥子?删掉JSP文件,任务还能实行?这不就沒有文件落地式了吗?也是便是内存马吗???内存马的观念在2013年就发生了???

暴风疑惑后,有好几个考虑接踵而来:

1.即然是jsp,我们知道jsp的实质便是servlet,那这也是以前说到的Servlet型内存马吗?

2.为何jsp删掉了,任务还会继续持续运转?

3.这类计划任务,能不能达到像以前的Servlet型内存马似的,在每一次请求时取得入参,实行结果并返还?

带上这一些问题,逐渐分析和了解。

分享: