实验

实验1 - 直接攻击系统开启的漏洞服务,获取系统控制权

1.选择要使用的模块

  • 在这里我选择的模块是ms08_067
  • 首先我们需要查询一下有关ms08_067所在模块的相关信息
  • search ms08_067
  • 可以发现,这是一个利用服务器服务进行攻击的漏洞,其路径为exploit/windows/smb/ms08_067_netapi
  • 根据路径提示使用ms08_067模块
  • use exploit/windows/smb/ms08_067_netapi

2.查看模块可攻击的操作系统

  • show target
  • 选择的是0即可(一般默认为0)
  • set target 0

3.选择payload(攻击载荷)

  • 查看payload选项
  • show payloads
  • 选择的是windows/exec
  • 上图解释该payload为“Windows Execute Command”,初步猜测这个载荷是利用windows执行漏洞进行的攻击

  • 使用SET命令设置payload为windows/exec
  • windows/exec参考

4.设置相关参数

  • 因为中文版靶机IP地址与kali的不在一个网段(跟NAT与否无关,估计是虚拟机平台在不同电脑环境下的问题),所以最后尝试用英文版靶机做
    (靶机IP:192.168.1.182 kali的IP:192.168.1.183)
  • 查看需要设置什么参数
  • 其中我们需要设置的有RHOST(攻击IP(靶机IP))、CMD(待执行的命令串)和EXITFUNC(设置为seh的模式)

5.exploit尝试

