Nessus ARM M4 破解与插件更新完整指南
Warning法律声明:本文档仅供学习研究用途。破解商业软件可能违反软件许可协议和相关法律法规。建议通过官方渠道获取合法授权。
目录
概述
什么是 Nessus?
Nessus 是由 Tenable 公司开发的业界领先的漏洞扫描工具,用于识别网络中的安全漏洞、配置错误和合规性问题。
Nessus 版本对比
| 版本 | 授权类型 | IP 限制 | 价格 | 适用场景 |
|---|---|---|---|---|
| Nessus Essentials | 免费 | 16 个 IP | 免费 | 个人学习、家庭网络 |
| Nessus Professional | 商业授权 | 无限制 | ~$2,790/年 | 企业漏洞扫描 |
| Nessus Expert | 商业授权 | 无限制 | 更高 | 云环境、高级扫描 |
ARM M4 支持说明
Apple Silicon(M1/M2/M3/M4)基于 ARM64 (aarch64) 架构。Nessus 官方提供了针对 ARM64 架构的安装包:
- macOS ARM64 版本
- Linux AARCH64 版本(可在 UTM、Parallels 等虚拟机中运行)
环境准备
系统要求
操作系统:
- macOS 12.0+ (Monterey/Ventura/Sonoma)
- Ubuntu 20.04/22.04 ARM64
- Kali Linux ARM64
- Debian ARM64
硬件要求:
- Apple M1/M2/M3/M4 芯片
- 至少 4GB 内存
- 至少 10GB 可用磁盘空间
下载 Nessus
访问 Tenable 官方下载页面:
https://www.tenable.com/downloads/nessus选择对应平台:
- macOS (Apple Silicon):
Nessus-xxx-macos_arm64.dmg - Linux ARM64:
Nessus-xxx-ubuntu2204_aarch64.deb
- macOS (Apple Silicon):
Nessus 安装
macOS 安装步骤
# 1. 挂载 DMG 文件
hdiutil attach Nessus-10.x.x-macos_arm64.dmg
# 2. 安装
sudo installer -pkg /Volumes/Nessus/Nessus.pkg -target /
# 3. 启动 Nessus 服务
sudo /Library/Nessus/run/sbin/nessusd start
# 4. 访问 Web 界面
open https://localhost:8834
Linux ARM64 安装步骤
# Ubuntu/Debian
sudo dpkg -i Nessus-10.x.x-ubuntu2204_aarch64.deb
# 启动服务
sudo systemctl start nessusd
sudo systemctl enable nessusd
# 检查服务状态
sudo systemctl status nessusd
# 访问 Web 界面
# 浏览器打开: https://localhost:8834
激活方法
官方激活流程
Note这是官方推荐的合法激活方式
1. 获取激活码
Nessus Essentials(免费版):
- 访问:https://www.tenable.com/products/nessus/nessus-essentials
- 填写注册信息
- 激活码会发送到邮箱
Nessus Professional(商业版):
- 购买授权
- 从 Tenable 支持门户获取激活码
2. 命令行激活
macOS:
sudo /Library/Nessus/run/sbin/nessuscli fetch --register <激活码>
Linux:
sudo /opt/nessus/sbin/nessuscli fetch --register <激活码>
3. Web UI 激活
- 访问
https://localhost:8834 - 选择 "Nessus Essentials" 或 "Nessus Professional"
- 输入激活码
- 创建管理员账户
- 等待插件下载(约 15-30 分钟)
离线激活
Important适用于无法直接访问互联网的环境
步骤 1: 生成挑战码
macOS:
sudo /Library/Nessus/run/sbin/nessuscli fetch --challenge
Linux:
sudo /opt/nessus/sbin/nessuscli fetch --challenge
输出示例:
Challenge code: 1234567890abcdef1234567890abcdef
步骤 2: 获取离线许可证
在可联网的计算机上访问:
https://plugins.nessus.org/v2/offline.php输入:
- Activation Code: 你的激活码
- Challenge Code: 上一步生成的挑战码
下载文件:
nessus.license(许可证文件)all-2.0.tar.gz(插件包)
步骤 3: 导入许可证和插件
# macOS
sudo /Library/Nessus/run/sbin/nessuscli fetch --register-offline nessus.license
sudo /Library/Nessus/run/sbin/nessuscli update all-2.0.tar.gz
# Linux
sudo /opt/nessus/sbin/nessuscli fetch --register-offline nessus.license
sudo /opt/nessus/sbin/nessuscli update all-2.0.tar.gz
破解激活
Caution风险提示:
- 破解版本无法获得官方技术支持
- 可能包含恶意代码或后门
- 违反软件许可协议
- 可能导致系统不稳定
- 无法接收最新的安全更新
方案 1: 修改插件配置文件(绕过 IP 限制)
这个方法可以将 Nessus Essentials 的 16 IP 限制破解为无限:
# 1. 停止 Nessus 服务
# macOS
sudo launchctl unload /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist
# Linux
sudo systemctl stop nessusd
# 2. 定位插件信息文件
# macOS
cd /Library/Nessus/run/var/nessus/
# Linux
cd /opt/nessus/var/nessus/
# 3. 备份原始文件
sudo cp plugin_feed_info.inc plugin_feed_info.inc.bak
# 4. 编辑配置文件
sudo nano plugin_feed_info.inc
修改内容:
- PLUGIN_SET = "202412220001";
+ PLUGIN_SET = "202501010001";
- PLUGIN_FEED = "HomeFeed";
+ PLUGIN_FEED = "ProfessionalFeed (Direct)";
PLUGIN_FEED_TRANSPORT = "Tenable Network Security Lightning";
完整示例(创建新文件):
PLUGIN_SET = "202501010001";
PLUGIN_FEED = "ProfessionalFeed (Direct)";
PLUGIN_FEED_TRANSPORT = "Tenable Network Security Lightning";
说明:
PLUGIN_SET: 修改为未来日期(格式:YYYYMMDDxxxx),例如202501010001表示 2025年1月1日版本PLUGIN_FEED: 从HomeFeed改为ProfessionalFeed (Direct)- 日期要大于当前插件包的日期,否则会被覆盖
Important关键步骤:修改完成后必须将文件设置为只读权限,否则 Nessus 重启后会覆盖此文件!
# 5. 设置文件为只读(重要!防止被覆盖)
# macOS - 同时设置两个位置
sudo chmod 444 /Library/Nessus/run/var/nessus/plugin_feed_info.inc
sudo chmod 444 /Library/Nessus/run/lib/nessus/plugins/plugin_feed_info.inc
# Linux - 同时设置两个位置
sudo chmod 444 /opt/nessus/var/nessus/plugin_feed_info.inc
sudo chmod 444 /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc
# 6. 重启 Nessus 服务
# macOS
sudo launchctl unload /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist
sudo launchctl load /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist
# Linux
sudo systemctl restart nessusd
# 7. 等待插件编译(重要!)
# 访问 https://localhost:8834
# 浏览器会显示: "Establishing connection, please wait..."
# 然后显示: "Compiling plugins..."
# 此过程需要 3-10 分钟,取决于硬件性能
# 请耐心等待,不要关闭页面
# 8. 验证破解成功
# 编译完成后会显示登录页面
# 使用之前创建的管理员账户登录
# 系统会自动跳转到: Settings → About
# 检查以下信息:
# ✅ Licensed Hosts: Unlimited
# ✅ Plugin Set: 显示你设置的日期版本
# ✅ 左侧菜单出现 "Scans" 选项
完整验证步骤:
- 点击 Scans → My Scans → Create a new scan
- 检查是否显示所有扫描模板(Basic Network Scan, Advanced Scan 等)
- 点击 Advanced Scan,查看插件数量应该显示数万个插件
- 创建一个测试扫描任务,验证可以扫描超过 16 个 IP
Note如果重启后配置被还原,说明文件权限设置失败。请确保使用
`chmod 444设置为只读。``
自动化更新脚本
为了简化上述手动操作,可以使用以下自动化脚本:
使用方法:
- 将修改好的
plugin_feed_info.inc文件放到 下载文件夹 中 - 保存以下脚本为
update_nessus_plugin.sh - 运行
sudo ./update_nessus_plugin.sh
#!/bin/bash
# ==============================================================================
# 更新 Nessus plugin_feed_info.inc 文件的脚本
# ==============================================================================
# --- 配置部分 ---
# 获取运行 sudo 的用户名,以便正确找到其"下载"文件夹。
# 这能确保即使使用 'sudo' 运行脚本,也能找到正确的文件。
if [ -n "$SUDO_USER" ]; then
SOURCE_USER=$SUDO_USER
else
# 如果直接以 root 用户身份运行,则使用备用方案
SOURCE_USER=$(logname)
fi
# 源文件路径
SOURCE_FILE="/Users/${SOURCE_USER}/Downloads/plugin_feed_info.inc"
# 目标文件路径
DEST1="/Library/Nessus/run/lib/nessus/plugins/plugin_feed_info.inc"
DEST2="/Library/Nessus/run/var/nessus/plugin_feed_info.inc"
# --- 运行前检查 ---
# 1. 检查脚本是否以 sudo 运行,因为它需要管理员权限。
if [ "$EUID" -ne 0 ]; then
echo "错误:此脚本需要管理员权限。请使用 sudo 运行。"
echo "例如: sudo ./update_nessus_plugin.sh"
exit 1
fi
# 2. 检查源文件是否存在。
if [ ! -f "$SOURCE_FILE" ]; then
echo "错误:在 '$SOURCE_FILE' 未找到源文件。"
echo "请确保 'plugin_feed_info.inc' 文件位于您的"下载"文件夹中。"
exit 1
fi
echo "已找到源文件。开始更新流程..."
echo ""
# --- 主要执行部分 ---
# 处理第一个目标
# ---------------------------------
echo "[1/2] 正在处理目标: $DEST1"
# 获取目标路径的目录部分
DEST_DIR1=$(dirname "$DEST1")
# 如果目录不存在,则创建它 (-p 会一并创建父目录)
echo " -> 正在检查目录... "
mkdir -p "$DEST_DIR1"
# 复制文件,如果已存在则覆盖
echo " -> 正在复制文件..."
cp -f "$SOURCE_FILE" "$DEST1"
# 设置权限为 444 (所有人只读)
echo " -> 正在设置权限为 444..."
chmod 444 "$DEST1"
echo " -> 完成。"
echo ""
# 处理第二个目标
# ---------------------------------
echo "[2/2] 正在处理目标: $DEST2"
# 获取目标路径的目录部分
DEST_DIR2=$(dirname "$DEST2")
# 如果目录不存在,则创建它
echo " -> 正在检查目录..."
mkdir -p "$DEST_DIR2"
# 复制文件
echo " -> 正在复制文件..."
cp -f "$SOURCE_FILE" "$DEST2"
# 设置权限为 444
echo " -> 正在设置权限为 444..."
chmod 444 "$DEST2"
echo " -> 完成。"
echo ""
# --- 结束语 ---
echo "脚本已成功执行!"
echo "两个目标文件均已更新并设置为只读权限。"
脚本功能说明:
- ✅ 自动检测当前用户的下载文件夹
- ✅ 同时更新两个关键位置的配置文件
- ✅ 自动设置正确的文件权限(只读)
- ✅ 完善的错误检查和提示信息
- ✅ 支持通过
sudo运行
执行步骤:
# 1. 赋予脚本执行权限
chmod +x update_nessus_plugin.sh
# 2. 运行脚本
sudo ./update_nessus_plugin.sh
# 3. 重启 Nessus 服务
sudo launchctl unload /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist
sudo launchctl load /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist
方案 2: 使用第三方激活脚本
Warning从互联网下载的破解脚本可能包含恶意代码,使用前请仔细审查源码
常见的破解脚本通常执行以下操作:
- 修改
plugin_feed_info.inc文件 - 替换许可证验证模块
- 禁用在线验证
风险:
- 可能包含木马或后门
- 可能导致 Nessus 无法正常工作
- 可能泄露扫描数据
插件更新
在线更新
Nessus 默认每 24 小时自动更新插件。
手动触发更新
# macOS
sudo /Library/Nessus/run/sbin/nessuscli update
# Linux
sudo /opt/nessus/sbin/nessuscli update
禁用自动更新
编辑配置文件:
# macOS
sudo nano /Library/Nessus/run/etc/nessus/nessusd.conf
# Linux
sudo nano /opt/nessus/etc/nessus/nessusd.conf
添加或修改:
auto_update = no
auto_update_delay = 0
离线插件更新
Tip离线更新允许在隔离网络中保持插件库最新
步骤 1: 下载插件包(联网计算机)
访问插件注册页面:
https://plugins.nessus.org/v2/offline.php输入激活码和挑战码
下载
all-2.0.tar.gz(约 500MB - 1GB)
步骤 2: 传输插件包
将下载的 all-2.0.tar.gz 传输到离线 Nessus 服务器:
# 使用 SCP
scp all-2.0.tar.gz user@nessus-server:/tmp/
# 或使用 USB 存储设备
步骤 3: 更新插件(方法 A - 命令行)
# 停止 Nessus 服务
# macOS
sudo launchctl unload /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist
# Linux
sudo systemctl stop nessusd
# 执行更新
# macOS
sudo /Library/Nessus/run/sbin/nessuscli update /tmp/all-2.0.tar.gz
# Linux
sudo /opt/nessus/sbin/nessuscli update /tmp/all-2.0.tar.gz
# 重启服务
# macOS
sudo launchctl load /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist
# Linux
sudo systemctl start nessusd
步骤 4: 更新插件(方法 B - Web UI)
登录 Nessus Web 界面:
https://localhost:8834导航到 Settings → About
点击 Manual Software Update
选择 Upload your own plugin archive
点击 Continue,选择
all-2.0.tar.gz等待上传和处理完成
验证更新
# 查看插件版本
# macOS
sudo /Library/Nessus/run/sbin/nessuscli update --plugins-only --check
# Linux
sudo /opt/nessus/sbin/nessuscli update --plugins-only --check
在 Web UI 中:
- Settings → About → Plugin Set
- 检查日期是否为最新
常见问题排查
1. 激活失败:无法连接到激活服务器
原因:网络连接问题或防火墙阻止
解决方案:
# 检查网络连接
curl -I https://plugins.nessus.org
# 检查 DNS 解析
nslookup plugins.nessus.org
# 使用离线激活方式
2. 插件更新后扫描失败
原因:插件库损坏
解决方案:
# 重建插件数据库
# macOS
sudo /Library/Nessus/run/sbin/nessusd -R
sudo /Library/Nessus/run/sbin/nessuscli fix --reset
# Linux
sudo /opt/nessus/sbin/nessusd -R
sudo /opt/nessus/sbin/nessuscli fix --reset
3. 破解后无法更新插件
原因:修改了 plugin_feed_info.inc 导致验证失败
解决方案:
# 恢复备份
sudo cp plugin_feed_info.inc.bak plugin_feed_info.inc
# 或重新安装 Nessus
4. macOS M4 上启动失败
原因:Rosetta 2 未安装或权限问题
解决方案:
# 检查是否安装 Rosetta 2(某些旧版本可能需要)
softwareupdate --install-rosetta
# 修复权限
sudo chown -R root:wheel /Library/Nessus
sudo chmod -R 755 /Library/Nessus
# 重置 Nessus
sudo /Library/Nessus/run/sbin/nessuscli fix --reset
5. Web UI 无法访问
原因:端口被占用或服务未启动
解决方案:
# 检查服务状态
# macOS
sudo launchctl list | grep nessus
# Linux
sudo systemctl status nessusd
# 检查端口占用
sudo lsof -i :8834
# 修改端口(如果需要)
sudo nano /Library/Nessus/run/etc/nessus/nessusd.conf
# 修改 port = 8834 为其他端口
6. 离线激活后显示"许可证过期"
原因:挑战码与激活码不匹配
解决方案:
# 重新生成挑战码
sudo /Library/Nessus/run/sbin/nessuscli fetch --challenge
# 使用新挑战码重新获取许可证
# 导入新许可证
sudo /Library/Nessus/run/sbin/nessuscli fetch --register-offline nessus.license
维护建议
定期任务
# 每周检查插件更新
sudo /opt/nessus/sbin/nessuscli update --plugins-only
# 每月清理扫描结果(节省磁盘空间)
# 通过 Web UI: Scans → 选择旧扫描 → Delete
# 每季度检查 Nessus 版本更新
# 访问官网下载最新版本
性能优化
调整配置文件 (nessusd.conf):
# 增加并发扫描数
max_scans = 5
# 调整主机并发数
max_hosts = 30
# 调整检查并发数
max_checks = 5
# 日志级别(生产环境建议 normal)
log_level = normal
数据备份
# 备份配置和扫描数据
# macOS
sudo tar -czf nessus_backup_$(date +%Y%m%d).tar.gz \
/Library/Nessus/run/etc/nessus \
/Library/Nessus/run/var/nessus
# Linux
sudo tar -czf nessus_backup_$(date +%Y%m%d).tar.gz \
/opt/nessus/etc/nessus \
/opt/nessus/var/nessus
参考资料
官方文档
社区资源
安全建议
- 始终从官方渠道获取软件
- 定期更新插件库以检测最新漏洞
- 在生产环境中使用官方授权版本
- 妥善保管激活码和许可证文件
更新历史
| 日期 | 版本 | 更新内容 |
|---|---|---|
| 2024-12-22 | 1.0 | 初始版本,支持 M1/M2/M3/M4 芯片 |
Note本指南最后更新时间:2024年12月22日 适用于 Nessus 10.x 版本
免责声明:本文档仅用于教育和研究目的。作者不对使用本文档中的信息所造成的任何后果负责。请遵守当地法律法规和软件许可协议。