【HW系列+技战法】内存马的Webshell联合对抗技战法

news/2024/11/18 7:43:31/文章来源:https://www.cnblogs.com/o-O-oO/p/18374581

原创 BeatRex的成长记录

一、技战法概述二、Webshell对抗手段2.1 落地文件型Webshell检测与对抗2.1 无文件型内存马检测与对抗2.3 Webshell免杀对抗

一、技战法概述

Webshell是黑客经常使用的一种后门,其目的是获得服务器的执行操作权限,常见的Webshell编写语言为ASP、JSP、PHP。主要用于网站管理,服务器管理,权限管理等操作。使用方法简单,只需要上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站的服务器的管理。

在日常的网络攻击以及实战攻防中,攻击者往往倾向于反序列化攻击、代码执行、命令执行、Webshell上传等攻击成本低但快速有效获取权限的方式。且随着防御手段的不断提升,对Webshell的检测也在不断深入,从文件落地型Webshell的明文到编码加密传输规避安全设备的检测,当新的绕过手段出现时,不久便会出现对其的检测手段。现在大部分Webshell利用反序列化漏洞进行无文件落地形式的攻击,即内存马。

内存马这种方式难以检测且需要较高的技术手段进行处置,因此对于Webshell攻击的对抗与检测处置,不仅需要针对文件落地型Webshell开展对抗,更需要注意无文件的内存马攻击。

二、Webshell对抗手段

2.1 落地文件型Webshell检测与对抗

在安全从业者进入行业的初始阶段,通常会针对文件上传漏洞进行学习,最早接触的Webshell即为一句话木马。一句话木马短小精悍,仅一行代码即可执行常见的服务器文件操作。

但一句话木马使用的函数为高危函数,极易被安全产品检测,因此出现了base64编码以及其他编码的传输方式,通过蚁剑等Webshell管理工具进行连接实现Webshell的操作。

但编码本质而言是可逆的,通过解码手段即可还原通信过程从而再次被检测,因此目前主流的哥斯拉、冰蝎等加密Webshell出现在常见的攻防实战中。如冰蝎的动态特征是连接shell的过程中会存在客户端与服务器交换AES密钥的环节,总体的通信流程是将将Payload通过base64进行编码,通过eval等执行系统命令的函数对编码后的Payload进行执行,通过AES加密全部的Payload,传输获得密钥,再进行加密传输。在多种编码、加密方式结合的情况下,在初期可以规避大量安全产品的检测,但随着安全研究人员的不断探索,存在文件落地的Webshell就有手段进行检测、查杀。

对于文件类型的Webshell查杀工具较多,Windows下常见的D盾、Linux下河马Webshell查杀等,主流的Webshell特征基本可以识别到。

2.2 无文件型内存马检测与对抗

内存Webshell相比于常规落地文件类型的Webshell更容易躲避传统安全监测设备的检测,通常被用来做持久化,规避检测,持续驻留目标服务器,不易清除。无文件攻击、内存Webshell、进程注入等基于内存的攻击手段也越来越受欢迎。

内存马的原理是先由客户端发起一个Web请求,中间件的各个独立的组件如Listener、Filter、Servlet等组件会在请求过程中做监听、判断、过滤等操作,内存马利用请求过程在内存中修改已有的组件或者动态注册一个新的组件,插入恶意的Shellcode达到持久化的控制服务器。

内存马分为PHP、Python、Java类型,PHP内存马也就是PHP不死马,是将不死马启动后删除本身,在内存中执行死循环,使管理员无法删除木马文件。PHP内存马的检测思路主要是检查所有PHP进程处理请求的持续时间、检测执行文件是否在文件系统真实存在。

内存马的检测首先确定是通过什么方法注入的内存马,查询Web日志是否有可疑访问,如果是filter或者listener类型,则会有大量请求路径相同但参数不同或页面不存在但是返回200的日志。其次查看是否有类似哥斯拉、冰蝎相同的URL请求,哥斯拉和冰蝎的内存马注入流量特征与普通Webshell的流量特征基本吻合。通过查找返回200的URL路径对比Web目录下是否真实存在文件,如不存在大概率为内存马。

如在Web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据业务使用的组件排查是否可能存在Java代码执行漏洞以及是否存在过Webshell,排查框架漏洞,反序列化漏洞。

2.3 Webshell免杀对抗

除了Webshell查杀工具,目前主流的主机杀毒工具对于Webshell的检测能力也在不断提升且随着人员安全意识的提升,即使未安装企业版杀毒软件,主机也存在着免费杀毒工具。因此对于落地型的Webshell,在考虑其功能的同时也需要结合免杀技术绕过杀毒软件的检测。

