Nessus漏洞插件编写
上一次用nessus,还是在2022年。
所以访问 https://localhost:8834/#/
提示:
Nessus
Installation Expired
This installation has expired. If you believe that you are seeing this screen in error, please take one of the following corrective actions:
安装过期了。图片我就不截了,比较懒。
第一步,访问https://www.tenablecloud.cn/products/nessus/nessus-essentials
注册以获取激活码,填写个人信息和电子邮箱,即可收到激活码。
登陆你填写的电子邮箱,复制激活码
第二步:
在kali linux或你安装nessus的机器运行以下linux命令:
1 |
|
一定要替换你的激活码
第三步:
1 |
|
重启nessus服务
再次访问https://localhost:8834/#/,就不会报Installation Expired的错误了。
nessus插件导入
导入你编写的插件到Nessus需要以下几个步骤。以下是详细的指南:
1. 准备你的插件
确保你的插件文件是以.nasl
结尾的Nessus Attack Scripting Language (NASL)脚本文件。
2. 将插件文件上传到Nessus服务器
你需要将你的.nasl
文件上传到Nessus插件目录。通常,这个目录在以下位置:
1 |
|
你可以使用scp
或其他文件传输工具将文件从本地计算机传输到Nessus服务器。例如:
1 |
|
3. 重新加载Nessus插件
一旦你上传了插件文件,你需要重新加载Nessus插件库,使新的插件生效。你可以通过命令行完成这一步:
1 |
|
4. 验证插件已加载
你可以通过检查Nessus的日志文件来验证插件是否已成功加载。日志文件通常位于:
1 |
|
你可以使用以下命令查看日志:
1 |
|
检查日志中是否有你插件的相关信息。如果插件加载成功,日志中应该会有类似的信息:
1 |
|
5. 使用自定义插件进行扫描
你可以在Nessus Web界面中配置新的扫描任务,并选择包含你的自定义插件的插件集。
登录Nessus Web界面:
- 打开你的浏览器,访问Nessus控制台:
1
https://<你的Nessus服务器IP或主机名>:8834
- 登录你的Nessus账户。
创建新的扫描任务:
- 导航到“扫描”(Scans)页面。
- 创建一个新的扫描任务。
- 在“高级扫描”(Advanced Scan)设置中,选择“插件”(Plugins)选项卡。
- 确认你的自定义插件已出现在插件列表中。
注意事项:
- 确保你的插件脚本中没有语法错误。可以使用NASL脚本的语法检查工具验证脚本。
- 在实际使用之前,建议在测试环境中测试你的插件,以确保其功能正常且不会对被扫描的系统产生意外影响。
通过这些步骤,你应该能够成功地将自定义插件导入到Nessus并进行扫描。如果遇到任何问题或需要进一步帮助,请告诉我。
如何编写nessus插件
编写Nessus插件涉及使用Nessus Attack Scripting Language (NASL),这是一种专为Nessus设计的脚本语言。下面是编写一个简单Nessus插件的步骤:
1. 安装和设置NASL编译器
确保你已经安装了Nessus并且可以访问NASL编译器。如果没有安装Nessus,你可以从Tenable的官网上下载并安装。
2. 编写插件脚本
一个Nessus插件通常包含以下几个部分:
- 脚本头部:包含插件的信息,如插件ID、名称、描述等。
- 脚本属性:定义插件的各种属性和依赖关系。
- 脚本主体:实际的检查代码,使用NASL编写。
以下是一个简单的NASL插件示例:
1 |
|
3. 保存和测试插件
将上面的代码保存为一个.nasl
文件,例如sample_plugin.nasl
。
4. 上传和导入插件
将插件文件上传到Nessus插件目录,通常是:
1 |
|
你可以使用scp
或其他工具将文件从本地计算机传输到Nessus服务器。例如:
1 |
|
5. 重新加载Nessus插件库
一旦上传了插件文件,需要重新加载Nessus插件库,使新的插件生效:
1 |
|
6. 在Nessus中验证插件
- 登录Nessus Web界面:
打开浏览器并访问Nessus控制台:1
https://<你的Nessus服务器IP或主机名>:8834
- 创建扫描任务:
导航到“扫描”(Scans)页面,创建一个新的扫描任务,并选择包含你自定义插件的插件集。
7. 调试和优化
如果插件没有按预期工作,可以检查Nessus日志文件以获取错误信息并进行调试:
1 |
|
通过这些步骤,你应该能够成功编写、导入并运行自定义的Nessus插件。
NASL编译器
NASL (Nessus Attack Scripting Language) 编译器是用来编写和调试Nessus插件的工具。在实际操作中,你通常会直接在Nessus环境中编写和测试NASL脚本,而不需要单独安装一个NASL编译器。Nessus自身就包含了运行NASL脚本的环境。
不过,下面是如何在Nessus环境中编写、测试和运行NASL脚本的详细步骤:
1. 安装Nessus
Nessus破解版:https://www.ddosi.org/nessus2024/
如果你还没有安装Nessus,可以从Tenable官网下载并安装。安装步骤取决于你的操作系统。
在Debian/Ubuntu上安装Nessus:
1 |
|
在RHEL/CentOS上安装Nessus:
1 |
|
安装完成后,启动Nessus服务:
1 |
|
2. 编写NASL脚本
使用你喜欢的文本编辑器(例如vi
、nano
或gedit
)编写NASL脚本,并将其保存为.nasl
文件。例如,保存为sample_plugin.nasl
。
1 |
|
3. 测试NASL脚本
你可以使用Nessus自带的命令行工具nasl
来测试NASL脚本。该工具通常位于/opt/nessus/bin/
目录下。
例如,要运行你编写的脚本,可以使用以下命令:
1 |
|
其中<target_ip>
是你要扫描的目标IP地址。
4. 导入和运行NASL脚本
一旦你对NASL脚本满意,可以将其上传到Nessus插件目录:
1 |
|
然后重新加载Nessus插件库:
1 |
|
5. 在Nessus界面中验证插件
登录Nessus Web界面:
1
https://<你的Nessus服务器IP或主机名>:8834
创建新的扫描任务,并选择包含你自定义插件的插件集。
6. 检查和调试
如果插件没有按预期工作,可以检查Nessus日志文件以获取错误信息并进行调试:
1 |
|
通过这些步骤,你应该能够编写、测试并在Nessus中运行自定义的NASL脚本。如果你遇到任何问题或需要进一步的帮助,请告诉我。
案例一:
ls /opt/nessus/lib/nessus/plugins/ | wc -l 1 ⚙
186496
查看插件的数量
根据需求搜索nasl插件
ls /opt/nessus/lib/nessus/plugins/ | grep “CVE-2019” 1 ⚙
tenable_ot_wago_CVE-2019-5171.nasl
tenable_ot_wago_CVE-2019-5172.nasl
tenable_ot_wago_CVE-2019-5173.nasl
tenable_ot_wago_CVE-2019-5174.nasl
tenable_ot_wago_CVE-2019-5175.nasl
tenable_ot_wago_CVE-2019-5176.nasl
tenable_ot_wago_CVE-2019-5177.nasl
tenable_ot_wago_CVE-2019-5178.nasl
tenable_ot_wago_CVE-2019-5179.nasl
tenable_ot_wago_CVE-2019-5180.nasl
tenable_ot_wago_CVE-2019-5181.nasl
tenable_ot_wago_CVE-2019-5182.nasl
tenable_ot_wago_CVE-2019-5184.nasl
tenable_ot_wago_CVE-2019-5185.nasl
查看其他的nasl插件是如何编写的
leafpad /opt/nessus/lib/nessus/plugins/tenable_ot_wago_CVE-2019-5185.nasl
第一步,搭建漏洞环境
略
不会的可以去看看vulhub和docker
第二步,更新msf
apt update; apt install metasploit-framework
使用msf或其他poc工具,确保漏洞环境和poc真实可用。
第三步,根据poc编写NASL脚本
cp test-2024-06-19.nasl /opt/nessus/lib/nessus/plugins/
复制写好的插件到nessus的插件目录
因为test-2024-06-19.nasl如何编写,这部分太长了,所以下一篇再讲
第四步,使用我们写的nessus插件进行漏洞扫描
导入新的插件
sudo /opt/nessus/sbin/nessusd -R
Processing the Nessus plugins…
[==================================================] 100%
All plugins loaded (502sec)
访问https://127.0.0.1:8834/
新建新的扫描任务