FlySecAgent:——MCP全自动AI Agent的实战利器

最近,出于对人工智能在网络安全领域应用潜力的浓厚兴趣,我利用闲暇时间进行了深入研究,并成功开发了一款小型轻量化的AI Agent安全客户端FlySecAgent。

什么是 FlySecAgent?

这是一个基于大语言模型和MCP(Model-Controller-Plugin)和Rag架构的网络安全智能助手项目。它旨在通过自然语言交互,帮助用户执行渗透测试任务、查询安全信息、分析流量包等。

项目地址: https://github.com/hnking-star/FlySecAgent

FlySecAgent实战体验

配置好url,并且写上对应的key,这里我使用的是gpt-4o来演示

运行项目界面,并且在服务端启动好对应的mcp工具

sql注入

以往,SQL注入攻击需要资深安全人员手动构造复杂的语句,或依赖sqlmap等工具的特定参数。而FlySecAgent则将这一过程提升到智能化的新高度。当笔者指令助手进行SQL注入时,它能够迅速识别目标,并精准地爆破出完整的数据库名、表名,直至详尽的数据内容。

当我让助手帮我对其进行sql注入。发现他爆出了完整的库名

发现他爆出了完整的表名

爆出完整的数据

这展现了FlySecAgent结合AI的强大潜力:它能够理解上下文,自动生成和调整攻击载荷,使得sqlmap等工具的运用变得前所未有的灵活和高效,极大地减少了人工查找特定指令的繁琐步骤。

fofa查询

在资产侦察阶段,Fofa等搜索引擎是不可或缺的利器。FlySecAgent将其集成,使得复杂查询变得轻而易举。例如,当笔者要求查询"baidu.com"的子域名时,FlySecAgent迅速列出了大量相关子域名。

发现他列出了baidu的许多子域名

进一步,当指令查询某个IP段的C段信息时,FlySecAgent也能精确识别并列出所有相关的C段地址。这种能力使得安全研究人员能够以前所未有的速度和便捷性,进行大规模的资产清查和目标锁定。

成功列出所有的C段

调用kali进行nmap扫描

FlySecAgent 的强大之处还在于其对常用渗透测试工具的无缝集成。通过调用Kali Linux中的工具,它能够执行一系列关键任务:

对其进行端口扫描

发现都准确无误

调用kali进行文件扫描

调用fscan进行扫描

其他工具的扫描

FlySecAgent 支持通过 stdiosse 两种MCP连接方式,这为开发者和安全专家提供了无限的扩展空间。这意味着,用户可以连接更多功能丰富的第三方MCP工具,从而显著提升FlySecAgent的渗透测试能力。目前,Kali的MCP因其丰富的工具集而被高度推荐,它能够进一步释放FlySecAgent在实际渗透场景中的威力。

数据包研判效果

POST /admin/controller.jsp HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Cookie: JSESSIONID=ABCD1234567890; user_token=xyzABC123; admin_session=true;
Content-Type: application/x-www-form-urlencoded
Content-Length: 110
Cache-Control: no-store, no-cache, must-revalidate

xc=b2JmdXNjYXRlZCBqYXZhIHJlZmxlY3Rpb24gY29kZSBmb3IgY29tbWFuZCBleGVjdXRpb24%3D&pass=MzIxYWRhYmNl  

这是一个简单的webshell流量

经过分析,得出了结果,但是结果不是很准确,有可能是因为我的知识库目前还没完善,这个数据包分析都是基于rag去检索的,所以有想法的师傅可以往知识库中添加东西来提高它研判的准度

Rag调用本地安全知识库

FlySecAgent 提供了一个本地知识库目录,用户可以在其中添加大量的安全知识。上文提到的流量包分析功能正是基于这一RAG知识库实现的。通过RAG机制,大模型在处理用户指令或分析数据时,会首先从本地知识库中检索相关信息,然后结合自身的语言理解和推理能力给出更精准的答案。

使用该目录可以往其中添加大量的安全知识,上面的流量包分析也是我基于rag知识库实现的,我认为他可以大大提升大模型的精确度

例如我在这里加了这么一些知识的简介

rag就会先从知识库去检索,然后再让大模型去处理,再返回给我们准确的答案

img

最新网络安全新咨询搜索

