049-冰蝎,从入门到魔改.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"冰蝎" 从入门到魔改 "冰蝎" 是一个动态二进制加密网站管理客户端。在实战中,第一个 webshell 管理工具 "菜姬" 的流量特征非常明显,很容易被安全设备检测到。基于流量加密的 webshell 变得越来越多,"冰蝎" 在此应运而生。 "冰蝎" 客户端基于 JAVA,所以可以跨平台使用,最新版本为 v2.0.1,兼容性较之前的版本有较大提升。主要功能为:基本信息、命令执行、虚拟终端、文件管理、Socks 代理、反弹 shell、数据库管理、自定义代码等,功能非常强大。 加密原理 --------- 我们以 PHP 版本为例,"冰蝎" 在服务端支持 open_ssl 时,使⽤ AES 加密算法,密钥长度 16 位,也可称为 AES-16。此在软件及硬件 (英特尔处理器的 AES 指令集包含六条指令) 上都能快速地加解密,内存需求低,非常适合流量加密。 加密流程大致如下图所示: 首先客户端以 Get 形式发起带密码的请求。服务端产生随机密钥,将密钥写入 Session 并将密钥返回客户端。客户端获取密钥后,将 payload 用 AES 算法加密,用 POST 形式发送请求。服务端收到请求,用 Session 中的密钥解密请求的 Body 部分,之后执行 Payload,将直接结果返回到客户端。客户端获取返回结果,显示到 UI 界面上。 通信过程 ---------- 我们用 Wireshark 来抓包看下 "冰蝎" 通信过程:从抓包结果上粗略来看,加密效果是不错的,全程基本没有可读的执行代码。 时过境迁攻防技术一直都在不断发展的,要想保证攻防的持续有效,就需要不断地更新自己。"冰蝎" 的最新版本在发布于之后就没有进行过更新,而各大商的检测系统及 WAF 均已经对其特征进行分析并添加规则。各路分析其流量规则的文章也层出不穷。原版 "冰蝎" 已经不能满足攻防对战的要求了,这时我们需要自行动手。 魔改准备 ---------- 首先用 JD-GUI 等反编译工具,反编译 JAR 包获得源码。可以从中可以看到 UI 文件引入的包名看到,"冰蝎" 使用了 SWT 框架作为 UI。既然这样我们直接用 Eclipse 安装 WindowsBuilder,来直接创建 SWT 项目。直接创建项目。安装 WindowsBuilder 在 Eclipse 的 Marketplace 里搜索 WindowsBuilder,点击 Install 即可安装。之后我们直接创建基于 SWT 项目,即可避免因 swt 包缺失导致的报错问题。 我们将反编译之后的源码和 JAR 包导入项目,在通过搜索源码和修复报错(会有一大波报错等待你修复,可以多种反编译工具对比结果来修改)等方式尝试将源码跑起来。来。最终我们终于成功跑起来了反编译之后的代码。 可以看到项目结构比较简单清晰,主要逻辑都在 net 包下,Main.java 为程序入口。这里简单介绍下各个模块代码的作用:出于对原作者的瑞思拜,不会放出任何项目文件。 特征擦除 ---------- 经过对网上多篇对 "冰蝎" 特征的资料参考,总结出几条特征并将其特征给予修改擦除。以 PHP 版本为例,其他语言版本异曲同工。首当其冲的就是密钥交换时的参数,用 GET 请求方式,默认 webshell 的密码为 pass,并且参数值为 3 位随机数字。 修改思路:增加随机数量的随机参数和随机值(随机值不为全数字),并且密码参数不能固定为第一个。修改后的效果:默认在 header 中的 Content-type 字段,在一般情况下的 GET 形式访问是没有该字段的,只有 POST 形式的访问才会有。但 "冰蝎" 不论是 GET 形式还是 POST 形式的访问均包含此字段。
- 粉丝: 50
- 资源: 8282
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助