【HW系列】—C2远控服务器(webshell链接工具, metasploit、cobaltstrike)的漏洞特征流量特征
文章目录
- 蚁剑、冰蝎、哥斯拉
- 一、蚁剑(AntSword)流量特征
- 二、冰蝎(Behinder)流量特征
- 三、哥斯拉(Godzilla)流量特征
- metasploit、cobaltstrike
- 一、Metasploit流量特征
- 二、CobaltStrike流量特征
- 三、检测与防御建议
- 1. 检测方法
- 2. 防御策略
- 四、总结
本文仅用于技术研究,禁止用于非法用途。
蚁剑、冰蝎、哥斯拉
一、蚁剑(AntSword)流量特征
-
基础请求特征
- 蚁剑:
@ini_set$"display_errors","0"$、_0x[A-Fa-f0-9]+
- User-Agent标识:默认User-Agent为antsword/xxx,但可通过修改代码伪装为浏览器(如Opera、Chrome等)。
- 参数名特征:加密后的参数名通常以_0x开头(如_0x1234=加密数据),这是其混淆后的典型标识。
- 代码片段:请求体中存在固定PHP代码片段,如@ini_set(“display_errors”,“0”);@set_time_limit(0),用于关闭错误显示和超时限制。
- 蚁剑:
-
加密与编码
- 默认编码:支持Base64、Chr、ROT13等多种编码,未加密时流量明文可见eval或assert函数调用。
- 响应特征:返回数据通常被随机字符串包裹(如a1cc2fb143b…d7ef08da),用于混淆真实输出。
-
行为特征
- 高频重传:因网络不稳定或虚拟机性能问题,可能触发TCP数据包重传,需结合上下文判断。
二、冰蝎(Behinder)流量特征
- 协议与加密特征
- 冰蝎:application/octet-stream、e45e329feb5d925b。
- 动态密钥协商:冰蝎2.0通过GET/POST请求协商密钥(如/shell.jsp?pass=密钥),使用AES+Base64加密传输数据;冰蝎3.0后取消动态密钥,改用固定密钥(默认e45e329feb5d925b)。
- Content-Type标识:冰蝎3.0及以上版本请求头中Content-Type常为application/octet-stream,标识二进制流传输。
- 请求头特征
- User-Agent随机化:内置16个老旧UA头(如Mozilla/4.0),每次连接随机选择,易被识别为异常流量。
- Accept字段:默认值为application/json, text/javascript, /; q=0.01,属于弱特征。
- 固定代码与端口特征
- 服务端代码:PHP Webshell中包含
$post=Decrypt(file_get_contents("php://input")); eval($post);
,JSP版本使用长端口号(如49700附近)递增连接。
- 服务端代码:PHP Webshell中包含
三、哥斯拉(Godzilla)流量特征
哥斯拉:;[ \t]*$(Cookie末尾分号)、[A-Fa-f0-9]{16}[A-Za-z0-9+/=]+[A-Fa-f0-9]{16}。
行为分析:监控User-Agent频繁变化、异常端口(如49700)、长连接请求等。
- 强特征标识
- Cookie异常:请求Cookie末尾常带多余分号(如
JSESSIONID=xxx;
),不符合HTTP标准。 - 响应体结构:返回数据采用Base64编码时,前后拆分32位MD5值(如md5前16位+Base64数据+md5后16位),PHP版本为小写MD5,Java版本为大写。
- Cookie异常:请求Cookie末尾常带多余分号(如
- 请求与加密特征
- 默认User-Agent:暴露JDK版本(如Java/1.8.0_121),但支持自定义。
- 加密模式:支持AES、XOR、RAW等多种加密,请求体可能包含XORHEAD和XORBODY标记。
- 行为与连接特征
- 长连接:默认启用Connection: Keep-Alive,减少握手开销。
- 初始化流量:首次连接发送大体积数据包(用于密钥协商),后续请求携带固定Cookie。
metasploit、cobaltstrike
以下是 Metasploit 和 CobaltStrike 作为C2远控服务器的漏洞特征与流量特征分析,结合其通信机制、检测要点及防御建议:
一、Metasploit流量特征
Metasploit 是一款开源的渗透测试框架,由 HD Moore 等人于 2003 年开发,基于 Ruby 语言构建。其核心功能是 漏洞利用开发与测试,集成了超过 750 种已知漏洞的利用模块(如 SMB、Web 应用漏洞)和 224 种攻击载荷(Payload),覆盖从扫描到后渗透的全流程
- 协议与通信机制
- 协议类型:主要基于 TCP协议(默认端口4444)或HTTP(S)协议,常用于Meterpreter会话的实时交互。
- Staged/Stageless模式:
- Staged模式:通过小型Stager(如windows/meterpreter/reverse_tcp)下载完整Payload,流量中存在 分阶段下载行为(如HTTP GET请求下载加密Payload)。
- Stageless模式:单文件直接建立会话,流量中无额外下载过程,但Payload体积较大,易触发静态特征检测。
- 流量检测特征
- TCP端口交互:会话建立后,常存在两个端口持续交互(如9999与57591),流量中可见 MZ标头和DOS模式异常(非标准协议数据包结构)。
- HTTP请求特征:
- 路径包含动态参数(如/index.php?cmd=xxx),或直接调用/meterpreter等敏感路径。
- 响应包中可能包含 加密的Meterpreter指令(如migrate注入进程、hashdump提取凭据)。
- 进程注入行为:通过rundll32.exe或svchost.exe注入恶意代码,系统日志(如Sysmon)会记录 CreateRemoteThread事件 和异常父进程关系。
- 检测规则示例
- Suricata规则:
alert tcp any any -> any 4444 (msg:"Metasploit Meterpreter TCP Session"; sid:10001;)
alert http any any -> any any (msg:"Metasploit Stager Download"; content:"/meterpreter"; http_uri; sid:10002;)
二、CobaltStrike流量特征
Cobalt Strike 是一款商业化的高级渗透测试工具,专为 红队协作 和 APT 模拟 设计。其核心功能是 后渗透控制,通过 Beacon 代理实现内网横向移动、权限维持和隐蔽通信
- HTTP/S通信特征
- HTTP-staging模式:
- 路径校验规则:请求路径(如/Yle2)的 ASCII码之和与256取余等于92(即checksum8规则)。
- 心跳包规律:每隔固定时间(如3秒)发送GET请求,Cookie字段携带Base64加密的会话元数据。
- 命令下发与回传:任务指令通过HTTP响应包中的加密内容传递,执行结果以POST请求回传(Cookie或Body加密)。
- HTTPS特征:
- 默认证书指纹:使用空证书或自签名证书,JA3/JA3S指纹固定(如72a589da586844d7f0818ce684948eea)。
- Malleable C2 Profile:可自定义User-Agent、路径和证书,但默认配置下仍可能暴露特征(如/dpixel、/__utm.gif路径)。
- DNS通信特征
- DNS-stageless模式:
- 上线请求:通过A记录查询(如www6.<域名>)发送16进制编码的靶机信息,C2响应0.0.0.0确认。
- 命令下发:使用TXT记录传递加密Payload,响应IP地址为非常规值(如0.0.0.243)。
- 结果回传:通过post.<域名>的A记录查询回传数据,DNS流量中可见高频异常请求。
- 检测规则示例
- Suricata规则:
alert http any any -> any any (msg:"CobaltStrike Checksum8 Path"; content:"/Yle2"; http_uri; pcre:"/^\/[A-Za-z0-9]{4}$/"; sid:20001;)
alert dns any any -> any any (msg:"CobaltStrike DNS Beacon"; content:"www6."; depth:5; sid:20002;)
三、检测与防御建议
1. 检测方法
- 流量分析:
- 监控HTTP路径的checksum8规则、固定心跳间隔、异常DNS请求等特征。
- 识别JA3/JA3S指纹或自签名证书的异常使用。
- 日志溯源:
- 通过Sysmon日志追踪异常进程创建(如artifact.exe启动rundll32.exe注入)和网络连接事件。
2. 防御策略
- 框架加固:
- 升级至Metasploit/CobaltStrike最新版本,禁用默认配置(如更换证书、修改默认端口)。
- 使用Malleable C2 Profile自定义流量特征,规避静态规则检测。
- 网络防护:
- 部署WAF拦截包含checksum8路径、异常Cookie或DNS记录的请求。
- 限制非业务端口的出站流量(如4444、53、80/443外的非常用端口)。
四、总结
- Metasploit:依赖TCP端口交互和进程注入行为,检测需关注日志中的异常线程创建与协议特征。
- CobaltStrike:HTTP流量的checksum8规则和DNS流量的异常记录是核心检测点,防御需结合动态流量分析与协议层指纹识别。
如需更详细的技术实现(如Suricata规则集或Sysmon配置),可参考中的开源项目与案例分析。
注:本文遵循CSDN社区内容规范,不涉及具体攻击实现,重点探讨防御方法论。
相关文章:
【HW系列】—C2远控服务器(webshell链接工具, metasploit、cobaltstrike)的漏洞特征流量特征
文章目录 蚁剑、冰蝎、哥斯拉一、蚁剑(AntSword)流量特征二、冰蝎(Behinder)流量特征三、哥斯拉(Godzilla)流量特征 metasploit、cobaltstrike一、Metasploit流量特征二、CobaltStrike流量特征三、检测与防…...
5.28 孔老师 nlp讲座
本次讲座主要介绍了语言模型的起源、预训练模型以及大语言模型(需要闫老师后讲)等内容。首先,语言模型的起源可以追溯到语音识别中的统计语言模型,通过估计声学参数串产生文字串的概率来找到最大概率的文字串。然后,介…...

基于微信小程序的漫展系统的设计与实现
博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言࿰…...
打卡day39
一、 图像数据的介绍 1.1 灰度图像 # 先继续之前的代码 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具 from torchvision import datasets, transforms…...

基于Web的分布式图集管理系统架构设计与实践
引言:为什么需要分布式图集管理? 在现代Web图形应用中,纹理图集(Texture Atlas)技术是优化渲染性能的关键手段。传统的图集制作流程通常需要美术人员使用专业工具(如TexturePacker)离线制作&am…...

mysql执行sql语句报错事务锁住
报错情况 1205 - Lock wait timeout exceeded; try restarting transaction先找出长时间运行的事务 SELECT * FROM information_schema.INNODB_TRX ORDER BY trx_started ASC;终止长时间运行的事务 KILL [PROCESS_ID];...

Java消息队列应用:Kafka、RabbitMQ选择与优化
Java消息队列应用:Kafka、RabbitMQ选择与优化 在Java应用领域,消息队列是实现异步通信、应用解耦、流量削峰等重要功能的关键组件。Kafka和RabbitMQ作为两种主流的消息队列技术,各有特点和适用场景。本文将深入探讨Kafka和RabbitMQ在Java中的…...

零基础设计模式——结构型模式 - 组合模式
第三部分:结构型模式 - 组合模式 (Composite Pattern) 在学习了桥接模式如何分离抽象和实现以应对多维度变化后,我们来探讨组合模式。组合模式允许你将对象组合成树形结构来表现“整体-部分”的层次结构。组合模式使得用户对单个对象和组合对象的使用具…...
额度年审领域知识讲解
金融领域的“额度年审”是一个非常重要的常规性工作。它指的是金融机构(主要是银行)对其授予客户的各种信用额度或授信额度,在授信有效期内(通常是一年)进行周期性的重新评估、审查和确认的过程。 核心目的࿱…...

腾讯云国际站可靠性测试
在数字化转型加速的今天,企业对于云服务的依赖已从“可选”变为“必需”。无论是跨境电商的实时交易,还是跨国企业的数据协同,云服务的可靠性直接决定了业务连续性。作为中国领先的云服务提供商,腾讯云国际站(Tencent …...

自定义异常小练习
在开始之前,让我们高喊我们的口号: 键盘敲烂,年薪百万! 目录 键盘敲烂,年薪百万! 异常综合练习: 自定义异常 异常综合练习: 自定义异常: 定义异常类写继承关系空参构造带参构造 自定…...

SpringBoot整合MinIO实现文件上传
使用Spring Boot与JSP和MinIO(一个开源对象存储系统,兼容Amazon S3)进行集成,您可以创建一个Web应用来上传、存储和管理文件。以下是如何将Spring Boot、JSP和MinIO集成的基本步骤: 这个是minio正确启动界面 这个是min…...

基于面向对象设计的C++日期推算引擎:精准高效的时间运算实现与运算重载工程化实践
前引: 在软件开发中,时间与日期的处理是基础但极具挑战性的任务。传统的手工日期运算逻辑往往面临闰年规则、月份天数动态变化、时区转换等复杂场景的容错难题,且代码冗余度高、可维护性差。本文将深入探讨如何利用C的面向对象特性与成员函数…...

如何把 Microsoft Word 中所有的汉字字体替换为宋体?
Ctrl H ,然后,点击更多,勾选使用通配符,查找内容中填入 [一-龥]{1,}, 这是 Word 通配符匹配汉字的经典写法(匹配 Unicode 范围内的 CJK 汉字)。 然后, “替换为”留空,点…...
02. [Python+Golang+PHP]三数之和,多种语言实现最优解demo
一、问题描述:三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中…...
MongoDB选择理由
1.简介 MongoDB是一个基于分布式文件存储的数据库由C语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。Mongo最大的特点是…...

倚光科技在二元衍射面加工技术上的革新:引领光学元件制造新方向
倚光科技二元衍射面加工技术(呈现出细腻的光碟反射纹路) 在光学元件制造领域,二元衍射面的加工技术一直是行业发展的关键驱动力之一。其精准的光相位调制能力,在诸多前沿光学应用中扮演着不可或缺的角色。然而,长期以来…...

驱动开发(2)|鲁班猫rk3568简单GPIO波形操控
上篇文章写了如何下载内核源码、编译源码的详细步骤,以及一个简单的官方demo编译,今天分享一下如何根据板子的引脚写自己控制GPIO进行高低电平反转。 想要控制GPIO之前要学会看自己的引脚分布图,我用的是鲁班猫RK3568,引脚分布图如…...

《软件工程》第 3 章 -需求工程概论
在软件工程的开发流程中,需求工程是奠定项目成功基础的关键环节。它专注于获取、分析、定义和管理软件需求,确保开发出的软件能真正满足用户需求。接下来,我们将按照目录内容,结合 Java 代码和实际案例,深入讲解需求工…...

VMware-MySQL主从
MySQL主从 服务器信息 服务器类型角色主机地址主机名称虚拟机master192.168.40.128test-1虚拟机slave192.168.40.129test-2 Master 配置(192.168.40.128) 删除自动生成的配置 /var/lib/mysql/auto.cnf [roottest-1 ~]# rm -rf /var/lib/mysql/auto.…...
ArcGIS Pro 3.4 二次开发 - 几何
环境:ArcGIS Pro SDK 3.4 + .NET 8 文章目录 几何1 空间参考1.1 从已知ID构建空间参考1.2 从字符串构建空间参考1.3 使用 WGS84 空间参考1.4 使用已知ID构建带有垂直坐标系的空间参考1.5 使用垂直坐标系从字符串构建SpatialReference1.6 使用自定义投影坐标系(PCS)构建空间参…...

2023-ICLR-ReAct 首次结合Thought和Action提升大模型解决问题的能力
关于普林斯顿大学和Google Research, Brain Team合作的一篇文章, 在语言模型中协同Reasoning推理和Action行动。 论文地址:https://arxiv.org/abs/2210.03629 代码:https://github.com/ysymyth/ReAct.git 其他复现 langchain :https://pytho…...

Rust 开发的一些GUI库
最近考虑用Rust干点什么,于是搜集了下资料——根据2025年最新调研结果和社区实践,Rust GUI库生态已形成多个成熟度不同的解决方案。以下是当前主流的GUI库分类及特点分析,结合跨平台支持、开发体验和实际应用场景进行综合评估: 一…...

【第四十六周】文献阅读:从 RAG 到记忆:大型语言模型的非参数持续学习
目录 摘要Abstract从 RAG 到记忆:大型语言模型的非参数持续学习研究背景方法论1. 离线索引(Offline Indexing)2. 在线检索(Online Retrieval)具体细节 创新性实验结果局限性总结 摘要 本论文旨在解决当前检索增强生成…...

从智能提效到产品赋能的架构实践
摘要 本文深入探讨了企业级系统从智能化提效阶段向产品赋能阶段演进的架构实践路径。通过分析传统架构的局限性,提出了以用户价值为导向的现代化架构设计理念,并结合实际案例展示了如何构建可扩展、高可用、智能化的产品架构体系。 1. 引言 在数字化转型的浪潮中,企业技术…...
《Python 虚拟环境完全指南:如何管理项目依赖,避免版本冲突》
《Python 虚拟环境完全指南:如何管理项目依赖,避免版本冲突》 1. 引言 在 Python 开发中,依赖管理是至关重要的环节。不同项目可能需要不同的库版本,而全局安装库可能导致版本冲突或环境污染。为解决这一问题,Python 提供了虚拟环境(venv、virtualenv),帮助开发者隔离…...
微信小程序带数组参数跳转页面,微信小程序跳转页面带数组参数
在微信小程序中,带数组参数跳转页面需要通过JSON序列化和URL编码处理,以下是具体实现方法 传递数组参数(发送页面) wx.navigateTo({url: /pages/targetPage?arr encodeURIComponent(JSON.stringify(yourArray)) });接收数组参…...
服务器开机自启动服务
前言: 将服务器中脚本开启自启动执行 步骤: 1.创建一个 systemd 服务文件: /etc/systemd/system/ 目录下创建一个新的服务文件。例如,命名为 myapp.service: sudo nano /etc/systemd/system/myapp.service2.编写 [Unit] Descri…...

关于OT IIOT系统远程访问的零信任安全
什么是OT & IIOT?—— 工业领域的“操作基石”与“智能升级” 在工业数字化转型的浪潮中,OT(运营技术)与IIoT(工业物联网)是两个核心概念。前者是工业生产的“神经中枢”,后者是驱动智能升…...

【Doris基础】Apache Doris vs 传统数据仓库:架构与性能的全面对比
目录 1 引言 1.1 传统数据仓库的发展 1.2 现代分析型数据库的崛起 2 核心架构对比 2.1 传统数据仓库的架构 2.2 Doris的架构设计 3 关键技术差异 3.1 存储引擎对比 3.2 查询执行对比 3.3 数据摄入方式对比 4 性能与扩展性对比 4.1 性能基准对比 4.2 扩展性对比 5…...