一、Metasploit的介绍和发展史
1.1基本介绍
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。
1.2发展史
2004年8月,在拉斯维加斯开了一次世界黑客交流会---黑帽简报(Black Hat Briefings). 在这个会议上,一款叫Metasploit 的攻击和渗透工具备受众黑客关注,出尽了风头。
Metasploit 是同 HD Moore 和 Spoonm 等4名年轻人开发的,这款免费软件可以帮助黑客攻击和控制计算机,安全人员也可以利用 Metasploit 来加强系统对此类工具的攻击。Metasploit 的演示吸引了来自“美国国防部”和“国家安全局”等政府机构的众多安全顾问和个人,正如 Spoonm 在演讲中所说的, Metasploit 很简单,只需要求“找到目标,单击和控制”即可。
2004年 Metasploit 的发布在安全界引发了强烈的“地震”。没有一款新工具能够一发布就能挤进此列表的15 强(也就是说,2000年和2003年的调查没有这种情况),更何况此工具在5强之列,超过很多广为流传的诞生了几十年的老牌工具。
2005年6月,西雅图效区的微软公司总部园区内的管理情报中心,如开了一次“蓝帽”会议。几百名微软公司的工程师和众多外界专家及黑客都被邀请进入微软帝国的中心。在会议中的黑客攻击演示中,当 Moore 向系统程序员们说明使用 Metasploit 测试系统对抗入侵时的可靠程度时,Metasploit 让微软公司的开发人员再次感到不安。在程序员们看来,Metasploit 将会使系统安全面临严重的考验。
Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试,shellcode 编写和漏洞研究提供了一个可靠平台。
Metasploit框架直到2006年发布的2.7版本都用Perl脚本语言编写,由于Perl的一些缺陷,开发者于2007年底使用Ruby语言重写了该框架。到2007年年底,Spoonm和马特·米勒已经离开了项目。从2008年发布的3.2版本开始,该项目采用新的3段式BSD许可证。
2009年10月21号,漏洞管理解决公司Rapid7收购Metasploit项目。Rapid7承诺成立专职开发团队,仍然将源代码置于3段式BSD许可证下。
二、Metasploit的基础
1、Metasploit启动的三种方法:
- (1)菜单
- (2)工具栏
- 在工具栏输入Metasploit
- (3)命令行
-
msfconsole
2、Metasploit的常用模块:
- (1)exploit(漏洞渗透模块)
- (2)payload(攻击载荷模块)
- (3)auxiliary(辅助模块)
- (4)post(后渗透攻击模块)
3、帮助help和?
- 4、命令几个种类:
- (1)核心命令core command
- (2)模块命令module command
- (3)任务命令job command
- (4)资源命令resource script command
- (5)数据库后台命令database backed command
- (6)登录凭证后台命令credentials backed command
三、 Metasploit的基本命令
最常用的几个命令:
(1)show 显示
(2)search 搜索
(3)use 使用(某模块)
四、 使用Metasploit对操作系统发起攻击
实验环境:填写如下IP地址
Kali 2主机IP: 192.168.123.132
靶机(64位windows 7,永恒之蓝靶机)IP: 192.168.123.142
- 1、使用metasploit的smb_ms17_010检测脚本,确定目标系统是否存在ms17_010漏洞。
- (1)启动metasploit
- (2)加载smb_ms17_010检测脚本
- (3) 对目标主机进行扫描
- 2、查找针对MS17_010漏洞的渗透模块
- 3、载入ms17_010_eternalblue渗透模块,查看需要设置的参数并进行设置,启动模块。
- 4、启动模块
- 5、控制目标主机
伍、 使用Metasploit对软件发起攻击
实验环境:填写如下IP地址
Kali 2主机: 192.168.123.132
靶机(32位Windows 7,安装了Easy File Sharing HTTP Server)IP: 192.168.123.135
- 1、查找与EasyFileSharing有关的渗透模块
- (1)启动Metarsploit
- (2)查找与EasyFileSharing有关的渗透模块
- 2、载入easyfilesharing_seh渗透模块,查看需要设置的参数并进行设置,启动模块。
- 3、在目标靶机启动Easy File Sharing.
- 4、到kali中查看,会话成功建立了!
六、使用Metasploit对客户端发起攻击
前面介绍的两种攻击都是主动攻击方式,除此以外,metasploit中还提供了大量的被动攻击方式。被动攻击方式需要得到受害者的配合才能成功,但是在日常生活中,这种攻击方式的成功率往往比主动攻击要高。
被动攻击的思路:渗透者构造一个攻击用的Web服务器,然后将这个Web服务器的网址发给目标用户,当目标用户使用有漏洞的浏览器打开这个网址时,攻击用的Web服务器就会向浏览器发送各种攻击脚本,如果其中某个攻击脚本攻击成功的话,就会在目标主机上建立一个meterpreter会话。
6.1 使用Metersploit对客户端发起攻击
实验环境:填写如下IP地址
Kali 2主机IP: 192.168.123.132
靶机(32位Windows 7,安装了Adobe Flash Player插件): 192.168.123.135
- 1、查找与Adobe Flash Player有关的渗透模块
- (1)启动Metarsploit
- (2)查找与Adobe Flash Player有关的渗透模块
- 2、载入exploit/multi/browser/adobe_flash_hacking_team_uaf渗透模块,查看需要设置的参数并进行设置,启动模块。
- (1)载入渗透模块:use exploit/multi/browser/adobe_flash_hacking_team_uaf
- (2)查看需要设置的参数:show options
- (3)启动模块
- 3、在目标靶机中访问该网址
- 4、到kali中查看,会话是否建立?
6.2利用HTA文件进行渗透攻击
实验环境:填写如下IP地址
Kali 2主机IP: 192.168.123.132
靶机(32位Windows 7): 192.168.123.135
- 1、查找与office_word有关的渗透模块
- (1)启动Metarsploit
- (2)查找与office_word有关的渗透模块
- 2、载入exploit/windows/fileformat/office_word_hta渗透模块,查看需要设置的参数并进行设置,启动模块。
- (1)载入渗透模块
- (2)查看需要设置的参数
- (3)启动模块
注意:(使用msf.doc或者Local IP两种方式都可以渗透目标)
- I:msf.doc是生成的包含恶意HTA文件的word文件。
- II:Local IP是包含恶意HTA文件的Web服务器地址。(将该网址复制到靶机中访问)
- 3、渗透目标靶机
有2种方式:
(1)方式1:目标靶机访问包含恶意HTA文件的Web服务器
到kali中查看,会话是否成功建立?
(2)方式2:目标靶机使用有漏洞的Office打开包含恶意HTA文件的word文件msf.doc
- I:把msf.doc放到kali的网站主目录下
- II: 检查apache2是否已经启动,没有则启动。
- III:到目标靶机(32位windows 7)下载并打开msf.doc
到kali中查看,会话是否建立?
6.3 使用宏病毒进行渗透攻击
实验环境:填写如下IP地址
Kali 2主机IP: 192.168.123.132
靶机(32位Windows 7): 192.168.123.135
构造一个包含宏病毒的Word文件并不复杂,只要编写一个Auto_Open函数,就可以自动引发病毒。
- (kali主机)使用msfvenom命令生成一个VBA类型的被控端
该被控端可以分成2个部分:
第1部分是包括Auto_Open在内的几个函数:
第2部分是一些字符形式的攻击载荷:
- (32位Windows 7)制作可以使用的宏文件
- 在32位Windows 7中创建一个word文档(文件名:VBS.docx),单击“开发工具 / 宏”起宏名为:vbs,“创建”进入编辑部界面,将被控端第1部分(包括Auto_Open在内的几个函数)复制到Normal-NewMacros中,覆盖原来的内容。
(2)单击工具栏的“编辑”图标,返回word操作界面,将被控端第2部分(一些字符形式的攻击载荷)粘贴到文档中。
(3)保存该木马文件
- (kali主机)启动主控端并进行相关设置
4、将该木马文件发送给目标靶机(我们在靶机中制作,不需要发送),靶机中打开该文件,里面的恶意HTA文件夹就会执行。
查看是否成功建立了会话?
6、将meterpreter附加到其他不会结束的系统进程上
(1)查看靶机上所有进程
(2)选择不会结束的系统进程(如:explorer.exe),将meterpreter迁移到该进程。
7、在目标靶机上安装一个永久性的后门文件
查看后门文件
8、清除日志
6.4 使用browser_autopwn2模块进行渗透攻击
使用browser_autopwn2模块可以建立一个攻击用的WEB服务器,这个服务器集成了多个浏览器漏洞,可以向浏览器发送各种攻击脚本,只要有一个攻击脚本攻击成功,即可建立会话。
实验环境:填写如下IP地址
Kali 2主机IP: 192.168.123.132
靶机(32位Windows 7): 192.168.123.135
1、查找与autopwn有关的渗透模块
(1)启动Metarsploit:msfconsole
(2)查找与autopwn有关的渗透模块
2、载入auxiliary/server/browser_autopwn2渗透模块,查看需要设置的参数并进行设置,启动模块。
(1)载入渗透模块
(2)查看需要设置的参数
(3)启动模块
所有服务启动成功,即可到目标靶机中访问该网址。
3、在目标靶机中访问该网址
4、到kali中查看,会话是否成功建立?
七、实验心得与体会
当进行实验时,我发现 Metasploit 是一款功能强大且多才多艺的渗透测试工具。通过对目标系统进行漏洞扫描和利用,我深入了解了系统安全领域中的一些关键概念和技术。在实验过程中,我收获了以下心得与体会:
1. **深入了解渗透测试原理**:Metasploit 作为一款广泛使用的渗透测试框架,帮助我更好地理解了渗透测试的基本原理和流程,包括信息收集、漏洞探测、利用漏洞、权限提升等各个阶段。
2. **实践操作锻炼技能**:通过实际操作 Metasploit 进行渗透测试,在不断地尝试和实验中,我提升了自己的技能和经验,加深了对系统安全的认识,并学会了如何应对不同场景下的安全挑战。
3. **重视漏洞管理和修复**:在实验中我意识到系统安全不仅仅是渗透测试,更重要的是漏洞的管理和修复。通过发现系统中的漏洞并及时修复,可以有效提升系统的安全性,避免被不法分子利用。
4. **持续学习与更新技术**:Metasploit 不断更新和完善,作为使用者,我需要跟随其发展步伐,持续学习新的技术和方法,保持对系统安全领域的关注,以提升自己的能力和水平。
总的来说,通过实验 Metasploit 我获益良多,不仅提升了自己的技术水平,也增强了对系统安全的认识。在未来的学习和工作中,我将继续深入学习渗透测试技术,不断提升自己的能力,为保障系统安全做出更大的贡献。