2018-2019-2 20165212《网络攻防技术》Exp5 MSF基础应用

攻击成果

主动攻击的实践

  • ms17010eternalblue

    • payload windows/x64/meterpreter/reverse_tcp(成功)
    • payload generic/shellreversetcp(成功)
  • ms17010psexec(成功且唯一)

攻击浏览器的实践

  • ms14064olecodeexecution

    • payload windows/meterpreter/reverse_tcp(成功)

攻击客户端的实践

  • windows/fileformat/adobecooltypesing

    • payload windows/meterpreter/bind_tcp(成功)

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

  • scanner/http/backup_file

    • windows/x64/shell/reverse_tcp (成功且唯一)

一、知识点总结

1.MSF攻击方法

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

2.MSF的六种模块

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

    • 主动渗透攻击:攻击某个系统服务
    • 被动渗透攻击:攻击某个客户端应用
  • 辅助模块Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
    • 网络服务的扫描与查点
    • 探查敏感信息泄露、Fuzz测试发掘漏洞
    • 收集登录密码
  • 攻击载荷Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
  • 空字段模块Nop Modules
    • 一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,即空指令(滑行区)
    • 由于系统无法精确计算shellcode的起始地址,所以加入nops以增加攻击成功的概率
  • 编码模块Encoders
    • 改变payload形状,使得不出现特定字符
    • 确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”
  • 后渗透攻击模块Post:攻击成功之后,动态传输代码使其在被控机执行
  • 查看六种模块源码目录/usr/share/metasploit-framework/modules

3.MSF的三种用户操作界面

  • msfconsole

    • 查看模块的具体信息info [exploits|auxiliary|post|payloads|encoders|nops]
    • 查看设置信息show [options]
    • 查看攻击目标类型show [target]
    • 查找命令search
      • 查找2016年产生的在windows平台下的漏洞search ms16 type:exploit platform:windows
  • armitage
    • 启动服务器service postgresql start
    • 启动armitagearmitage
  • webgui

二、攻击实例

主动攻击的实践

  • ms17010eternalblue

    • payload windows/x64/meterpreter/reverse_tcp(成功)
    • payload generic/shellreversetcp(成功)
  • ms17010psexec(成功且唯一)

攻击浏览器的实践

  • ms14064olecodeexecution

    • payload windows/meterpreter/reverse_tcp(成功)

攻击客户端的实践

  • windows/fileformat/adobecooltypesing

    • payload windows/meterpreter/bind_tcp(成功)
  • 漏洞功能:反弹连接获得靶机的shell
  • 这里是利用漏洞生成pdf,pdf里面被注入了回连shellcode

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

  • scanner/http/backup_file

    • windows/x64/shell/reverse_tcp (成功且唯一)
  • 漏洞功能:查找设置的路径里是否存在指定文件

实验总结

1.实验总结与体会

实验开始的时候在纠结如何去找漏洞,后来是去拿漏洞试靶机。熟练之后找漏洞还是比较快的。

msf是一个强大平台!

实验中有几点很有趣也很有使用价值,比如生成一个含有回连指令的PDF文件 、使靶机蓝屏,看起来干坏事也不是那么困难^_^。 对于MSF生成的PDF文件,可以拿来与正常的PDF文件作比较,看是在哪里注入了shellcode,然后我自己再去用perl命令往文件里注入shellcode。

2.离实战还缺些什么技术

  • msf教了我们去使用已知的漏洞去进行攻击,但msf中集成的漏洞和载荷想必在我们今天会用的机器上是无法成功的。想要真的去做到攻击,就漏洞而言,首先要学会自己找漏洞,理解漏洞原理,理解如何去使用漏洞,而不是敲两下use命令和set命令。这实际上是很难的,可能需要去深入到内核代码层次,去测试内核代码的bug,头皮发麻。还有一点就是要学会自己写shellcode。

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

  • 就这次实验来看,exploit是个动作“去执行、去进行”;payload是所有“攻击武器”合集叫payloads;encode是个动作“去加密、去改变”
  • exploit是要法庭决议要处决一个犯人
  • payload是如何处决,枪毙&绞刑&注射&扔海里……
  • encode是去伪装shellcode,让杀软发现不了它

