Warning法律声明:本文档仅供学习研究用途。破解商业软件可能违反软件许可协议和相关法律法规。建议通过官方渠道获取合法授权。
Nessus 是由 Tenable 公司开发的业界领先的漏洞扫描工具,用于识别网络中的安全漏洞、配置错误和合规性问题。
| 版本 | 授权类型 | IP 限制 | 价格 | 适用场景 |
|---|---|---|---|---|
| Nessus Essentials | 免费 | 16 个 IP | 免费 | 个人学习、家庭网络 |
| Nessus Professional | 商业授权 | 无限制 | ~$2,790/年 | 企业漏洞扫描 |
| Nessus Expert | 商业授权 | 无限制 | 更高 | 云环境、高级扫描 |
Apple Silicon(M1/M2/M3/M4)基于 ARM64 (aarch64) 架构。Nessus 官方提供了针对 ARM64 架构的安装包:
操作系统:
硬件要求:
访问 Tenable 官方下载页面:
选择对应平台:
Nessus-xxx-macos_arm64.dmgNessus-xxx-ubuntu2204_aarch64.debNote这是官方推荐的合法激活方式
Nessus Essentials(免费版):
Nessus Professional(商业版):
macOS:
Linux:
https://localhost:8834Important适用于无法直接访问互联网的环境
macOS:
Linux:
输出示例:
在可联网的计算机上访问:
输入:
下载文件:
nessus.license(许可证文件)all-2.0.tar.gz(插件包)Caution风险提示:
- 破解版本无法获得官方技术支持
- 可能包含恶意代码或后门
- 违反软件许可协议
- 可能导致系统不稳定
- 无法接收最新的安全更新
这个方法可以将 Nessus Essentials 的 16 IP 限制破解为无限:
修改内容:
完整示例(创建新文件):
说明:
PLUGIN_SET: 修改为未来日期(格式:YYYYMMDDxxxx),例如 202501010001 表示 2025年1月1日版本PLUGIN_FEED: 从 HomeFeed 改为 ProfessionalFeed (Direct)Important关键步骤:修改完成后必须将文件设置为只读权限,否则 Nessus 重启后会覆盖此文件!
完整验证步骤:
Note如果重启后配置被还原,说明文件权限设置失败。请确保使用
`chmod 444设置为只读。``
为了简化上述手动操作,可以使用以下自动化脚本:
使用方法:
plugin_feed_info.inc 文件放到 下载文件夹 中update_nessus_plugin.shsudo ./update_nessus_plugin.sh脚本功能说明:
sudo 运行执行步骤:
Warning从互联网下载的破解脚本可能包含恶意代码,使用前请仔细审查源码
常见的破解脚本通常执行以下操作:
plugin_feed_info.inc 文件风险:
Nessus 默认每 24 小时自动更新插件。
编辑配置文件:
添加或修改:
Tip离线更新允许在隔离网络中保持插件库最新
访问插件注册页面:
输入激活码和挑战码
下载 all-2.0.tar.gz(约 500MB - 1GB)
将下载的 all-2.0.tar.gz 传输到离线 Nessus 服务器:
登录 Nessus Web 界面:https://localhost:8834
导航到 Settings → About
点击 Manual Software Update
选择 Upload your own plugin archive
点击 Continue,选择 all-2.0.tar.gz
等待上传和处理完成
在 Web UI 中:
原因:网络连接问题或防火墙阻止
解决方案:
原因:插件库损坏
解决方案:
原因:修改了 plugin_feed_info.inc 导致验证失败
解决方案:
原因:Rosetta 2 未安装或权限问题
解决方案:
原因:端口被占用或服务未启动
解决方案:
原因:挑战码与激活码不匹配
解决方案:
调整配置文件 (nessusd.conf):
| 日期 | 版本 | 更新内容 |
|---|---|---|
| 2024-12-22 | 1.0 | 初始版本,支持 M1/M2/M3/M4 芯片 |
Note本指南最后更新时间:2024年12月22日 适用于 Nessus 10.x 版本
免责声明:本文档仅用于教育和研究目的。作者不对使用本文档中的信息所造成的任何后果负责。请遵守当地法律法规和软件许可协议。
https://www.tenable.com/downloads/nessus
# 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
# 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
sudo /Library/Nessus/run/sbin/nessuscli fetch --register <激活码>
sudo /opt/nessus/sbin/nessuscli fetch --register <激活码>
sudo /Library/Nessus/run/sbin/nessuscli fetch --challenge
sudo /opt/nessus/sbin/nessuscli fetch --challenge
Challenge code: 1234567890abcdef1234567890abcdef
https://plugins.nessus.org/v2/offline.php
# 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
# 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";
# 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" 选项
#!/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 "两个目标文件均已更新并设置为只读权限。"
# 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
# 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
https://plugins.nessus.org/v2/offline.php
# 使用 SCP
scp all-2.0.tar.gz user@nessus-server:/tmp/
# 或使用 USB 存储设备
# 停止 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
# 查看插件版本
# macOS
sudo /Library/Nessus/run/sbin/nessuscli update --plugins-only --check
# Linux
sudo /opt/nessus/sbin/nessuscli update --plugins-only --check
# 检查网络连接
curl -I https://plugins.nessus.org
# 检查 DNS 解析
nslookup plugins.nessus.org
# 使用离线激活方式
# 重建插件数据库
# 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
# 恢复备份
sudo cp plugin_feed_info.inc.bak plugin_feed_info.inc
# 或重新安装 Nessus
# 检查是否安装 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
# 检查服务状态
# 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 为其他端口
# 重新生成挑战码
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 版本更新
# 访问官网下载最新版本
# 增加并发扫描数
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