环境:宿主机为Windows10,虚拟机安装CentOS7,虚拟机的网络连接方式为NAT。
1. 从nessu官方网站下载合适的最新版本
https://www.tenable.com/downloads
2. 去nessus官方申请激活码,姓名随便填,邮箱必须正确,用来接收激活码。
https://zh-cn.tenable.com/products/nessus/nessus-essentials
接收到的邮件里找到类似如下内容:
3. 安装
使用xshell远程连接CentOS 7
安装windows和linux文件互传工具lrzsz
[root@localhost ~]# yum install lrzsz
将下载好的nessus rpm包拖拽到xshell中,并安装
[root@localhost ~]# rpm -ivh Nessus-8.13.1-es7.x86_64.rpm
安装完成后,启动nessus
[root@localhost ~]# systemctl start nessusd
关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld</pre>
4. 配置
1)
在windows系统中打开浏览器,输入地址
https://centos的ip:8834
在打开的页面中选择“Managed Scanner”,并点击continue。
2)
如下页面中选择Tenable.sc,并continue。
3)
如下页面中设置用户名,密码。并submit。
4)
进入nessus设置页面。这个时候,nessus是没有scan功能的。
5. 离线激活。
1)获得质询码(challenge code)
[root@localhost ~]# /opt/nessus/sbin/nessuscli fetch --challenge
2)获取离线插件包地址及激活证书。
浏览器打开网页 https://plugins.nessus.org/v2/offline.php
,输入第二步申请的激活码,以及上一步得到的质询码。
得到更新插件地址,及license证书。
下载更新包,下载证书nessus.license。
3) 安装更新
通过xshell将更新包及license传到centos7。
安装插件包。
[root@localhost ~]# /opt/nessus/sbin/nessuscli update ./all-2.0.tar.gz
离线激活nessus。
[root@localhost ~]# /opt/nessus/sbin/nessuscli fetch --register-offline ./nessus.license
此时强烈建议备份/opt/nessus/lib/nessus/plugins/
[root@localhost ~]# cp -r /opt/nessus/lib/nessus/plugins/ ./
重启nessus。
[root@localhost ~]# systemctl restart nessusd
windows打开浏览器访问nessus。会初始化插件。时间很长,静待。
完成后进入nessus系统。显示激活成功,具有了scan功能。但显示仅允许扫描16个IP。
6. 解除IP限制
获取当前plugins的版本。
打开如下的页面,并记录下版本号。
https://plugins.nessus.org/v2/plugins.php
停止nessus服务
创建 plugin_feed_info.inc
[root@localhost ~]# vim plugin_feed_info.inc
内容如下,并将刚刚获取到的版本号替换如下内容中的数字串。
PLUGIN_SET = "202101081345";
PLUGIN_FEED = "ProfessionalFeed (Direct)";
PLUGIN_FEED_TRANSPORT = "Tenable Network Security Lightning";
将plugin_feed_info.inc替换到 /opt/nessus/var/nessus/plugin_feed_info.inc
[root@localhost ~]# cp /root/plugin_feed_info.inc /opt/nessus/var/nessus/
将 /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc 文件删除。
[root@localhost ~]# rm -rf /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc
启动nessus服务
[root@localhost ~]#systemctl start nessusd
windows打开浏览器,访问nessus,会看到nessus初始化插件,完成后,看设置页面显示 unlimited。表示解除IP限制成功。
7. 后续
由于Nessus服务每次重启后,都会重置plugin_feed_info.inc,这将会使nessus/plugins目录下所有的插件都被删除,无法扫描。因此要将nessus服务设置为手动,并且先停止nessus服务。
[root@localhost ~]# systemctl disable nessusd
[root@localhost ~]# systemctl stop nessusd
以后每次使用nessus就重复第6步的操作。
故可以写成批处理。
[root@localhost ~]# vim crack_nessus.sh
内容如下:
systemctl stop nessusd;
cp /root/plugin_feed_info.inc /opt/nessus/var/nessus/;
rm -rf /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc;
systemctl start nessusd;
将crack_nessus.sh写到系统启动的脚本里。这样每次重启CentOS,会自动执行解除IP限制程序。
[root@localhost ~]# chmod +x /etc/rc.d/rc.local
[root@localhost ~]# vim /etc/rc.d/rc.local
添加如下内容到rc.local
/bin/bash /root/crack_nessus.sh
至此,nessus完全解除IP限制完成。
8. 遇到的坑及相应的解决办法
在解除ip限制的过程中,如果已经解除成功,但是新建扫描项目时,发现很快就结束,无扫描结果。此时查看plugins目录内容是否被删除。
[root@localhost ~]# du -h /opt/nessus/lib/nessus/plugins
正常情况下,该目录应该在1.2G左右。如远远低于此数值。请按如下步骤操作(前提是备份好了plugins目录
):
systemctl stop nessusd;
rm -rf /opt/nessus/lib/nessus/plugins
cp -r ./plugins /opt/nessus/lib/nessus/
cp /root/plugin_feed_info.inc /opt/nessus/var/nessus/;
rm -rf /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc;
systemctl start nessusd;
然后打开浏览器,正常访问nessus。(https://centos的ip:8843)
静待plugins更新完成。