一.原理与实践说明
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编码一是为了消除使攻击载荷不能完整运行的“坏字符”,二是为了改变特征码,帮助攻击载荷避免被杀软发现。
三、实践内容
主动攻击:ms17_010_eternalblue
浏览器渗透攻击——ms15_020_shortcut_icon_dllloader(唯一)(在这个之前我试了十几个失败的模块,大概是ms17到09的所有适合win7的模块,不出意料的都失败了呢,我恨win7