从0到1打造一款堪称完美antSword(蚁剑) | 您所在的位置:网站首页 › openssl_pkey_get_public › 从0到1打造一款堪称完美antSword(蚁剑) |
从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 └── uibase文件夹 (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 实验室设备网 版权所有 |