Webshell的免杀技术主要有基于特征的绕过,基于框架的免杀、无扩展免杀等。基于特征的绕过主要是绕过防火墙的正则表达式匹配,因此主要原理是基于各种函数的动态调用进行代码拼接,如分离免杀将一个Webshell的代码分成多个文件,通过file_get_contents()等文件读取函数将内容进行读取,最终实现WAF的绕过。但对于Webshell的免杀不能仅仅通过一种手段,往往是多种方式结合使用。通过特征的编写完成后,再结合加密等方式一方面可以绕过防护墙的拦截,另一方面也可在服务器层面绕过主机杀毒工具的检测。因此对于此类攻击的防护需要结合人工判断的方式弥补设备的短缺。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/785555.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【待做】【ByPass系列】php的webshell绕过方法总结

原创 掌控安全EDU一、php的异或运算 $a="~+d()"^"!{+{}"这个表示了$a=这两个字符串之间进行一个异或运算 运算异或运算符,按二进制位进行异或运算 这里的运算会把符号转化为ascii码,再转化为二进制,再转化为十进制进行运算,再把结果转化为ascii码 通过…

PCA原理与水果成熟状态数据分析实例:Python中PCA-LDA 与卷积神经网络CNN

全文链接:https://tecdat.cn/?p=37450 主成分分析(PCA)作为数据科学中用于可视化和降维的重要工具,在处理具有大量特征的数据集时非常有用。就像我们难以找到时间阅读一本 1000 页的书,而更倾向于 2 到 3 页的总结以抓住整体概貌一样,当数据集中特征过多时,PCA 可以帮…

[题解] permutation

[题解] Permutation解析一眼 DP 或者 组合。70pts 场上推的DP 对于 \((4,2,2)\),先把所有序列枚举出来: \[\begin{split} 1\ \ \ 2\\ 1\ \ \ 3\\ 1\ \ \ 4\\ --\\ 2\ \ \ 3\\ 2\ \ \ 4\\ 3\ \ \ 4 \end{split} \]可以发现,对于分割线上的部分,可以看作 \((3,1,1)\) 的所有序…

金蝶云星空一个业务对象下存在两个扩展时处理方案

问题描述: 出现这种情况一般是在A账套删除了一个扩展,然后又新建了一个扩展,此时登录B账套就会出现这种情况。如果是同一台机器,那未引入对象即是被删除的,未加载对象则是刚扩展的。解决方案: 此时未加载不建议加载,先引入需要删除的对象,然后删除,最后再加载。

信息学奥赛初赛天天练-72-NOIP2016普及组-基础题3-无向图、简单无向图、自环、平行边、顶点的度、握手定理、递归

NOIP 2016 普及组 基础题3 5 以下不是存储设备的是( ) A 光盘 B 磁盘 C 固态硬盘 D 鼠标 6 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsLock、 字母键 A、字母键 S、字母键 D、字母键 F 的顺序循环按键,即 CapsLock、A、S、D、F、CapsLock、A、S…

JavaSE基础知识分享(十三)

今天继续讲Java中的网络编程的知识!写在前面 今天继续讲Java中的网络编程的知识! 网络编程 概述 计算机网络 计算机网络是将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源…

金箱子

我们设 \(f[i][j]\)表示目前前 \(i\) 个宝箱的期望贡献的 \(j\) 次方。 根据题意可得 $f[i][k]=(f[i-1][1]+a[i])^k \cdot p[i]+(f[i-1][1]+b[i])^k \cdot (1-p[i]) $ 这个式子很难处理,不妨用二项式定理优化 优化后式子则为:\(f[i][k]= \sum _{j=0}^{k} C_{k}^{j} \cdot f[i-…

【PHP安全】demo3:最简单的php代码加密方法

当我们说 "PHP代码加密",我理解的是将 PHP 代码进行混淆或加密,以防止源代码被他人轻易阅读或修改。 这种需求通常用于保护商业秘密或加强代码安全性。常见的工具是使用专业的编译器和加密工具。 然而,请注意,完全保护代码是不可能的,因为最终服务器仍然需要能够…

博客园-awescnb插件-geek皮肤优化--公众号卡片

简介 博客园-awescnb插件-geek皮肤暂不支持配置展示公众号二维码,此文章目的使用手动注入方式自定义实现公众号卡片效果 效果展示公众号卡片动态效果鼠标移入前为公众号指引页 鼠标移入后显示公众号二维码 切换动画为动态反转首页展示实现在博客日历元素blog-calendar前插入自…

Flannel Wireguard 模式

Flannel Wireguard 模式Flannel WireGuard 模式 一、环境信息主机 IPubuntu 172.16.94.141软件 版本docker 26.1.4helm v3.15.0-rc.2kind 0.18.0clab 0.54.2kubernetes 1.23.4ubuntu os Ubuntu 20.04.6 LTSkernel 5.11.5 内核升级文档二、安装服务 kind 配置文件信息 $ cat ins…

统一多层网关好处多,阿里云云原生 API 网关打造全能型网关

本文整理自阿里云云原生 API 网关的公测直播,分享了作为一款全能型网关【云原生 API 网关】是如何帮助企业落地统一网关架构的。作者:问思、望宸 网关承载了业务开发和后端运维的诸多需求,例如路由管理、流量调度、API 管理、入口安全管理等,另外网关侧也需要结合服务治理来…