这边我是推荐使用tavily-search这个mcp

img

img

这样可以在我们打站的时候更加方便的去寻找最新的漏洞poc

img编辑

img

这一功能在实战渗透测试中尤为实用,它能够让安全人员在最短的时间内获取最新威胁信息,从而更有效地发现并利用潜在的漏洞,提升攻击效率和成功率。


FlySecAgent 不仅仅是一个开源项目,它更是未来网络安全智能化的一个缩影。它巧妙地将大语言模型强大的自然语言理解能力与传统渗透测试工具的专业功能深度融合,并借助MCP的灵活性和RAG的知识增强能力,为安全专业人员提供了一个前所未有的智能助手。

从自动化SQL注入到智能资产侦察,从无缝集成Kali工具到实时威胁情报查询,FlySecAgent正在重塑我们进行渗透测试和安全分析的方式。它不仅极大地提升了工作效率,更通过智能化的交互降低了操作门槛,使得复杂的安全任务变得更加直观和易于执行。

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

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

相关文章

实战项目5(08)

目录 任务场景一 【r1配置】 【r2配置】 【r3配置】 ​​​​​​​任务场景二 【r1配置】 【r2配置】 ​​​​​​​任务场景一 按照下图完成网络拓扑搭建和配置 任务要求: 通过在路由器R1、R2和R3上配置静态路由,实现网络中各终端PC能够正常…

基于Kubernetes的Apache Pulsar云原生架构解析与集群部署指南(下)

文章目录 k8s安装部署Pulsar集群前期准备版本要求 安装 Pulsar Helm chart管理pulsarClustersBrokersTopic k8s安装部署Pulsar集群 前期准备 版本要求 Kubernetes 集群,版本 1.14 或更高版本Helm v3(3.0.2 或更高版本)数据持久化&#xff…

C35-数组和函数开发初见

一 数组作为函数的参数 用于传递数组中的某一个元素→意义不大 数组名当做函数实际参数 示例 代码 #include <stdio.h>//封装函数PrintArr void PrintArr(int arr[3]){int i;for(i0;i<3;i){printf("%d ",arr[i]);}putchar(\n);}//主函数 int main() { …

【小沐学GIS】基于C++绘制二维瓦片地图2D Map(QT、OpenGL、GIS)

&#x1f37a;三维数字地球系列相关文章如下&#x1f37a;&#xff1a;1【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;OpenGL、glfw、glut&#xff09;第一期2【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;OpenGL、glfw、glut、GIS&#xff09;第二期3【小沐学…

idea左侧项目资源管理器不见了处理

使用idea误触导致&#xff0c;侧边栏和功能栏没了&#xff0c;如何打开&#xff1f; 1.打开文件&#xff08;File&#xff09; 2. 打开设置&#xff08;Settings&#xff09; 3.选择Appearance&Behavior--->Appearance划到最下面&#xff0c;开启显示工具栏和左侧并排布…

[Java实战]Spring Boot 静态资源配置(十三)

[Java实战]Spring Boot 静态资源配置&#xff08;十三&#xff09; 引言 静态资源&#xff08;如 HTML、CSS、JavaScript、图片等&#xff09;是 Web 应用的基石。Spring Boot 通过自动化配置简化了静态资源管理&#xff0c;但面对复杂场景&#xff08;如多模块项目、CDN 集成…

多模态大语言模型arxiv论文略读(六十九)

Prompt-Aware Adapter: Towards Learning Adaptive Visual Tokens for Multimodal Large Language Models ➡️ 论文标题&#xff1a;Prompt-Aware Adapter: Towards Learning Adaptive Visual Tokens for Multimodal Large Language Models ➡️ 论文作者&#xff1a;Yue Zha…

Python 基础语法与数据类型(七) - 函数的定义与调用 (def, return)

文章目录 为什么要使用函数&#xff1f;函数的定义 (def)函数的调用函数参数 (Parameters vs Arguments)返回值 (return)变量作用域 (简要了解)总结练习题练习题答案 **创作不易&#xff0c;请大家点赞加收藏&#xff0c;关注我&#xff0c;持续更新教程&#xff01;** 到目前为…

华为配置篇-RSTP/MSTP实验

