从0到1打造一款堪称完美antSword(蚁剑) 您所在的位置:网站首页 openssl_pkey_get_public 从0到1打造一款堪称完美antSword(蚁剑)

从0到1打造一款堪称完美antSword(蚁剑)

2023-12-21 23:07| 来源: 网络整理| 查看: 265

从0到1打造一款堪称完美antSword(蚁剑)

xq17 / 2019-11-10 11:10:00 / 浏览数 32748 社区板块 WEB安全 顶(8) 踩(0) 从0到1打造一款堪称完美antSword(蚁剑) 0x0 前言

  很久之前,自己写了一篇从静态到动态打造一款免杀的antSword(蚁剑),然后其他师傅提出了很多我没有考虑到的问题,正巧最近我也遇到这个问题,然后debug+查阅了相关文章,这里我将自己的流程记录下来,方便读者学习。

0x1 蚁剑组件介绍

1.发包方式

蚁剑除了常规的get post发包之外,还有用于绕waf的表单发包,以及最新的分块传输(不稳定)

对于性能低的waf有很好的免疫效果,默认放行。

2.编码器

用于对请求包进行解码

3.解码器

主要用于对返回数据包进行解码

4.插件模块

开发及其参考链接

我们可以利用插件进行一些连动,比如自动上传提权脚本等之类的东西

0x2 下载一些前置文件

1.shell脚本大全

git clone https://github.com/AntSwordProject/AwesomeScript.git

2.编码器大全

git clone https://github.com/AntSwordProject/AwesomeEncoder.git

3.安装前端加密库crypto-js

npm install crypto-js

0x3 简单了解蚁剑的结构

核心文件主要在source目录下

# $ tree -l 1 -d ./ ── base ├── core │ ├── asp │ │ ├── decoder │ │ ├── encoder │ │ └── template │ │ └── database │ ├── aspx │ │ ├── decoder │ │ ├── encoder │ │ └── template │ │ └── database │ ├── custom │ │ ├── decoder │ │ ├── encoder │ │ └── template │ │ └── database │ ├── php │ │ ├── decoder │ │ ├── encoder │ │ └── template │ │ └── database │ └── php4 ├── language ├── modules │ ├── database │ │ ├── asp │ │ ├── aspx │ │ ├── custom │ │ └── php │ ├── filemanager │ ├── plugin │ ├── settings │ ├── shellmanager │ │ ├── category │ │ └── list │ ├── terminal │ └── viewsite └── ui

base文件夹

(1)检测编码方式然后选择合适的解码

(2)utils存放了一些随机方法

(3)word.js存放了最新的单词变量列表

core

这是核心代码文件夹

├── index.js

├── base.js

├── php │ ├── decoder │ │ ├── base64.js │ │ ├── default.js │ │ └── rot13.js │ ├── encoder │ │ ├── base64.js │ │ ├── chr.js │ │ ├── chr16.js │ │ └── rot13.js

...................

根据语言类别有不同的实现方式,下面我们就针对php来分析下

其他

基础代码,这里就略过了

0x4 core部分源码浅析

  作者的开发习惯相当好,从注释中我们就能看出相应的函数功能。

source/code目录为核心的代码目录

index.js 加载模块

base.js 加载配置和集成了一些方法,比较重要的有请求中间件返回处理方法

解密返回包

加密模版

这里就是解析模版

command.js 的模版

我们可以看到命令执行的模版其实就是对应上面那个arg生成和处理部分,这就是为什么会有xz师傅提到的原因啦,后来蚁剑作者也给出了方案,只是很多人不会用而已,下面看我怎么操作的吧。

0x5 打造一款流量全加密的RSAshell

笔者现在是最新版v2.1.7,不得不说,作者真的是一个无可挑剔的开发者,支持本地直接更新代码。

流量加密RSAshell

优点:

1.请求包采用rsa非对称加密方式可以有效防止别人窃取shell,而且可以添加时间间隔,阻止别人流量劫持

2.返回包采用aes 动态对称加密有效免疫waf检测

》〉下面其实主要是蚁剑的可选功能

3.采用蚁剑自带的随机参数,有效过掉waf拦截0x等类型的规则

4.可以选用multipart发包方式,分块传输等方式考验waf的性能。

缺点:

1.对hook关键函数然后匹配行为、机器学习等新型waf没有效果

2.需要openssl扩展

3.shell体积有点大,比较明显,不好隐藏

首先我们生成rsa配置

这里我们就可以得到我们的公钥、私钥以及我们的phpshell,非常方便

-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCC9BPAAA3EgNhVX9x5kjXwwbrA AJSSl46CsjcloOjytsQZoR/Tn0QxI/sCaHJ23/DLviDbhZbYh3aJjXDLrGJXnQvx BUj1a/YZDq/ZqlibffV54ljOhh6A/IIk6KmXXZBETA9GxI32vqDfqvbnuzyZMWvT ShEmTzwYh4qW53cN+wIDAQAB -----END PUBLIC KEY----- -----BEGIN RSA PRIVATE KEY----- xxxxxxxxx -----END RSA PRIVATE KEY-----


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有