windows下安装Nessus

0x0:前言

有关Nessus的简介不多说,做过企业渗透测试的特别是内网的渗透测试就会知道在拿到甲方授权的网络拓扑结构资产列表就可以全部放经来一波。往往会有意想不到的收获,主要是节省大量时间。

0x1:安装Nessus

直接到 Nessus 官网:https://www.tenable.com/downloads/nessus 下载对应系统版本的 Nessus,基本上主流平台都有。下载好后打开进行安装即可。

Nessus会自动打开浏览器,询问是否使用SSL,选择是,如果浏览器提示证书问题,请忽略或添加白名单,一般默认地址是:https://localhost:8834/,到这里初始化后就开始选择安装了,需要注意第一步选择 Managed Scanner 这项,

nessus安装使用 nessus windows安装_激活码

然后在 Manageed by 下拉选择 Tenable.sc ,

nessus安装使用 nessus windows安装_IP_02

然后Continue 即可下一步,输入账号密码,点击“Submit”(这里用户名密码将作为登录使用)

nessus安装使用 nessus windows安装_IP_03

等待初始化完成

nessus安装使用 nessus windows安装_激活码_04

完成配置后,将进入Nessus设置页(这里图是借用的,大概就这样)

nessus安装使用 nessus windows安装_windows_05

0x2 获取离线安装包和激活码

打开网址:https://zh-cn.tenable.com/products/nessus/activation-code?tns_redirect=true#nessus

注册一个免费版即 Nessus Essentials ,填写姓名、邮件,然后会收到一封邮件,包含激活码,记住这个激活码,后面下载插件包需要用到。

nessus安装使用 nessus windows安装_初始化_06

以管理员权限打开cmd。切换到 Nessus 安装目录,cd E:\Nessus\,执行如下命令获取Challenge code:

nessus安装使用 nessus windows安装_初始化_07

nessus安装使用 nessus windows安装_初始化_08

E:\Nessus>nessuscli.exe fetch --challenge

Challenge code: 2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx5

You can copy the challenge code above and paste it alongside your

Activation Code at:

Tenable Network Security

然后访问 https://plugins.nessus.org/v2/offline.php 填写 Challenge code 和 上面邮件收到的 activation code 来下载获取 all-2.0.tar.gz 和 nessus-fetch.rc 或nessus.license文件

nessus安装使用 nessus windows安装_nessus安装使用_09

下载这两个文件

nessus安装使用 nessus windows安装_windows_10

网络慢可以挂代理或者使用手机热点

0x3:离线更新插件

将下载的两个文件移动到E:\Nessus\安装目录下执行nessuscli.exe update all-2.0.tar.gz 命令

更新成功后,将nessus-fetch.rc移动到E:\Nessus\conf下或者cmd管理员下执行nessuscli.exe fetch --register-offline nessus.license

0x4:重启Nessus

cmd管理员下执行 net stop "Tenable Nessus" && net start "Tenable Nessus"

等待插件编译完成

nessus安装使用 nessus windows安装_windows_11

0x5:破解

将E:\Nessus\nessus\plugins文件夹打包并cmd管理员下执行 net stop "Tenable Nessus"

nessus安装使用 nessus windows安装_初始化_12

然后找到

nessus安装使用 nessus windows安装_初始化_13

复制到桌面一份,用编辑软件打开第一行不动,修改第二行,增加第三行为

PLUGIN_SET = "202008211304"; //不改动

PLUGIN_FEED = "ProfessionalFeed (Direct)";

PLUGIN_FEED_TRANSPORT = "Tenable Network Security Lightning";

保存后替换

E:\Nessus\nessus\plugin_feed_info.inc

E:\Nessus\nessus\plugins\plugin_feed_info.inc

cmd管理员下执行 net start "Tenable Nessus" 

完成后发现plugins文件下插件消失了,cmd管理员下执行 net stop "Tenable Nessus" 然后把打包的插件解压到plugins文件夹下,

nessus安装使用 nessus windows安装_nessus安装使用_14

继续替换

E:\Nessus\nessus\plugin_feed_info.inc

E:\Nessus\nessus\plugins\plugin_feed_info.inc

cmd管理员下执行 net start "Tenable Nessus" 

等待插件编译完成

nessus安装使用 nessus windows安装_nessus安装使用_15

重启也没事,成功完美破解,但以后每次更新都要通过以上操作解除IP限制。

liunx下Nessus安装

1、准备

(1)获得激活码

地址:https://zh-cn.tenable.com/products/nessus/nessus-essentials

nessus安装使用 nessus windows安装_windows_16

2)安装包下载

地址:Download Nessus | Tenable®

nessus安装使用 nessus windows安装_初始化_17

2、安装

(1)安装

#sudo dpkg -i Nessus-8.12.1-debian6_amd64.deb

nessus安装使用 nessus windows安装_初始化_18

(2)启动nessus

# sudo service nessusd start

nessus安装使用 nessus windows安装_激活码_19

(3)配置

浏览器打开:https://ip:8834,选择“Managed Scanner”,点击“Continue”

nessus安装使用 nessus windows安装_windows_20

选择“Tenable.sc”,点击“Continue”

nessus安装使用 nessus windows安装_windows_21

输入账号密码,点击“Submit”

nessus安装使用 nessus windows安装_nessus安装使用_22

完成配置后,将进入Nessus设置页

nessus安装使用 nessus windows安装_nessus安装使用_23

(4)激活(离线激活)

获取查询码:

# sudo /opt/nessus/sbin/nessuscli fetch --challenge

nessus安装使用 nessus windows安装_初始化_24