第一次尝试

  • 显示端口未打开,于是打算在xp上查看已开放了哪些端口(使用netstat -an命令)
  • 发现139端口开放,所以更改139为目标端口(命令:set RPORT 139
  • 再次exploit
  • 失败,提示SMB服务器拒绝服务
  • 尝试在XP服务器开启SMB服务(参考),exploit仍失败,提示语相同
  • 将payload换成generic/shell_bind_tcp,结果相同
  • 问题暂时搁置
  • 理想效果图如下(如果exploit成功的话):
  • (图片copy自简单测试使用msf发布poc

6.换一台电脑环境继续尝试

  • 这次靶机成功换成英文版的(IP地址终于相同了),payload换为generic/shell_recerse_tcp
  • 168.88.147 靶机
  • 168.88.130 kali
  • 攻击成功
  • 用同样的方式做payload为generic/shell_bind_tcp,攻击也成功了
  • payload换成windows/exec,攻击失败,提示与之前不同

实验2 - 针对浏览器的攻击

  • 靶机:192.168.88.148(中文版)
  • kali:192.168.88.130
  • 过程同实验1,不同的是使用的模块和payload换了,过程如下

情况1:模块为ms11_050

情况2:模块为ms10_002

  • 尝试1:模块用ms10_002_ie_object
  • 尝试2:用ms10_002_aurora(方法同尝试1)(换成我的另一个电脑尝试)
  • 攻击成功

实验3 - 针对客户端的攻击,如Adobe

  • 攻击成功

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

  • 我选择的是辅助模块里的pdf/foxit/authbypass模块,有关它的解释如下图(使用info auxiliary/pdf/foxit/authbypass命令)
  • 其中第三个红方框里给出了它的解释
  • 中文大致翻译:此模块利用1120版本的Foxit阅读器的授权旁路漏洞,当攻击者创建/打开/执行特制的pdf文件时,攻击者无需vic确认即可执行任意命令

  • 也就是说,我们需要在xp虚拟机上下载一个1120版本的Foxit,通过在xp打开特制的pdf文件,达到攻击目的
  • 生成特制pdf文件方法如下:
  • 可以看到,我们设置CMD为计算器calc,也就是说在xp用1120版本的Foxit阅读器打开该特制文件后,会自动弹出一个calc计算器
  • 我们将该特制pdf文件拷贝到xp上,点击打开该pdf,结果如下图
  • 实践成功

实验后

基础问题回答

  • 用自己的话解释什么是exploit,payload,encode.
  • 答:
  • exploit 渗透攻击模块 精确针对某个漏洞
  • payload 攻击载荷 如meterpreter,被运输过去的东西
  • encoder 编码器 避免“坏字符”

实践总结与体会

  • 没想到在实验1的ms08_067模块、windows/exec载荷下没实现的攻击,在实验4辅助模块下实现了,心情复杂
  • 离实战还缺很多步骤技术,感觉我这次的实验就像是捧着宝宝一样捧着我的两台电脑的各两台虚拟机,实战肯定不会这么简单的ORZ

Exp5的更多相关文章

  1. 2018-2019 20165232 Exp5 MSF基础应用

    2018-2019 20165232 Exp5 MSF基础应用 一.原理与实践说明 1.实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个 ...

  2. 2018-2019 20165237网络对抗 Exp5 MSF基础应用

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

  3. 2018-2019 20165221 网络对抗 Exp5 MSF基础

    2018-2019 20165221 网络对抗 Exp5 MSF基础 实践内容: 重点掌握metassploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实践,如ms0 ...

  4. 2018-2019-2 20165325 《网络对抗技术》 Exp5:MSF基础应用

    2018-2019-2 20165325 <网络对抗技术> Exp5:MSF基础应用 实验内容(概要) 1.1 一个主动攻击实践,本实验选择 ms17_010_eternalblue(成功 ...

  5. 2018-2019-2 20165206 网络攻防技术 Exp5 MSF基础应用

    - 2018-2019-2 20165206<网络攻防技术>Exp5 MSF基础应用 - 实验任务 1.1一个主动攻击实践,如ms08_067; (1分) 1.2 一个针对浏览器的攻击,如 ...

  6. 2018-2019 20165235 网络对抗 Exp5 MSF基础

    2018-2019 20165235 网络对抗 Exp5 MSF基础 1. 实践内容(3.5分) 1.1一个主动攻击实践 攻击方:kali 192.168.21.130 靶机: win7 192.16 ...

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

    目录 Exp5 MSF基础应用 一.基础问题回答 二.攻击系统 ms08_067攻击(成功) 三.攻击浏览器 ms11_050_mshtml_cobjectelement(Win7失败) 手机浏览器攻 ...

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

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

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

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

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

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

随机推荐

  1. 用sparkR, 分析上亿条订单数据的脚本。

    上周我们这个10人的小团队开发的推荐拉新系统, 日拉新人数已接近4万人.过去几个月这个系统从无到有, 拉新从日增几千稳步增长到日增几万, 同事们几个月来,每天工作13个小时以上,洗澡时间都没有, 有时 ...

  2. innodb索引统计信息

    以下分析基于mysql5.6.10 统计信息相关字典表 information_schema.statistics mysql.innodb_table_stats mysql.innodb_inde ...

  3. 使用 PowerShell 管理 Azure 磁盘

    Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...

  4. JDK5新特性之 可变参数的方法

    可变参数的方法:不知道这个方法该定义多少个参数 注意: > 参数实际上是数组 > 必须写在参数列表最后一个 package cn.itcast.day24.varparam; import ...

  5. sysbench压力测试工具安装及使用

    使用sysbench指定连接的时候不需要写上mysql-socket参数 如果自己使用sysbench来测试mysql性能的话,建议使用源码编译比较好,版本为0.4版本. 步骤是: .yum inst ...

  6. Oracle 截取字符串(截取固定分隔符中间的字符

    #### Oracle 截取字符串(截取固定分隔符中间的字符) #### ####  oracle 取固定分隔符之间的字符--方法一 substr+ instrSELECT  substr('12JP ...

  7. OpenCV学习参考 即时贴

    注意:本博文在github上日常更新(保持GitHub最新) https://github.com/SylvesterLi/MyOpenCVCode 基本安装:https://blog.csdn.ne ...

  8. Beta 冲刺 (7/7)

    Beta 冲刺 (7/7) 队名:洛基小队 峻雄(组长) 已完成:人物释放技能部分的实现 后两天计划:整合脚本,测试内容 剩余任务:整合各部分脚本 困难:尽快完善整合出β版的内容 非易 已完成:商店功 ...

  9. C#中抽象类(abstract)和接口(interface)的实现

    抽象类 抽象方法是没有代码实现的方法,使用abstract关键字修饰: 抽象类是包含0到多个抽象方法的类,其不能实例化.含有抽象方法的类必须是抽象类,抽象类中也可以包含非抽象方法: 重写抽象类的方法用 ...

  10. python class根据配置自定义函数

    今天看到了一种有趣的定义函数的方式: class Test(object): def define_get_methods(cls, method_name, path): def inner_get ...