冰蝎

冰蝎

    • 什么是冰蝎?
    • 冰蝎的特点
    • 加密原理
    • 通信过程

什么是冰蝎?

“冰蝎”是一个动态二进制加密网站管理客户端。在实战中,第一代webshell管理工具"菜刀"的流量特征非常明显,很容易就被安全设备检测到。基于流量加密的webshell变得越来越多,"冰蝎"在此应运而生。
"冰蝎"客户端基于JAVA,所以可以跨平台使用,最新版本为v2.0.1,兼容性较之前的版本有较大提升。主要功能为:基本信息、命令执行、虚拟终端、文件管理、Socks代理、反弹shell、数据库管理、自定义代码等,功能非常强大

冰蝎的特点

  • 流量加密,难以被检测
  • webshell免杀性好
  • 加密方式:AES加密

加密原理

我们以PHP版本为例,"冰蝎"在服务端支持open_ssl时,使用AES加密算法,密钥长度16位,也可称为AES-16。此在软件及硬件(英特尔处理器的AES指令集包含六条指令)上都能快速地加解密,内存需求低,非常适合流量加密。

加密流程大致如下图所示:
在这里插入图片描述

  1. 客户端用GET形式向服务器发起带密码的请求
  2. 服务端产生随机密钥,将密钥写入session返回给客户端
  3. 客户端获取到密钥后,将payload用AES加密,用POST形式发送请求
  4. 服务器收到请求后,用session中的密钥解密请求的Body部分,之后执行Payload,直接将结果返回到客户端。
  5. 客户端获取执行结果,显示到UI界面上。

我们看到在图中,"冰蝎"在执行Payload之后的返回,并没有显示加密,这点我们可以从自带的webshell中看出。

在这里插入图片描述这个问题需要解密一下"冰蝎"的流量,才能知道答案。

通信过程

我们用wireshark来抓包看下"冰蝎"通信过程:
在这里插入图片描述
在这里插入图片描述
从抓包结果上粗略来看,加密效果是不错的,全程基本没有可读的执行代码。

我们用服务端返回的密钥,对客户端发送的报文内容进行解密。

解密结果为如下代码:

在这里插入图片描述
在这里插入图片描述
我们发现核心内容只是一个简单的JSON格式的success的返回,但是会将结果使用AES包装一层加密,所以我们看到webshell中没有加密,而流量却是加密的。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部