ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Meterpreter入门与精通(一)(二)

2021-05-31 18:03:08  阅读:241  来源: 互联网

标签:脚本 精通 入门 主机 命令 使用 Meterpreter 我们


第一课 介绍

在关于***测试的很多课程当中,我们更加关注破解阶段,在该阶段中我们会尝试使用各种技术或者利用漏洞来攻破目标。但在本门课程中,我们将把注意力聚焦在Meterpreter上,它是Metasploit中最先进的payload之一。我们在攻破目标主机之后能做些什么?这是Meterpreter擅长解决的问题。Meterpreter为我们提供了许多功能,可以让我们更轻松的探索目标主机。在本课程中,我们将更深入的了解Meterpreter,看看它是如何在后***阶段发挥作用的。

我们之所以要使用payloads,是为了达到某些特殊的目的,但这需要克服一些困难。payloads通过在被攻破的系统中创建新的进程来开展工作,因此很肯能会触发警报而被防病毒软件轻松中止。另外,payloads仅限于执行某些特定任务或执行shell可以运行的特定命令。为了克服这些困难,Meterpreter应运而生。

Meterpreter是Metasploit的一个命令解释器,它充当有效负载并通过使用内存中DLL注入和本机共享对象格式来工作。它运行在已攻破的进程中,因此不会产生新的进程。这使它更加隐蔽也更具威力。

image.png

图1: MSF与目标主机建立连接

第一步,破解之后将payload发送到目标主机。该阶段在给定的地址和端口上建立回连到msfconsole的TCP连接。接下来,msfconsole发送第二阶段的DLL注入payload。在成功注入之后,它会发送Meterpreter DLL建立合适的通讯渠道。最后,Meterpreter加载扩展组件,例如:stdapi和priv。所有这些扩展都使用TLV协议通过TLS加载。由于Meterpreter与目标之间使用了加密的通讯方式,这也成为了它的一个重要优点。

让我们快速总结一下Meterpreter相对于特定payloads的优势:

1)它运行于被攻破的进程之上,因此不会创建新的进程;

2)它可以在进程之间轻松迁移;

3)它完全驻留在内存中,因此不向磁盘写入任何内容;

4)它使用加密通讯;

5)它使用了信道化的通信系统,因此我们一次可以使用多个信道;

6)它提供了一个平台,可以快速轻松地编写扩展。

本课程将介绍如何通过使用Meterpreter提供给我们的各种命令和脚本来探索目标计算机。我们首先会分析普通的Meterpreter命令,然后我们将进一步设置不同的通讯渠道,运用网络命令、键盘嗅探等等。最终,我们将讨论scraper Meterpreter脚本,该脚本可以创建一个目录,其中包含有关目标用户的各种信息。在本课程中,我们主要关注于能够帮助我们探索被攻破系统的命令和脚本。

那么,让我们一起来深入学习Meterpreter吧!

第二课 理解Meterpreter的核心命令

首先,我们要使用Meterpreter的命令并理解它们的功能。它作为一个后***阶段使用的工具,我们需要让被攻破的主机来执行命令。我们用Metasploitabe3作为目标,用Microsoft Windows身份验证的用户代码执行漏洞利用模块(Microsoft Windows Authenticated User Code Execution exploit module)来攻破主机。

准备工作

为了避免每次在我们想要使用Meterpreter命令时都要重新设置Microsoft Windows身份验证的用户代码执行漏洞利用模块,我们将利用Metasploit框架的一个特征——资源脚本。资源脚本能够把我们在使用Metasploit时从自动重复性的工作中解脱出来。

操作步骤

        1、Metasploit框架自带了很多资源脚本,它们来自于社区的贡献,你可以在目录/usr/share/metasploit-framework/scripts/resource/中找到它们:

image.png

图2: 查看资源脚本

2、为了创建我们自己的资源脚本,我们只需要执行模块,使用makerc命令创建资源文件,该文件中包括有从头到尾的所有命令:


image.png



图3: 使用makerc命令创建资源文件

3、生成的资源脚本包含以下内容:

image.png

图4: 查看生成的资源文件内容

4、如果要使用资源脚本,应先登陆MSF控制台msfconsole,使用-r选项,后跟资源脚本的路径:



image.png


图5: 使用资源脚本

5、在攻破目标主机之后,由于我们使用了windows/meterpreter/reverse_tcp作为payload,我们就会获得一个Meterpreter会话。我们可以从使用“?”命令开始,它会列出所有可用的Meterpreter命令及其简介: 

image.png

图6: 使用“?”命令

6、我们来看一看一些有用的系统命令:

1)background:该命令用于将当前会话移至后台,以便在需要时可以再次使用。这在我们拥有多个活动的Meterpreter会话时很有用。

2)getuid:该命令返回目标计算机上正在运行的用户名或我们闯入时的用户名:

image.png

图7: 使用getuid命令

3)getpid:该命令返回我们当前正在运行Meterpreter的进程ID:

image.png

图8: 使用getpid命令 

4)ps:该命令会列出目标主机上所有正在运行的进程。它便于我们识别在目标上运行的各种服务和软件:

image.png

图9: 使用ps命令

5)sysinfo:这是一条方便的命令,用于快速查看系统信息,例如:操作系统和系统架构:

image.png

图10: 使用ps命令

6)shell:该命令将为我们带来一个shell提示符:

image.png



图11: 使用shell命令

7)exit:该命令用来终结Meterpreter会话。它也可以用来终结shell会话然后返回Meterpreter。

除此之外还有很多有用的系统命令可以用来探索被攻破的目标主机并从中获取信息,在此就不一一赘述,留给大家自行探索。你会发现使用这些Meterpreter命令探索目标非常简单,而不用它们工作将变得很困难。在下面的课程中,我们将介绍一些更高级的Meterpreter命令。

工作原理

Meterpreter就像一个命令解释器。它旨在通过命令理解并响应各种参数调用。它位于被攻破主机的进程中,与***者的机器建立客户端/服务器的通讯系统,如下图所示:图12: Meterpreter功能示意图

上图演示了Meterpreter的功能概述。一旦通讯渠道建立好,我们可以将命令调用发送到Meterpreter服务器, 并将其响应返回给我们的计算机。在后面的课程中我们将进一步理解***机与目标机之间的通讯细节。


标签:脚本,精通,入门,主机,命令,使用,Meterpreter,我们
来源: https://blog.51cto.com/u_14857544/2836540

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有