点击查看-X黑手网
点击查看-X黑手网
当Nmap遇上AI:用自然语言开启Kali Nethunter-Android渗透测试自动化时代

当Nmap遇上AI:用自然语言开启Kali Nethunter-Android渗透测试自动化时代

一、技术融合背景: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/

先决条件

  • Python 3.7+
  • LLM – Simon Willison 的大型语言模型命令行工具
  • Nmap – 网络探索工具和安全扫描仪

开始安装

llm安装

pip install llm

安装gemini插件

llm install llm-gemini

安装deepseek插件

pip install llm-deepseek

pip install llm-deepseek --break-system-packages   强制安装

image

设置 DeepSeek API 密钥

正确设置 DeepSeek API 密钥的方法:

执行命令

llm keys set deepseek

在交互提示后粘贴密钥

Enter key: [在此处粘贴你的密钥 sk-...]  # 粘贴后按回车

image

下一步:测试 DeepSeek 模型调用

尝试用以下命令测试模型是否正常工作:

llm -m deepseek "你好,DeepSeek!请用一句话介绍你自己"

预期结果
你会收到类似这样的响应:

我是DeepSeek-R1,由深度求索公司开发的人工智能助手...

image

以上只是方法,你可以用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

image

使用llm-tools-nmap

在llm-tools-nmap目录中就可以使用啦

首先查看可用模型

llm models

命令:`llm models`
作用:列出当前配置的所有可用模型。
具体来说:
1. 该命令会显示已安装插件提供的模型。
2. 对于每个模型,会显示模型的标识符(ID)和别名(如果有)。
3. 还会显示模型所属的服务(如openai、gemini等)。
例如命令:`llm models`
作用:列出当前配置的所有可用模型。
具体来说:
1. 该命令会显示已安装插件提供的模型。
2. 对于每个模型,会显示模型的标识符(ID)和别名(如果有)。
3. 还会显示模型所属的服务(如openai、gemini等)。
例如

20250810051111299-image

在上图中我框选的部分就是我要用的例子,所以下面的命令是

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 会将结果以自然语言的形式返回给用户。

如下图所示:

20250810051720673-image

实际应用场景:

快速网络审计

 
# 扫描开放端口
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)

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 共1条

请登录后发表评论