環境:宿主機為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 ~]# service nessusd start
關閉防火牆
[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 ~]# service nessusd restart
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 ~]# service nessusd start
windows打開瀏覽器,訪問nessus,會看到nessus初始化插件,完成后,看設置頁面顯示 unlimited。表示解除IP限制成功。
7. 后續
由於Nessus服務每次重啟后,都會重置plugin_feed_info.inc,這將會使nessus/plugins目錄下所有的插件都被刪除,無法掃描。因此要將nessus服務設置為手動,並且先停止nessus服務。
[root@localhost ~]# systemctl disable nessusd [root@localhost ~]# service nessusd stop
以后每次使用nessus就重復第6步的操作。
故可以寫成批處理。
[root@localhost ~]# vim crack_nessus.sh
內容如下:
service nessusd stop; cp /root/plugin_feed_info.inc /opt/nessus/var/nessus/; rm -rf /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc; service nessusd start;
將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目錄):
service nessusd stop; 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; service nessusd start;
然后打開瀏覽器,正常訪問nessus。(https://centos的ip:8843)
靜待plugins更新完成。