用浏览器打开:Tenable Network Security,输入查询码和激活码,点击“Submit”

nessus安装使用 nessus windows安装_nessus安装使用_25

下载这两个文件

nessus安装使用 nessus windows安装_IP_26

网络慢可以挂代理或者使用手机热点

离线安装插件包

# sudo service nessusd stop

# sudo /opt/nessus/sbin/nessuscli update ./all-2.0.tar.gz

# sudo /opt/nessus/sbin/nessuscli fetch --register-offline nessus.license

# sudo service nessusd start

等待插件编译完成

完成后进入设置页,显示激活成功,但只能扫描16个IP。

nessus安装使用 nessus windows安装_初始化_27

(5)解除IP限制

查找plugin_feed_info.inc

# sudo  find /opt -name plugin_feed_info.inc

nessus安装使用 nessus windows安装_windows_28

cp /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc /

vim /plugin_feed_info.inc

第一行不动,修改第二行,增加第三行为

PLUGIN_SET = "202008211304"; //不改动

PLUGIN_FEED = "ProfessionalFeed (Direct)";

PLUGIN_FEED_TRANSPORT = "Tenable Network Security Lightning";

停用nessus

# sudo service nessusd stop

备份插件目录/opt/nessus/lib/nessus/plugins/,新版本的Nessus会对plugin_feed_info.inc的信息进行对比,发现plugin_feed_info.inc信息不一致时,会删除/opt/nessus/lib/nessus/plugins/下的插件。

# cp -r /opt/nessus/lib/nessus/plugins /opt/nessus/lib/nessus/plugins.bak  //文件有点大,备份时间有点长

将plugin_feed_info.inc替换/opt/nessus/var/nessus/plugin_feed_info.inc、/opt/nessus/lib/nessus/plugins/plugin_feed_info.inc两个文件。

#sudo cp plugin_feed_info.inc /opt/nessus/lib/nessus/plugins/

#sudo cp plugin_feed_info.inc /opt/nessus/var/nessus/

启动nessus

#sudo service nessusd start

在浏览器中访问:https://ip:8834,进行第一次初始化。

完成后,发现设置页面没有变化,但/opt/nessus/lib/nessus/plugins/目录下的插件不见了。

停用nessus

# sudo service nessusd stop

将备份插件目录/opt/nessus/lib/nessus/plugins/还原

#sudo cp -r /opt/nessus/lib/nessus/plugins.bak /opt/nessus/lib/nessus/plugins

再次将plugin_feed_info.inc替换/opt/nessus/var/nessus/plugin_feed_info.inc、/opt/nessus/lib/nessus/plugins/plugin_feed_info.inc两个文件。

#sudo cp plugin_feed_info.inc /opt/nessus/lib/nessus/plugins/

#sudo cp plugin_feed_info.inc /opt/nessus/var/nessus/

启动nessus

#sudo service nessusd start

在浏览器中访问:https://ip:8834,进行第二次初始化。

完成后,发现插件恢复正常,扫描恢复正常,解除IP限制成功。

nessus安装使用 nessus windows安装_IP_29

以后每次更新都要通过以上操作解除IP限制。

(6)自动更新shell脚本:

++++++++脚本代码+++++++++++++++++++++++++++

#!/bin/bash
#下载更新插件包all-2.0.tar.gz
rm -f all-2.0.tar.gz
wget -o all-2.0.tar.gz "https://plugins.nessus.org/v2/nessus.php?f=all-2.0.tar.gz&u=......"
#将“https://plugins.nessus.org/v2/nessus.php?f=all-2.0.tar.gz&u=......”替换为自己的更新插件包all-2.0.tar.gz下载地址
#第一次初始化
#停用nessus服务
sudo service nessusd stop
#更新插件,输出log
sudo /opt/nessus/sbin/nessuscli update ./all-2.0.tar.gz > all-2.0.log
#更新plugin_feed_info.inc
chmod 777 plugin_feed_info.inc
export new_PLUGIN_SET=$(cat all-2.0.log|tr -cd '0-9'|cut -c1-12)
export old_PLUGIN_SET=$(cat plugin_feed_info.inc|tr -cd '0-9'|cut -c1-12)
sed -i "s/$old_PLUGIN_SET/$new_PLUGIN_SET/g" plugin_feed_info.inc
#备份plugin
Path1="/opt/nessus/lib/nessus/plugins.bak"
if [[ ! -d "$Path1" ]]; then
 echo "/opt/nessus/lib/nessus/plugins.bak文件夹不存在"
else
 rm -r /opt/nessus/lib/nessus/plugins.bak
fi
cp -r /opt/nessus/lib/nessus/plugins /opt/nessus/lib/nessus/plugins.bak
sudo cp plugin_feed_info.inc /opt/nessus/lib/nessus/plugins/
sudo cp plugin_feed_info.inc /opt/nessus/var/nessus/
#curl访问
sudo service nessusd start
curl https://127.0.0.1:8834

#第二次初始化

sleep 5
sudo service nessusd stop
sudo chown root:root ./plugin_feed_info.inc && sudo chmod 644 ./plugin_feed_info.inc
sudo cp -r /opt/nessus/lib/nessus/plugins.bak /opt/nessus/lib/nessus/plugins
sudo cp plugin_feed_info.inc /opt/nessus/lib/nessus/plugins/
sudo cp plugin_feed_info.inc /opt/nessus/var/nessus/
sudo service nessusd start
curl https://127.0.0.1:8834
+++++++++++++++++++++++++++++++++++++++++

将以上代码保存为nessus-update.sh