2018-2019-2 20165212《网络攻防技术》Exp5 MSF基础应用的更多相关文章

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

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

  2. 20155226《网络攻防》 Exp5 MSF基础应用

    20155226<网络攻防> Exp5 MSF基础应用 基础问题回答 1.用自己的话解释什么是exploit,payload,encode? exploit : Exploit的英文意思就 ...

  3. 20155318 《网络攻防》Exp5 MSF基础应用

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

  4. 20145236《网络攻防》Exp5 MSF基础应用

    20145236<网络攻防>Exp5 MSF基础应用 一.基础问题回答 解释exploit,payload,encode是什么: exploit就是负责负载有用代码的交通工具,先通过exp ...

  5. 20155301 《网络攻防》 Exp5 MSF基础应用

    20155301 <网络攻防> Exp5 MSF基础应用 基础问题 1.用自己的话解释什么是exploit,payload,encode 答:exploit就是利用一些工具的,用来收集目标 ...

  6. 20155321 《网络攻防》 Exp5 MSF基础应用

    20155321 <网络攻防> Exp5 MSF基础应用 基础问题 用自己的话解释什么是exploit,payload,encode 关于exploit,我觉得exploit是利用一些工具 ...

  7. 20155338 《网络攻防》Exp5 MSF基础应用

    20155338 <网络攻防>Exp5 MSF基础应用 基础问题回答 1. 用自己的话解释什么是exploit,payload,encode? exploit将真正要负责攻击的代码传送到靶 ...

  8. 2015306 白皎 《网络攻防》Exp5 MSF基础应用

    2015306 白皎 <网络攻防>Exp5 MSF基础应用 一.基础问题 用自己的话解释什么是exploit,payload,encode. exploit指由攻击者或渗透测试者利用一个系 ...

  9. 20155334 《网络攻防》Exp5 MSF基础应用

    一.基础问题回答 解释exploit,payload,encode是什么: 项目 作用 exploit 是负载有用代码的交通工具,让代码到达目的地,并作用 payload 是有具体功能的代码,能够完成 ...

  10. 20155211 网络攻防技术 Exp08 Web基础

    20155211 网络攻防技术 Exp08 Web基础 实践内容 Web前端HTML,能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. We ...

随机推荐

  1. threejs和particles.js

    particles.js 在线配置的东西: http://vincentgarreau.com/particles.js/ https://threejs.org/ http://thehuub.co ...

  2. docker on mac:误删default vm的处理方法

    通过docker-machine 重新建一个vm,在virtualbox里可以直接看到多出来一个vm docker-machine create --driver virtualbox default

  3. English trip -- VC(情景课) 8 B job duties 工作职责

    Vocabulary focus  核心词汇 She is a receptionist. She answers the phone. She is a cashier She counts mon ...

  4. python-day20--collections模块

    1.namedtuple: 生成可以使用名字来访问元素内容的tuple >>> from collections import namedtuple >>> Poi ...

  5. Leetcode 113

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  6. sql server数据库中char、nchar、varchar、nvarchar的选择

    在数据库中,字符型的数据是最多的,可以占到整个数据库的80%以上.为此正确处理字符型的数据,对于提高数据库的性能有很大的作用. 在字符型数据中,用的最多的就是Char与Varchar两种类型.前面的是 ...

  7. (转)RocketMQ源码学习--消息存储篇

    http://www.tuicool.com/articles/umQfMzA 1.序言 今天来和大家探讨一下RocketMQ在消息存储方面所作出的努力,在介绍RocketMQ的存储模型之前,可以先探 ...

  8. JavaScript学习总结(十九)——使用js加载器动态加载外部Javascript文件

    今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js 1 var MiniSite=new Object(); 2 /** 3 * 判断浏览器 4 */ 5 M ...

  9. JSON 数组的创建方式

    procedure TFormDZMD.Button1Click(Sender: TObject); var ja: ISuperObject; begin ja := SA([]); ja.AsAr ...

  10. css控制编辑器内容自动换行

    在编辑器或者文本框中按住数字或字母不放 当字符很长时,就会撑破页面, 可以用一下方法控制字符自动换行 style="word-break:break-all;"