WebShell流量特征检测_冰蝎篇
80后用菜刀,90后用蚁剑,95后用冰蝎和哥斯拉,以phpshell连接为例,本文主要是对这四款经典的webshell管理工具进行流量分析和检测。什么是一句话木马?
1、定义顾名思义就是执行恶意指令的木马,通过技术手段上传到指定服务器并可以正常访问,将我们需要服务器执行的命令上传并执行2、特点短小精悍,功能强大,隐蔽性非常好3、举例php一句话木马用php语言编写的,运行在php环境中的php文件,例:<?php @eval($_POST['pass']);?>4、原理以最为常见的php一句话木马为例,"<?php ?>"为php固定规范写法,"@"在php中含义为后面如果执行错误不会报错,"eval()"函数表示括号里的语句全做代码执行,"$_POST['pass']"表示从页面中以post方式获取变量pass的值三、冰蝎
1、Behinder v2.0

(1)实现原理

①首次连接webshell时,客户端首先向服务器端发起一个GET请求
②服务器端随机产生一个16位的密钥,把密钥回显给客户端,同时把密钥写进服务器侧的Session中
③客户端获取密钥后,对二进制payload先进行AES加密(本地openssl模块),再通过POST方式发送至服务器端
④服务器收到数据后,从Session中取出密钥,进行AES解密,解密之后得到二进制payload数据
⑤服务器解析二进制payload文件,执行任意代码,并将执行结果加密返回
客户端解密服务器端返回的结果
(2)代码分析
冰蝎的通信过程可以分为两个阶段:密钥协商和加密传输
第一阶段-密钥协商


①通过 GET 或者 POST 方法,请求服务器密钥
②服务端使用随机数MD5的高16位作为密钥
③并且存储到会话的$_SESSION变量中
④返回密钥给攻击者
第二阶段-加密传输

①客户端把待执行命令作为输入,利用 AES 算法进行加密,并发送至服务端
②服务端接受密文后进行 AES 运算解密,执行相应的命令
③执行结果通过AES加密后返回给攻击者
(3)数据包分析
第一阶段-密钥协商

第二阶段-加密传输


(4)流量特征
1、Accept字段

2、UserAgent字段

3、长连接和Content-Length

四、密钥传递时URL参数


五、传递的密钥


2、Behinder v3.0
(1)代码分析


(2)数据包分析
Request请求包

Response响应包

(3)流量特征
1、Accept字段

2、UserAgent字段

(4)检测规则

