当前位置: 首页 > article >正文

webshell管理工具、C2远控服务器流量分析

文章目录

  • 一、Webshell管理工具流量分析
    • 1. 蚁剑(AntSword)
    • 2. 冰蝎(Behinder)
    • 3. 哥斯拉(Godzilla)
    • 二、常见C2远控服务器流量分析
      • 1. Metasploit
      • 2. CobaltStrike
    • 三、防御对抗策略总结

一、Webshell管理工具流量分析

1. 蚁剑(AntSword)

核心特征

  • 请求特征
    • 请求体中固定以@ini_set("display_errors","0");@set_time_limit(0)开头
    • 参数名常为_0x开头的十六进制字符串(如_0x3d8f
    • 默认编码下Payload明文可见,含evalassert关键字
  • 响应特征
    • 返回结果为Base64编码格式,结构为随机数+结果+随机数
    • 执行命令后返回200状态码及明文结果(如cat /etc/passwd

检测建议

  • 监控高频POST请求中是否含eval及固定前缀
  • 分析响应包是否匹配随机数-Base64-随机数结构

2. 冰蝎(Behinder)

核心特征:

  • 强加密
    • 全程AES加密(默认128位),密钥通过首次请求的响应动态生成(16字节随机值+MD5)。
    • 所有请求体/响应体为二进制流,无明文特征。
  • 协议伪装
    • 请求头包含Content-Type: application/octet-stream
    • 会话维持依赖长Cookie(如PHPSESSID异常值)。
  • 心跳机制
    • 定时发送固定长度数据包(如16字节)维持连接。

检测建议

  • 识别application/octet-stream类型的长连接请求。
  • 分析TLS流量中固定时间间隔的心跳包(需解密HTTPS)。

3. 哥斯拉(Godzilla)

核心特征

  • 协议特征
    • Cookie结尾带分号(如JSESSIONID=xxx;
    • Accept头为text/html, image/gif, image/jpeg, *;q=0.2
  • 响应结构
    • 返回包含32位MD5分段:前16位 + Base64数据 + 后16位
    • 如:7FEF617FACC31F7B+[加密数据]+D4E6F45C8E6D4D8C

加密模式

  • 支持AES_BASE64XOR_RAW等,PHP版Payload含passxc字符

检测建议

  • 监控异常Cookie分号及MD5分段响应
  • 分析初始化阶段大流量包(首包>1KB)

二、常见C2远控服务器流量分析

1. Metasploit

流量模型

阶段特征
Stager阶段HTTP GET下载Payload,URL路径随机,响应含MZ头(如4D 5A
心跳包默认60秒间隔,UA固定为Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0)
指令传输TCP流含rundll32.exe进程注入行为,Sysmon日志记录CreateRemoteThread

加密优化

  • 使用reverse_httpsrc4加密流量(如set payload windows/meterpreter/reverse_https

检测建议

  • 抓取HTTP下载流量,检查MZ头及DOS异常标志
  • 分析周期性心跳包与进程注入行为

2. CobaltStrike

核心指纹

  • HTTP Beacon
    • 路径符checksum8规则:路径ASCII和模256等于92/93(如/Yle2→92)
    • 心跳包Cookie含Base64加密的元数据(如Cookie: cAXQVyVbLBjHcJ=
    • 指令下发路径为/submit.php?id=xxx
  • HTTPS特征
    • 默认证书JA3指纹固定(如db36bad574044a5104a59b0c676991ef
    • 自签名证书易被识别(可通过Malleable C2配置伪证书)

DNS隐蔽信道

  • 使用A记录查询传递指令(如www6.[域名]0.0.0.243

检测建议

  • 识别checksum8路径和高频DNS异常解析
  • 解密Beacon元数据(工具:cs-parse-http-traffic.py

三、防御对抗策略总结

工具类型关键检测点防御方案
Webshell工具固定头/关键字、加密结构、高频POST禁用eval/system函数;监控文件修改
C2远控心跳包规律、协议指纹、证书异常限制出站端口;部署JA3指纹检测

深度防御建议

  1. 流量层面
  • 对HTTPS流量做DPI解密,检测加密Payload
  • 使用Suricata定制规则(如检测checksum8路径)
  1. 主机层面
  • 监控敏感目录文件变更(如/tmp/dev/shm
  • 分析进程网络连接(netstat -anp \| grep ESTABLISHED
  1. AI辅助
  • 训练ML模型识别加密流量行为模式(如哥斯拉MD5分段)

相关文章:

webshell管理工具、C2远控服务器流量分析

文章目录 一、Webshell管理工具流量分析1. 蚁剑(AntSword)2. 冰蝎(Behinder)3. 哥斯拉(Godzilla)二、常见C2远控服务器流量分析1. Metasploit2. CobaltStrike 三、防御对抗策略总结 一、Webshell管理工具流…...

JavaWeb:前端工程化-TS(TypeScript)

概述 快速入门 常用类型 基础类型 联合类型 函数类型 对象类型 接口Interface Interface和type区别 典型推论...

unity+ spine切换武器不换皮肤解决方案

1.在spine编辑中获取到角色武器插槽名称 这里的武器插槽名称为“zj_22”。角色的spine正常导出到unity中。 2.将需要替换的武器图片单独放在一个spine项目里面,并为每个武器单独建立一个插槽。 而且全部放在根骨骼Root下。 3.将武器的spine动画导出,会…...

[java八股文][MySQL面试篇]SQL基础

NOSQL和SQL的区别? SQL数据库,指关系型数据库 - 主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源)。 关系型数据库存储结构化数据。这些数据逻辑上以行列二维表的形式存在,每一列代表…...

Ubuntu中SSH服务器安装使用

SSH服务安装 1. 安装 OpenSSH 安装 SSH 服务端(允许远程登录) sudo apt update sudo apt install openssh-server安装 SSH 客户端(用于连接其他服务器) sudo apt install openssh-client2. 检查 SSH 服务状态 sudo systemctl…...

【AI论文】SWE-rebench:一个用于软件工程代理的任务收集和净化评估的自动化管道

摘要:基于LLM的代理在越来越多的软件工程(SWE)任务中显示出有前景的能力。 然而,推进这一领域面临着两个关键挑战。 首先,高质量的训练数据稀缺,尤其是反映现实世界软件工程场景的数据,在这些场…...

Flask文件处理全攻略:安全上传下载与异常处理实战

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

【算法深练】分组循环:“分”出条理,化繁为简

目录 引言 分组循环 2760. 最长奇偶子数组 1446. 连续字符 1869. 哪种连续子字符串更长 2414. 最长的字母序连续子字符串的长度 3456. 找出长度为 K 的特殊子字符串 1957. 删除字符使字符串变好 674. 最长连续递增序列 978. 最长湍流子数组 2110. 股票平滑下跌阶段的…...

焊缝缺陷焊接缺陷识别分割数据集labelme格式5543张4类别

数据集中有超过一半为增强图片,请认真观察图片预览 数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):5543 标注数量(json文件个数):5543 标注类别数:4…...

关于scrapy在pycharm中run可以运行,但是debug不行的问题

关于scrapy在pycharm中run模式可以运行,但是debug模式不行的问题 文章目录 关于scrapy在pycharm中run模式可以运行,但是debug模式不行的问题查了下原因 点击run就可以运行,但是debug就是运行不了 一点击debug就报这个错,也不知道啥…...

Java高级 | 【实验四】Springboot 获取前端数据与返回Json数据

隶属文章: Java高级 | (二十二)Java常用类库-CSDN博客 系列文章: Java高级 | 【实验一】Spring Boot安装及测试 最新-CSDN博客 Java高级 | 【实验二】Springboot 控制器类相关注解知识-CSDN博客 Java高级 | 【实验三】Springboot …...

云数据库选型指南:关系型 vs NoSQL vs NewSQL的企业决策

在云时代,数据库选型直接关系到企业应用性能和成本效益。本文深入分析三大数据库类型,助您做出明智决策。 目录概览 关系型数据库:经典之选NoSQL数据库:灵活应对非结构化数据NewSQL数据库:融合的优势三大数据库对比分…...

Prj08--8088单板机C语言8255读取按键码

1.验证结果 2.代码片 key_codeinp(PORT_8255_C)&0x0f;tiny_sprintf(buffer,"Key_code 0X%x \r\n",key_code);uart_str_send(buffer); 3.完整代码 #include "tiny_stdarg.h" // 使用自定义可变参数实现#define ADR_273 0x0200 #define ADR_244 0x…...

蜜獾算法(HBA,Honey Badger Algorithm)

2021年由Hashim等人提出(论文:Honey Badger Algorithm: A New Metaheuristic Algorithm for Solving Optimization Problems)。模拟蜜獾在自然界中的智能捕食行为,属于群体智能优化算法(与粒子群PSO、遗传算法GA同属一…...

Modbus转Ethernet IP网关助力罗克韦尔PLC数据交互

在工业自动化领域,Modbus协议是一种广泛应用的串行通信协议,它定义了主站和从站之间的通信规则和数据格式。罗克韦尔PLC是一种可编程的逻辑控制器,通过Modbus协议实现与其他设备之间的数据交互。然而,随着以太网技术的普及和发展&…...

飞算JavaAI 炫技赛重磅回归!用智能编码攻克老项目重构难题

深夜还在排查十年前Hibernate框架埋下的N1查询隐患?跨语言迁移时发现SpringMVC控制器里的业务逻辑像一团乱麻?当企业数字化进入深水区,百万行代码的老系统就像一座随时可能崩塌的"技术债冰山"。近日,飞算科技发布JavaAI…...

青少年编程与数学 02-020 C#程序设计基础 15课题、异常处理

青少年编程与数学 02-020 C#程序设计基础 15课题、异常处理 一、异常1. 异常的分类2. 异常的作用小结 二、异常处理1. 异常处理的定义2. 异常处理的主要组成部分3. 异常处理的作用小结 三、C#异常处理1. 异常的基本概念2. 异常处理的关键字3. 异常处理的流程4. 自定义异常5. 异…...

Electron打包前端和后端为exe

文章目录 什么是Electron? 安装electron过程 其他git项目地址比较好的文章electron的替代品安装报错 npm ERR! request to https://registry.npm.taobao.org/electron failed, reason: certificate has expired安装提示 npm WARN deprecated boolean3.2.0: Package …...

unix/linux,sudo,一个强大且灵活的工具,允许一个被授权的用户以另一个用户(通常是root,即超级用户)的身份来执行命令

sudo:不仅仅是“用管理员权限运行” sudo 这个词,来源于 SuperUser DO (或者 Substitute User DO,后者的含义更为广阔和准确)。它是一个强大且灵活的工具,允许一个被授权的用户以另一个用户(通常是root,即超级用户)的身份来执行命令。 1. Unix/Linux 的权限哲学:最小…...

JavaScript 二维数组初始化:为什么 fill([]) 是个大坑?

JavaScript 二维数组初始化:为什么 fill([]) 是个大坑? 今天刷leetcode的时候,遇到一个神奇的bug。 当我修改数组中的一个元素,却意外影响了其他所有元素???。 问题重现:诡异的数组…...

项目任务,修改svip用户的存储空间。

修改存储空间 3GB->5GB,这是项目任务,首先有人任务就要去思考实现思路,首先存储空间,也就是说不只是前端样式3GB改一下就可以了,那用户实际还是3GB,所以我们去网站看后端谁返回给我们了3GB,我…...

TypeScript 全面学习指南 (2025最新版)

TypeScript 全面学习指南 目录 TypeScript 简介环境搭建与工具基础类型变量声明接口(Interfaces)类(Classes)函数(Functions)泛型(Generics)枚举(Enums)类型…...

【redis】过期策略 懒惰删除

过期删除: redis会将所有设置过期时间的key以及过期时间存储在字典里。 redis采取两个策略实现删除过期key: 1、定时删除:定期扫描字典,采用贪心的策略,从字典随机抽20个key,删除其中已经过期的key&#x…...

Docker或Docker-Compose时间时区配置

Docker或Docker-Compose配置时区,主要是为了使用容器内的时间和物理机操作系统的时间保持一致。以下是集中配置Docker或Docker-Compose环境时间时区的方式。 Dockerfile(Docker)中配置时区 在Dockerfile中,可以通过如下方式添加…...

如何在IDE中通过Spark操作Hive

在IDE中通过Spark操作Hive是一项常见的任务,特别是在大数据处理和分析的场景中。本文将详细介绍如何在集成开发环境(IDE)中使用Apache Spark与Hive进行交互,包括必要的设置、代码示例以及详细解释。 环境准备 在开始之前&#x…...

ToolsSet之:XML工具

ToolsSet是微软商店中的一款包含数十种实用工具数百种细分功能的工具集合应用,应用基本功能介绍可以查看以下文章: Windows应用ToolsSet介绍https://blog.csdn.net/BinField/article/details/145898264 ToolsSet中Text菜单下的XML Tool工具是一个Xml工…...

keepalived定制日志bug

keepalived定制日志bug 源码安装apt安装endl 源码安装 在/etc/rsyslog.d/目录下创建 keepalived的日志配置文件keepalived.conf [rootubuntu24-13:~]# vim /etc/rsyslog.d/keepalived.conf [rootubuntu24-13:~]# cat /etc/rsyslog.d/keepalived.conf local6.* /var/log/keepa…...

ElasticSearch+Gin+Gorm简单示例

更多个人笔记见: (注意点击“继续”,而不是“发现新项目”) github个人笔记仓库 https://github.com/ZHLOVEYY/IT_note gitee 个人笔记仓库 https://gitee.com/harryhack/it_note 个人学习,学习过程中还会不断补充&…...

数据库系统概论(十三)详细讲解SQL中数据更新(插入,修改与更新)

数据库系统概论(十三)详细讲解SQL中数据更新 前言一、数据插入1. 插入数据是什么?2.插入单条数据(插入元组)场景 1:指定部分列插入场景 2:不指定列名(插入所有列)场景 3&…...

JVMTI 在安卓逆向工程中的应用

JVMTI 在安卓逆向工程中的应用 JVMTI 在安卓逆向工程中扮演着重要角色,尤其是在分析和修改 Java 层应用行为时。以下是其核心应用场景、实现方式及典型工具: 一、核心应用场景 1. 动态代码注入与 hook 通过 JVMTI 可以在运行时修改或拦截 Java 方法&…...