Nessus介绍与安装
1.Nessus简介
Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。Nessus也是渗透测试重要工具之一
2.kali安装Nessus
1.访问Nessus官网
https://www.tenable.com/downloads/nessus
或者下载课程资料里的安装包【Nessus-10.1.1-debian6_amd64.deb】到kali
2.安装Nessus程序
dpkg -i Nessus-10.1.1-debian6_amd64.deb
You can start Nessus Scanner by typing /bin/systemctl start nessusd.service 启动服务命令
Then go to https://kali:8834/ to configure your scanner 访问地址
3.启动Nessus
service nessusd start
4.查看kali的ip
ip a
5.浏览器访问nessus的web网站
https://192.168.11.75:8834/#/
6.选择 【Managed Scanner】选项,点击【Continue】
7.选择【Tenable.sc】
8.点击【Continue】
9.输入用户名【admin】,输入密码【123456】,点击【Submit】
10.等待配置插件
安装完成后是这样的界面,尚未激活,不能扫描,此时只有一个设置按钮,并无扫描按钮.
3.离线激活Nessus
- 去nessus官方申请激活码,姓名随便填,邮箱必须正确,用来接收激活码
https://zh-cn.tenable.com/products/nessus/nessus-essentials
2.进入填写的邮箱获取激活码
3.获得质询码(challenge code)
/opt/nessus/sbin/nessuscli fetch --challenge
4.获取离线插件包地址及激活证书
浏览器打开网页 https://plugins.nessus.org/v2/offline.php ,输入申请的激活码,以及上一步得到的质询码,点击【Submit】
https://plugins.nessus.org/v2/offline.php
5.得到更新插件地址,及license证书
6.下载更新包,下载证书nessus.license。
7.将下载好的激活证书和插件包复制到kali
8.离线激活nessus
/opt/nessus/sbin/nessuscli fetch --register-offline ./nessus.license
您的激活码已正确注册-谢谢。
9.安装插件包
/opt/nessus/sbin/nessuscli update ./all-2.0.tar.gz
/opt/nessus/lib/nessus/plugins/ #插件包目录
10.重启nessus
service nessusd restart
11.重新访问nessus网站,等待加载插件【耗时较长,需要耐心等待】
https://192.168.10.141:8834/#/settings/about
完成后进入nessus系统。显示激活成功,具有了scan功能。但显示仅允许扫描16个IP。
4.解除IP限制
1.获取当前plugins的版本。
https://plugins.nessus.org/v2/plugins.php
2.停止nessus服务
service nessusd stop
3.创建 plugin_feed_info.inc
vi plugin_feed_info.inc
内容如下,并将刚刚获取到的版本号替换如下内容中的数字串。
PLUGIN_SET = "202203090609";
PLUGIN_FEED = "ProfessionalFeed (Direct)";
PLUGIN_FEED_TRANSPORT = "Tenable Network Security Lightning";
4.将plugin_feed_info.inc替换到 /opt/nessus/var/nessus/plugin_feed_info.inc
cp plugin_feed_info.inc /opt/nessus/var/nessus/
5.将 /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc 文件删除。
rm -rf /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc
6.启动nessus服务
service nessusd start
7.访问Nessus,windows打开浏览器,访问nessus,会看到nessus初始化插件,完成后,看设置页面显示 unlimited。表示解除IP限制成功。
https://192.168.3.47:8834/
5.解决Nessus重启失效后遗症
由于Nessus服务每次重启后,都会重置plugin_feed_info.inc,这将会使nessus/plugins目录下所有的插件都被删除,无法扫描。因此要将nessus服务设置为手动,并且先停止nessus服务。可以写成批处理解决此问题
1.编写启动脚本
vi qd_nessus.sh
service nessusd stop;
cp /root/nessus/plugin_feed_info.inc /opt/nessus/var/nessus/;
rm -rf /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc;
service nessusd start;
每次需要启动nessus时 输入启动命令
sh /root/nessus/qd_nessus.sh
2.nessus命令合集
#启动
service nessusd start;
#重启
service nessusd restart;
#查看状态
service nessusd status
#停止服务
service nessusd stop
3.遇到的坑及相应的解决办法
在解除ip限制的过程中,如果已经解除成功,但是新建扫描项目时,发现很快就结束,无扫描结果。此时查看plugins目录内容是否被删除。
du -h /opt/nessus/lib/nessus/plugins
正常情况下,该目录应该在1.4G左右。如远远低于此数值。请按如下步骤操作:
service nessusd stop;
/opt/nessus/sbin/nessuscli update ./all-2.0.tar.gz
sh qd_nessus.sh
然后打开浏览器,正常访问nessus。(https://ip:8843)静待plugins更新完成。
Nessus 扫描web服务
1.启动nessus
cd nessus
sh qd_nessus.sh
2.进入nessus网站
https://192.168.3.47:8834/
3.点击【New Scan】
4.点击【Web应用程序测试】
5.输入name【web扫描】,描述【web扫描】,目标【127.0.0.1】
6.点击【发现】
7.选择扫描类型【端口扫描(常用端口)】
8.点击【评估】
9.扫描类型选择【扫描所有web漏洞(快速)】
10.点击【证书】
11.点击【HTTP】
12.选择身份验证方法【自动认证】
13.输入用户名【xiaogang】,密码【123456】(需要扫描网站的用户名和密码)
m14.点击【插件】
15.确认是否在可用的扫描插件
16.点击【保存】
17.选择【web扫描】,点击后边的【小三角】
18.点击【web扫描】
19.等待扫描完成
Nessus Host 定时扫描
1.启动nessus
cd nessus
sh qd_nessus.sh
2.进入nessus网站
https://192.168.3.47:8834/
3.点击【New Scan】
4.选择【Host Discovery】
5.输入name【主机发现】,Description【主机发现】,Targets【192.168.3.0/24】,点击【Save】
6.点击【 Schedule】
这里是配置定时任务的,可以忽略
7.点击【 Notifications】
这里主要是配置邮件提醒的,可以配置也可以忽略
8.点击【Discovery 】
这里选择常用端口扫描
9.点击【Report 】
10.点击【Advanced 】
这里是高级设置选项
11.点击【Plugins】
这里是配置插件的地方,主机发现不要配置插件
12.点击【保存】
13.点击【主机发现】
14.点击【More】,点击【Launch】
15.点击【Launch】
16.点击【主机发现】
17.查看扫描结果
18.选择其中一个主机查看
19.查看具体的扫描结果
Nessus log4J漏洞实战
1.扫描环境搭建
1.centos7 安装装宝塔面板
2.面板里下载docker
3.进入centos检查docker是否生效
docker --version
4.安装docker-compose
Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。
参考:https://docs.docker.com/compose/install/
4.1 下载 docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
4.2 查看docker-compose
ls /usr/local/bin/
4.3 给docker-compose目录增加可执行权限
chmod +x /usr/local/bin/docker-compose
ls /usr/local/bin/
4.4 查看版本
docker-compose -version
5.安装vulhub
5.1 创建zsoft文件夹
cd /www/wwwroot/
ls
mkdir softs
ls
cd softs
5.2 下载 vulhub,并查看
git clone https://github.com/vulhub/vulhub.git
ls
cd vulhub
ls
6.部署log4J靶场
6.1 进入log4j/CVE-2021-44228
cd log4j/CVE-2021-44228
ls
6.2 编译环境
docker-compose build
6.3 运行环境
docker-compose up -d
6.4 查看端口
docker-compose ps
docker ps
6.5 查看ip
ip a
6.6 宝塔面板放行端口
6.7 访问靶场地址
http://192.168.110.198:8983
2.扫描log4J漏洞
1.log4Jshell扫描
1.访问nessus扫描网站
https://192.168.110.230:8834/#/
2.登录后,点击【新增扫描】
3.选择【Log4Shell】
4.输入Name【log4jshell】,目标【192.168.110.198】
5.点击【发现】
6.选择扫描类型【彻底】
7.点击【评估】
8.选择扫描类型【默认】
9.点击【证书】,点击【ssh】
10.选择身份验证方法【密码】
11.输入被扫描服务器的用户名【root】,密码【root】
12.点击【插件】
13.点击【保存】
14.执行【log4shell】扫描
15.查看log4J的扫描结果
2.nesuss扫描Log4Shell 漏洞生态系统
1.访问nessus扫描网站
https://192.168.110.230:8834/#/
2.点击新建扫描
3.选择【Log4Shell 漏洞生态系统】
4.输入Name【log4jshell 生态】,目标【192.168.110.198】
5.点击【发现】
6.选择扫描类型【彻底】
7.点击【评估】
8.选择扫描类型【默认】
9.点击【证书】,点击【ssh】
10.点击【插件】
11.点击【保存】
12.执行【log4shell 生态】扫描
13.查看log4J 生态的扫描结果
nessus高级扫描
1.启动nessus
cd nessus
sh qd_nessus.sh
2.进入nessus网站,点击【new Scan】
https://kaliip:8834/
3.选择【adVanced Scan】
4.输入Name【高级扫描】,Description【高级扫描】,Targets【需要扫描的ip】
5.点击【 Schedule】
这里是配置定时任务的,可以忽略
6.点击【 Notifications】
这里主要是配置邮件提醒的,可以配置也可以忽略
7.点击【Discovery 】,点击【主机发现】
8.点击【Port Scanning】
9.点击【Service Discovery】
10.点击【ASSESSMENT】,点击【general】
11.点击【Brute Force】
12.点击【SCADA】
13.点击【Web Application Settings】
14.点击【Windows】
15.点击【Malware 】
16.点击【Database】
17.点击[REPORT]
18.点击【ADVANCED】
19.点击【Credentials 】,选则【windows】,输入账户密码(必须输入)
20.点击【Plugins】
所有的扫描服务,都是由插件提供的
21.点击【Save】
22.点击【高级扫描】,点击【More】,点击【Launch】
23.点击【Launch】
24.点击【高级扫描】
nessus 基线检查
1. 指定目标主机
2.选择要检查的目标的系统
3。设置登录信息
4.查看结果