alert:记录所有匹配的规则并记录与匹配规则相关的数据包,生成一个警告
msg:规则名称,规则中的第一个字段,ids告警上显示的信息
flow: 特定时间内具有相同数据的数据包(5元组信息)同属于一个流
content:检测数据包中是否存在此内容
pcre:正则表达式
flowbits:可以确保例如两个不同的数据包同时匹配时会生成警报
classtype类别:根据规则检测到的活动类型为规则分类
sid特征标示符:用于唯一性规则标识,sid不能重复
alert http any any -> any any(msg:"MALWARE-BACKDOOR Behinder webshell online detected"; flow:established,to_client; pcre: "/\r\n\r\n[A-Za-z0-9]{16}$/"; content:"200 OK"; content: "Content-Length: 16"; fast_pattern;nocase; flowbits: set, bx_first_get_resp; noalert; classtype:web-attack;sid:3000021; rev:1; metadata:created_at 2019_11_20, updated_at 2019_11_20;)
alert http any any -> any any(msg:"MALWARE-BACKDOOR Behinder webshell online detected"; flow:established,to_server; content:"GET"; http_method; pcre:"/\.(php|jsp|asp|jspx|aspx)\?\w{1,8}=\d{1,10} HTTP/1\.1/";flowbits:isset, bx_first_get_resp; flowbits:set, bx_second_get_req; noalert;classtype:web-attack; sid:3000022; rev:1; metadata:created_at 2019_11_20,updated_at 2019_11_20;)
alert http any any -> any any(msg:"MALWARE-BACKDOOR Behinder webshell online detected"; flow:established,to_client; pcre: "/\r\n\r\n[A-Za-z0-9]{16}$/"; content:"Content-Length: 16"; fast_pattern; nocase; flowbits: isset,bx_second_get_req; flowbits:set, bx_second_get_resp; noalert;classtype:web-attack; sid:3000023; rev:1; metadata:created_at 2019_11_20,updated_at 2019_11_20;)
alert http any any -> any any(msg:"MALWARE-BACKDOOR Behinder webshell online detected"; flow:established,to_server; content:"POST"; http_method; pcre:"/\.(php|jsp|asp|jspx|aspx) HTTP/1\.1/"; flowbits:isset, bx_second_get_resp;flowbits:set, bx_first_post_req; noalert; classtype:web-attack; sid:3000024;rev:1; metadata:created_at 2019_11_20, updated_at 2019_11_20;)
alert http any any -> any any(msg:"MALWARE-BACKDOOR Behinder webshell online detected"; flow:established,to_client; pcre: "/[^\w\s><=\-'"\:\;\,\!\(\)\{\}][\w]{2}[^\w\s><=\-'"\.\:\;\,\!\(\)\{\}][a-zA-Z\d]{2}/";content: "200 OK"; content: "Content-Type: text/html";flowbits: isset, bx_first_post_req; classtype:web-attack; sid:3000025; rev:1;metadata:created_at 2019_11_20, updated_at 2019_11_20;)
alert http any any -> any any(msg:"MALWARE-BACKDOOR Behinder webshell-jspx online"; flow:established,to_server; pcre:"/\r\n\r\n[a-zA-Z\d\+\/]{10,}\/[a-zA-Z\d\/]{50}/"; content:"Content-Type: application/octet-stream"; fast_pattern; flowbits:isset, bx_second_get_resp; flowbits: set, bx_req_jspx; noalert;classtype:web-attack; sid:3000026; rev:1; metadata:created_at 2019_11_20,updated_at 2019_11_20;)
alert http any any -> any any(msg:"MALWARE-BACKDOOR Behinder webshell-jspx online"; flow:established,to_client; pcre:"/[^\w\s><=\-'"\:\;\,\!\(\)\{\}][\w]{2}[^\w\s><=\-'"\.\:\;\,\!\(\)\{\}][a-zA-Z\d]{2}/";content: "200 OK"; content: "Content-Type: text/xml";fast_pattern; flowbits: isset, bx_req_jspx; classtype:web-attack; sid:3000027;rev:1; metadata:created_at 2019_11_20, updated_at 2019_11_20;)
WebShell流量特征检测_冰蝎篇的更多相关文章
- 冰蝎动态二进制加密WebShell特征分析
概述 冰蝎一款新型加密网站管理客户端,在实际的渗透测试过程中有非常不错的效果,能绕过目前市场上的大部分WAF.探针设备.本文将通过在虚拟环境中使用冰蝎,通过wireshark抓取冰蝎通信流量,结合平时 ...
- 冰蝎动态二进制加密WebShell基于流量侧检测方案
概述 冰蝎是一款新型动态二进制加密网站工具.目前已经有6个版本.对于webshell的网络流量侧检测,主要有三个思路.一:webshell上传过程中文件还原进行样本分析,检测静态文件是否报毒.二:we ...
- 冰蝎&哥斯拉 流量特征分析
1.冰蝎(Behinder) 下载链接:https://github.com/rebeyond/Behinder/releases 截止至我发贴时,冰蝎最新版本是3.0,客户端兼容性有所提升(但仍不是 ...
- 记一次解密wireshark抓取的冰蝎通信流量
一.关于冰蝎 1.1 简单介绍 冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端.老牌 Webshell 管理神器——中国菜刀的攻击流量特征明显,容易被各类安全设备检测,实际场 ...
- MacOS下如何优雅的使用冰蝎
因为冰蝎也是使用 JAVA 写的跨平台应用程序,我们可以借助 macOS 自带的 自动操作 automator.app 来创建一个应用程序. 前言: 冰蝎是一种新型的Webshell连接工具,在日常的 ...
- 【原创】冰蝎v3.0操作使用手册
写在前面 近期冰蝎更新了内网穿透模块中的一些功能,有不少朋友不知道参数怎么填,希望能出一个使用指导手册,就借这个机会写一个"说明书"(文中有大量演示动图,请耐心等待加载). 基本信 ...
- 利用shiro反序列化注入冰蝎内存马
利用shiro反序列化注入冰蝎内存马 文章首发先知社区:https://xz.aliyun.com/t/10696 一.shiro反序列化注入内存马 1)tomcat filter内存马 先来看一个普 ...
- 内网安全之横向移动(冰蝎&&msf&&IPC$)
1.冰蝎介绍 冰蝎是一款目前比较流行的Webshell管理工具,在2021年更新的2021.4.20 v3.0 Beta 9 版本中去除了动态密钥协商机制,采用预共享密钥,载荷全程无明文.因其优秀的加 ...
- Mysql优化_第十三篇(HashJoin篇)
Mysql优化_第十三篇(HashJoin篇) 目录 Mysql优化_第十三篇(HashJoin篇) 1 适用场景 纯等值查询,不能使用索引 等值查询,使用到索引 多个join条件中至少包含一个等值查 ...
- pytho简单爬虫_模拟登陆西电流量查询_实现一键查询自己的校园网流量
闲来无事,由于校园内网络是限流量的,查询流量很是频繁,于是萌生了写一个本地脚本进行一键查询自己的剩余流量. 整个部分可以分为三个过程进行: 对登陆时http协议进行分析 利用python进行相关的模拟 ...
随机推荐
- JavaScript --函数--手稿
- Mac mysql 5.7.x 设置服务开机自启动
在终端输入 sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist 输入以下内容 <?xml version="1.0" e ...
- 用 Git 操作的数据库?这个项目火了!
# 用 Git 操作的数据库?这个项目火了!> 超级特别又实用的数据库,快来补课!Git 是一个开源的分布式版本控制系统,可以敏捷高效地管理代码,让项目代码支持同时存在多个不同的版本和分支,是程 ...
- [oeasy]python0011 - python虚拟机的本质_cpu架构_二进制字节码_汇编语言
程序本质 回忆上次内容 我们把python源文件 词法分析 得到 词流(token stream) 语法分析 得到 抽象语法树(Abstract Syntax Tree) 编译 得到 字节码 (b ...
- 靶机: Chronos
靶机: Chronos 准备 靶机:https://www.vulnhub.com/entry/chronos-1,735/ 使用 VirtualBox 网络 Host-Only 配置网络环境:htt ...
- 顺序表_C
// Code file created by C Code Develop #include "ccd.h" #include "stdio.h" #incl ...
- python global变量作用域
python变量作用域 var1 = 123 def func(): var1 = 456 print(var1) func() #456 print(var1) #123 ============= ...
- Vue打包部署到CentOS 7
项目打包 在项目目录下执行打包目录进行打包 yarn build // 或者 npm run build 打包完成后会生成一个dist文件夹,这样就打包完成了(我这样做了SEO的,所有目录结构有点不一 ...
- 基于 TrueLicense 项目证书生成
一.创建公钥私钥 1.首先要用 KeyTool 工具来生成私匙库:(-alias别名 -validity 3650 表示10年有效,这个时间不是License的过期时间) keytool -genke ...
- 【Maxwell】02 Kafka配置
一.快速搭建Kafka环境 基于Docker容器创建(供参考): https://www.cnblogs.com/mindzone/p/15608984.html 这里简要写一下命令: # 拉取zk ...