一、技术融合背景:AI重构渗透测试范式
传统渗透测试依赖命令行工具(如Nmap)和人工经验,而AI的介入,彻底改变了这一流程:
-
自然语言驱动:用中文或英文描述扫描目标(如“扫描Wi-Fi中所有开放80端口的设备”),自动生成Nmap命令并执行;
-
动态策略优化:基于上下文实时调整扫描策略(如检测到路由器自动加载漏洞检测脚本);
-
结果智能解读:Nmap原始输出 → AI提炼风险点(如“IP 192.168.1.15存在未授权访问的Redis服务”)。
✅ Kali NetHunter的独特价值:在Android设备上原生运行Kali工具链,将手机变为口袋渗透终端
Kali Nethunter手机上Nmap+LLM
感谢Nmap LLM Tools 项目, 现在可以直接在智能手机中使用 Nmap 的强大功能和大型语言模型(LLMs)。
其工作原理如下:
(1).在 Android 上安装 Termux 或使用 NetHunter。Nmap 适用于已 Root 和未 Root 的手机。在未 Root 的手机上,将仅限于非 Root 用户可以使用的功能, 即:无法进行操作系统指纹识别、SYN 扫描等。
Terms-app
Github地址: https://github.com/termux/termux-app
(2).从 GitHub 仓库安装 Nmap 和 LLM 工具。LLM 提供各种模型,包括本地 ollama。对于非本地模型,需要提供 API 密钥。
Nmap:
https://nmap.org/
LLM:
https://llm.datasette.io/en/stable/
先决条件
开始安装
llm安装
pip install llm
安装gemini插件
llm install llm-gemini
安装deepseek插件
pip install llm-deepseek
pip install llm-deepseek --break-system-packages 强制安装
设置 DeepSeek API 密钥
正确设置 DeepSeek API 密钥的方法:
执行命令
llm keys set deepseek
在交互提示后粘贴密钥
Enter key: [在此处粘贴你的密钥 sk-...] # 粘贴后按回车
下一步:测试 DeepSeek 模型调用
尝试用以下命令测试模型是否正常工作:
llm -m deepseek "你好,DeepSeek!请用一句话介绍你自己"
预期结果:
你会收到类似这样的响应:
我是DeepSeek-R1,由深度求索公司开发的人工智能助手...
以上只是方法,你可以用openai,gemini这些自然语言AI
安装llm-tools-nmap
下载:
Github: https://github.com/peter-hackertarget/llm-tools-nmap
git clone https://github.com/peter-hackertarget/llm-tools-nmap.git
使用llm-tools-nmap
在llm-tools-nmap目录中就可以使用啦
首先查看可用模型
llm models
命令:`llm models`
作用:列出当前配置的所有可用模型。
具体来说:
1. 该命令会显示已安装插件提供的模型。
2. 对于每个模型,会显示模型的标识符(ID)和别名(如果有)。
3. 还会显示模型所属的服务(如openai、gemini等)。
例如命令:`llm models`
作用:列出当前配置的所有可用模型。
具体来说:
1. 该命令会显示已安装插件提供的模型。
2. 对于每个模型,会显示模型的标识符(ID)和别名(如果有)。
3. 还会显示模型所属的服务(如openai、gemini等)。
例如
在上图中我框选的部分就是我要用的例子,所以下面的命令是
llm -m gemini-2.0-flash --functions llm-tools-nmap.py "扫描我的本地网络以查找活动主机"
分解命令:
`llm`: 主命令
`-m gemini-2.0-flash`: 指定使用的模型为 gemini-2.0-flash
`–functions llm-tools-nmap.py`: 加载自定义函数插件(此处为 nmap 工具集)
`”扫描我的本地网络以查找活动主机”`: 自然语言指令,要求扫描本地网络中的活动主机。
具体过程:
1. LLM 会解析自然语言指令,识别出用户想要执行“扫描本地网络”和“查找活动主机”的意图。
2. 由于加载了 `llm-tools-nmap.py` 插件,LLM 会检查该插件中注册的函数,寻找与“扫描网络”和“查找活动主机”相关的函数。
3. 在 `llm-tools-nmap.py` 中,应该有一个函数(例如 `scan_local_network_for_live_hosts` 或类似功能)被设计用来执行这个任务。
4. LLM 会决定调用这个函数,并生成必要的参数(例如,网络范围可能是自动获取的本地子网,如 192.168.1.0/24)。
5. 该函数将执行实际的 nmap 命令(例如:`nmap -sn 192.168.1.0/24`),然后解析输出。
6. 最后,LLM 会将结果以自然语言的形式返回给用户。
如下图所示:
实际应用场景:
快速网络审计:
# 扫描开放端口 llm -m gemini-2.0-flash --functions llm-tools-nmap.py "检查路由器的安全漏洞"
物联网设备发现:
# 查找网络摄像头 llm -m gemini-2.0-flash --functions llm-tools-nmap.py "找出网络中的所有摄像头设备"
渗透测试工作流:
# 多步骤自动化 cat active_hosts.txt | llm -m gemini-2.0-flash --functions llm-tools-nmap.py "对这些主机执行深度漏洞扫描"
技术优势:
零命令行知识:无需记忆Nmap参数
智能决策:自动选择最佳扫描策略
结果优化:原始数据 → 可读报告
扩展性强:可整合其他工具(如Metasploit)
2、本站永久网址:https://www.xheishou.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 最新
- 最热
只看作者