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

2021年09月15日 阅读数:1
这篇文章主要向大家介绍Meterpreter入门与精通(一)(二),主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

第一课 介绍shell

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

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

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

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

1: MSF与目标主机创建链接网络

第一步,破解以后将payload发送到目标主机。该阶段在给定的地址和端口上创建回连到msfconsoleTCP链接。接下来,msfconsole发送第二阶段的DLL注入payload。在成功注入以后,它会发送Meterpreter DLL创建合适的通信渠道。最后,Meterpreter加载扩展组件,例如:stdapipriv。全部这些扩展都使用TLV协议经过TLS加载。因为Meterpreter与目标之间使用了加密的通信方式,这也成为了它的一个重要优势。架构

让咱们快速总结一下Meterpreter相对于特定payloads的优点:框架

1)它运行于被攻破的进程之上,所以不会建立新的进程;tcp

2)它能够在进程之间轻松迁移;ide

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时从自动重复性的工做中解脱出来。

操做步骤

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

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

2: 查看资源脚本

2、为了建立咱们本身的资源脚本,咱们只须要执行模块,使用makerc命令建立资源文件,该文件中包括有从头至尾的全部命令:


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



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

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

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

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

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



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


5: 使用资源脚本

5、在攻破目标主机以后,因为咱们使用了windows/meterpreter/reverse_tcp做为payload,咱们就会得到一个Meterpreter会话。咱们能够从使用命令开始,它会列出全部可用的Meterpreter命令及其简介: 

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

6: 使用命令

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

1background:该命令用于将当前会话移至后台,以便在须要时能够再次使用。这在咱们拥有多个活动的Meterpreter会话时颇有用。

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

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

7: 使用getuid命令

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

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

8: 使用getpid命令 

4ps:该命令会列出目标主机上全部正在运行的进程。它便于咱们识别在目标上运行的各类服务和软件:

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

9: 使用ps命令

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

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

10: 使用ps命令

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

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



11: 使用shell命令

7exit:该命令用来终结Meterpreter会话。它也能够用来终结shell会话而后返回Meterpreter

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

工做原理

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

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