冰蝎--安装、使用
用途限制声明,本文仅用于网络安全技术研究、教育与知识分享。文中涉及的渗透测试方法与工具,严禁用于未经授权的网络攻击、数据窃取或任何违法活动。任何因不当使用本文内容导致的法律后果,作者及发布平台不承担任何责任。渗透测试涉及复杂技术操作,可能对目标系统造成数据损坏、服务中断等风险。读者需充分评估技术能力与潜在后果,在合法合规前提下谨慎实践。
冰蝎(Behinder)是一款在网络安全领域(尤其是渗透测试和红队行动中)广为人知的 动态加密型 Web 管理客户端。它本质上是一个 高级的 WebShell 管理工具,以其强大的通信加密和内存马技术而闻名,显著提高了攻击的隐蔽性,给传统基于流量特征和文件落地的安全检测带来了巨大挑战。
一、介绍
-
性质: 冰蝎是一款功能强大的动态加密Webshell管理客户端。
-
目的: 攻击者在成功利用漏洞(如文件上传漏洞、命令注入漏洞等)将一个小型的Webshell后门文件上传到目标Web服务器后,使用冰蝎客户端来连接、管理和控制这个后门,从而完全操控被入侵的服务器。
-
特点:
-
高度隐蔽性: 核心特点是通信全程动态加密/混淆。客户端与服务器端的Webshell之间的通信流量(包括请求和响应)都经过强加密(如AES)和编码(如Base64),使得传统的基于特征匹配的WAF、IDS/IPS难以检测和拦截。
-
流量伪装: 通信协议模拟HTTP/HTTPS,试图伪装成正常Web流量。
-
内存马支持: 高级版本支持将恶意代码注入到Web服务器进程(如Tomcat, Jboss, WebLogic等)的内存中执行(称为“内存马”)。这种方式不落地文件,重启后失效,但极难被常规文件扫描发现,检测和清除难度极大。
-
跨平台: 客户端基于Java开发,可在多种操作系统上运行。服务端Webshell支持JSP、PHP、ASPX等多种脚本语言。
-
功能强大: 提供文件管理、虚拟终端(执行系统命令)、数据库管理、内网代理、端口扫描、内网穿透(Socks代理)、屏幕截图、键盘记录等多种攻击功能模块。
-
二、工作原理
冰蝎的工作流程可以分为几个关键阶段:
-
初始植入:
-
攻击者首先需要通过其他漏洞(如文件上传、RCE、反序列化等)在目标 Web 服务器上部署一个非常小的、初始的“桩”程序。这个“桩”通常是一个体积很小、功能极其简单的 Webshell 脚本文件(如
behinder.jsp
,behinder.aspx
,behinder.php
)。 -
这个“桩”的核心作用仅仅是为了接收冰蝎客户端发送过来的加密指令和 Payload,并将其加载执行。它本身不具备复杂的恶意功能。
-
-
连接与密钥协商:
-
攻击者启动冰蝎客户端,配置目标 URL(指向部署的“桩”程序)和连接密码。
-
客户端发起第一次 HTTP 请求到“桩”。
-
“桩”程序收到请求后,会利用预设的机制(通常基于连接密码)动态生成一个随机的会话密钥。
-
“桩”将这个密钥加密(通常用客户端的公钥或基于密码的算法)后返回给冰蝎客户端。
-
客户端用自己的私钥或密码解密,获得后续通信使用的对称加密会话密钥(如 AES 密钥)。
-
-
内存马注入:
-
冰蝎客户端使用协商好的会话密钥,加密一个精心构造的、功能完整的恶意 Payload。这个 Payload 就是“内存马”的核心代码。
-
客户端将加密后的 Payload 通过 HTTP POST 请求发送给“桩”程序。
-
“桩”程序接收到加密数据后,用会话密钥解密得到 Payload。
-
关键步骤: “桩”程序利用目标 Web 容器的特性(如 Java 的类加载机制、.NET 的 Assembly 加载、PHP 的
eval
或扩展)将解密后的 Payload 动态加载到 Web 服务器进程的内存空间并执行。这个 Payload 会:-
挂钩(Hook)关键的系统函数或 Web 请求处理流程(如
javax.servlet.Filter
,System.Web.IHttpModule
, PHP 的auto_prepend_file
等)。 -
在内存中创建一个无文件的、功能完备的后门,监听特定的请求路径或参数。
-
这个内存马一旦注入成功,就完全驻留在内存中,不依赖于最初部署的“桩”文件。即使删除原始的“桩”文件,只要 Web 服务器进程不重启,内存马依然有效。
-
-
-
加密通信与控制:
-
后续所有的操作(文件管理、命令执行、数据库操作等)都由冰蝎客户端发起。
-
客户端将指令和所需数据用会话密钥加密,通过 HTTP 请求发送到内存马监听的特定路径。
-
内存马接收到请求后:
-
解密指令和数据。
-
在 Web 服务器进程的上下文中执行指令(如调用系统命令 API、操作文件系统、连接数据库、扫描内网等)。
-
将执行结果加密。
-
通过 HTTP 响应将加密结果返回给冰蝎客户端。
-
-
冰蝎客户端解密响应,将结果显示在图形化界面上给攻击者。
-
整个通信过程在网络上看到的只是看似随机的、加密的 HTTP 请求和响应数据包,没有明显的恶意特征。
-
三、为什么冰蝎难以防御?
-
流量加密: 高强度、动态密钥的加密使得基于特征匹配的流量审计(IDS/IPS/WAF)失效。
-
无文件落地(内存马):
-
磁盘上只有最初那个简单的“桩”,核心恶意代码在内存中,文件扫描工具找不到。
-
内存马注入后,删除“桩”文件不影响后门运行。
-
重启 Web 服务会清除内存马,但攻击者可以通过其他持久化手段或再次利用漏洞重新注入。
-
-
行为隐蔽: 通信模拟正常 Web 流量(HTTP/HTTPS),内存操作在合法进程内部进行,行为监控难度大。
-
利用合法进程: 内存马寄生在
java.exe
,w3wp.exe
,php-fpm.exe
等合法 Web 服务进程中,绕过基于进程名的监控。
四、安装
下载地址:冰蝎-一款强大的内网后门工具资源-CSDN下载
下载后文件如图所示,我们进行终端,通过运行jar文件即可进入web页面,我们也可以通过创建一个bat脚本文件来直接运行其jar文件
脚本代码如下,创建bat文件,直接运行即可
@echo off
setlocal enabledelayedexpansion:: 设置JAR文件名(请替换为你的jar文件名)
set JAR_FILE=Behinder.jar:: 检查JAR文件是否存在
if not exist "!JAR_FILE!" (echo 错误:未找到文件 "!JAR_FILE!"echo 请确认JAR文件名是否正确,或是否与本脚本在同一目录pauseexit /b 1
):: 检查Java环境
java -version >nul 2>&1
if %errorlevel% neq 0 (echo 错误:未检测到Java环境echo 请确保已安装Java并配置好环境变量pauseexit /b 1
):: 运行JAR文件
echo 正在启动应用程序...
echo 运行命令:java -jar "!JAR_FILE!"
echo.
java -jar "!JAR_FILE!":: 捕获应用程序退出代码
set exit_code=%errorlevel%
echo.
echo 应用程序已退出,退出代码:!exit_code!
pause
exit /b !exit_code!
每次打开只要点击bat文件即可,进去页面如下所示
这个工具主要应用于web服务端方面,只要能够上传脚本文件至目标机,并且知道其文件的绝对路径,就可以通过此脚本来获得目标机的webshell,只要目标机没有检测出脚本文件所在,并且目标机运行,那么此工具可以随时随地获得目标机webshell。所以说这是一款强大的后门工具,此类工具很多,比如蚁剑、菜刀、哥斯拉等,冰蝎工具的优势在于有动态加密的特征,更加隐蔽。接下来就是如何使用
1、生成木马
左上角的传输协议处,然后协议名称选择base64,接着生成服务端
生成木马如下
2、连接
然后把文件放在web目录下,进行访问连接
URL填写木马文件所在的地址,传输协议选择你所选择的,然后保存即可
成功连接并且访问,那么就可以进行一系列的操作了,比如查看文件,甚至能够与msf联动,进行内网渗透等一系列操作
最后在连接的过程中,可能会出现一种问题,java版本问题
这里只要更改为jdk-17即可。