Metasploit漏洞扫描
Metasploit漏洞扫描
漏洞扫描是自动在目标中寻找和发现安全弱点。
漏洞扫描器会在网络上和对方产生大量的流量,会暴露自己的行为过程,如此就不建议你使用漏扫了。
基本的漏洞扫描
- 我们首先使用netcat来获取目标主机的旗帜(旗帜获取指的是连接到一个远程服务并读取特征标识)
我们连接到一个运行在TCP端口80的Web服务器,并发出一个GET HTTP请求
root > nc [IP] [port端口]
返回的信息告诉我们:1-目标的server是基于Apache2的web服务器系统。
- 确定了目标的web服务器系统,就可以对目标进行漏扫(工具扫描)
使用NeXpose进行扫描
NeXpose是一款漏洞扫描器,它通过对网络进行扫描,查找出网络上正在运行的设备,最终识别处OS和应用程序的安全漏洞,NeXpose会对扫描结果进行分析和处理,生成各种类型的报告。
- 略过,因为没法注册下载
使用Nessus进行扫描
-
安装Nessus:
通过网络将Nessus的deb文件下载到kali中并执行以下程序:
root > dpkg -i Nessus-6.10.5-debian6_amd64.deb
- 启动Nessus服务
root > service nessusd start
- 进入Nessus的Web管理页面
https://[IP]:8834
该页面需要使用SSL安全套接层协议访问(需要额外给安全访问证书)
- 首次访问
首次访问该页面会注册账户,要记住账号和Password哦!
ps:还需要激活码,在下载时会填账号,邮箱收到邮件的哦!
首次进入Web页面,会做很多操作,但是以后只需要账号就一路畅通
ps:我的账号和密码都是 root
将Nessus结果导入msf框架中
按照如上的使用教程,我们会得到一个扫描结果,然后导出为.nessus文件格式。
进入msf终端,使用”db_connect“创建一个新的数据库,然后使用”db_import“,并在命令后加上导出的报告文件名(nessus文件)导入进数据库中。
msf > db_connect postgres:root@127.0.0.1/[库名]
msf > db_import /home/mirror/*.nessus[具体的nessus文件路径] # 将文件导入数据库中
msf > db_hosts -c address,svcs,vulns #查看数据库内容
上面图示:连接数据表、导入文件到数据表、检查导入是否正确
db_hosts会输出一个列表,里面包含了目标的IP地址、探测到的服务数量、Nessus在目标发现的漏洞数量
- 如果想要显示一个详细的漏洞列表
msf > db_vulns
在msf中使用Nessus进行扫描
除了Web页面的扫描操作之外,也可以在终端命令行中操作;插件允许通过msf框架对nessus进行完全的控制,可以运用来扫描、分析、甚至是发起渗透攻击。
msf > db_destroy postgres:root@127.0.0.1/nessus #删除数据库
msf > db_connect postgres:root@127.0.0.1/nessuss #新建一个数据库(连接)
msf > load nessus #加载nessus插件
msf > nessus_help #查看nessus桥插件的命令操作
- 使用msf的nessus桥插件进行扫描(必须使用nessus_connenct命令登陆到Nessus服务器中)
msf > nessus_connenct [user]:[pass]@[ip]:[port]
- 列出扫描的策略的ID号(已定义的)
msf > nessus_policy_list
- 建立并执行扫描策略
msf > nessus_scan_new <UUID of Policy> <Scan name> <Description> <Targets>
- 借鉴文献
专用漏洞扫描器
验证SMB登录
可以使用SMB登录扫描器对大量的主机的用户名和口令进行猜解;但是由此大量的扫描,目标的IP主机的系统日志必然会留下痕迹。
使用use选择smb_login模块后,可以运行show_options命令查看参数列表;msf允许你指定用户用户名和口令的组合、用户名列表和口令列表的组合,或前两者中各要素的组合。用RHOST参数设置一段IP地址(目标),然后使用一个固定的用户名和口令。
msf > use scanner/smb/smb_login
msf auxiliary(smb_login) > show options
msf auxiliary(smb_login) > set RHOSTS [IP]
msf auxiliary(smb_login) > set SMBUser [user]
msf auxiliary(smb_login) > set SMBPass [pass]
msf auxiliary(smb_login) > run