MSTP 一、简介二、常用命令总结三、实验 一、简介 RSTP&#xff08;快速生成树协议&#xff09;​ RSTP&#xff08;Rapid Spanning Tree Protocol&#xff09;是 STP 的改进版本&#xff0c;基于 ​​IEEE 802.1w 标准​​&#xff0c;核心目标是解决传统 STP 收敛速度慢的问…

Docker Compose 完全指南:从入门到生产实践

Docker Compose 完全指南&#xff1a;从入门到生产实践 1. Docker Compose 简介与核心价值 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件来配置应用的服务&#xff0c;只需简单命令就能创建和启动所有服务。 核心优势&#xff1a;…

Linux 离线安装 Docker 和 Docker Compose 最新版 的完整指南

一、准备工作 1. 下载安装包​&#xff08;需在有网络的机器操作&#xff09;&#xff1a; Docker 引擎&#xff1a;从官方仓库下载最新二进制包 wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.6.tgz​Docker Compose&#xff1a;下载最新二进制…

CSS: 选择器与三大特性

标签选择器 标签选择器就是选择一些HTML的不同标签&#xff0c;由于它们的标签需求不同&#xff0c;所以CSS需要设置标签去选择它们&#xff0c;为满足它们的需求给予对应的属性 基础选择器 标签选择器 <!DOCTYPE html> <head><title>HOME</title>…

鸿蒙跨平台开发教程之Uniapp布局基础

前两天的文章内容对uniapp开发鸿蒙应用做了一些详细的介绍&#xff0c;包括配置开发环境和项目结构目录解读&#xff0c;今天我们正式开始写代码。 入门新的开发语言往往从Hello World开始&#xff0c;Uniapp的初始化项目中已经写好了一个简单的demo&#xff0c;这里就不再赘述…

JavaSE核心知识点02面向对象编程02-08(异常处理)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 JavaSE核心知识点02面向对象编程02-08&#…

【JVM-GC调优】

一、预备知识 掌握GC相关的VM参数&#xff0c;会基本的空间调整掌握相关工具明白一点&#xff1a;调优跟应用、环境有关&#xff0c;没有放之四海而皆准的法则 二、调优领域 内存锁竞争cpu占用io 三、确定目标 【低延迟】&#xff1a;CMS、G1&#xff08;低延迟、高吞吐&a…

基于单片机的电子法频率计

一、电子计数法测频率原理 通过门控控制闸门开关&#xff0c;闸门时间T自己设定&#xff0c;计数器计数脉冲个数N&#xff08;也就是待测信号&#xff09;&#xff0c;N个脉冲的时间间隔为δt,倒数即为信号的频率f,由此 δtT/N fN/T——信号频率 根据公式&#xff0c;如果考虑…

【C/C++】跟我一起学_C++同步机制效率对比与优化策略

文章目录 C同步机制效率对比与优化策略1 效率对比2 核心同步机制详解与适用场景3 性能优化建议4 场景对比表5 总结 C同步机制效率对比与优化策略 多线程编程中&#xff0c;同步机制的选择直接影响程序性能与资源利用率。 主流同步方式: 互斥锁原子操作读写锁条件变量无锁数据…

判断两台设备是否在同一局域网内的具体方法

以下是判断两台设备是否在同一局域网内的具体方法&#xff1a; 1. 检查IP地址和子网掩码 操作步骤&#xff1a; Windows系统&#xff1a; 按 Win R 键&#xff0c;输入 cmd 并回车。输入 ipconfig&#xff0c;查看 IPv4 地址 和 子网掩码&#xff08;如 192.168.1.5/255.255.2…

在R语言中如何将列的名字改成别的

在 R 中&#xff0c;更改数据框&#xff08;data frame&#xff09;中列的名字可以通过多种方法实现。以下是几种常见的方法&#xff1a; 方法 1&#xff1a;使用 names() 函数 names() 函数可以获取或设置数据框的列名。 示例 假设我们有一个数据框 data&#xff1a; dat…

JUC并发编程(上)

一、JUC学习准备 核心知识点&#xff1a;进程、线程、并发&#xff08;共享模型、非共享模型&#xff09;、并行 预备知识&#xff1a; 基于JDK8,对函数式编程、lambda有一定了解 采用了slf4j打印日志 采用了lombok简化java bean编写 二、进程与线程 进程和线程概念 两者对比…