Metasploit 命令

17 Mar 2025 | 5 分钟阅读

在本节中,我们将学习Metasploit的基本命令以及如何在易受攻击的机器Metasploitable上使用exploit。Metasploit的一些基本命令是search、back、info、help和exit。

back和exit命令的使用

在Metasploit中,use命令会激活一个特定的模块,并在此模块的基础上改变msfconsole的内容。

Metasploit commands

在上图中,命令行内容已更改为名为realvnc_client的exploit。现在可以检索此exploit的信息,设置exploit所需的参数,并运行参数来攻击目标。

如果我们希望退出exploit的内容并返回到msfconsole,则需要使用back命令。在使用back命令后,我们将返回到msfconsole。然后,我们可以再次使用use命令切换到Metasploit的另一个模块。使用exit命令将关闭msfconsole。执行此命令后,我们将返回到Kali Linux的终端。

Help命令

help命令会给出所有可能命令的列表,包括描述。如果我们选择任何活动的exploit,我们可以使用help命令获取exploit命令的列表,如下所示。

Metasploit commands

Info命令

当我们使用use命令选择一个exploit时,我们可以使用info命令获取诸如可用目标作者、名称、平台等信息。现在,我们将使用exploit ie_execcommand_uaf,并使用info命令。

Metasploit commands

Search命令

Metasploit包含大量不同的exploit,约有1500个,并且新exploit会定期添加。因此,了解exploit的数量变得非常重要,这可以通过搜索功能来实现。通过应用search命令,后跟搜索词,可以轻松使用搜索功能。例如,假设我们想知道与Flash Player相关的exploit,那么我们将使用flash作为搜索词。在下面的截图中,我们使用search命令后跟flash,如下所示。

Metasploit commands

在上图中,我们可以看到Flash Player软件有很多exploit,并且所有exploit都显示在上面。

用于关键字的Metasploit命令

我们已经学习了Metasploit命令的用法,这些命令用于在msfconsole上激活exploit。我们还学习了use命令如何将命令行上下文更改为exploit。现在,我们将学习exploit参数,如何使用set命令显示它们,以及如何更改它们。我们还将学习如何显示目标、evasion、advanced和payload选项。使用help show命令可以显示show命令的可用参数,如下所示。

Metasploit commands

Show options

如果命令行处于exploit的上下文中,show options命令将显示exploit的可用参数。现在,我们将使用exploit adobe_flash_shader_drawing_fill,并使用use命令,如下所示。

后面是show options命令


Metasploit commands

在上图中,flash exploit包含总共6个选项,而我们只需要2个。

  • Retries
  • SRVHOST (必需)
  • SRVPORT (必需)
  • SSL
  • SSLCert
  • URLPath

在module选项下,show options命令返回当前选定的目标。对于选定的exploit,0是默认目标,即Windows。

现在,我们将使用set命令更改默认值。选项名称和新值将跟随set命令。

通过使用命令Set SRVHOST 192.168.0.100,SRVHOST的值将被更改为192.168.0.100。通过使用命令Set SRVPORT 80,端口8080将被更改为80。

Metasploit commands

可以通过再次使用show options命令来验证SRVHOST和SRVPORT的更改值。使用set命令,我们可以更改布尔值。set命令后将是选项名称以及true或false。

Show payloads

对于exploit,msfconsole将使用show payloads选项返回兼容payload的列表。在给出的flash player exploit示例中,msfconsole返回了一些兼容的payload,如下所示。

Metasploit commands

现在,我们将使用set命令,通过payload名称来使用特定的payload,如下所示。


Metasploit commands

在上图中,我们将payload设置为linux/x86/exec。

Show targets

show target命令会返回在选定exploit中存在漏洞的OS列表。

对于exploit adobe_flash_shader_drawing_fil,运行show targets命令后将返回以下输出,如下所示。

Metasploit commands

该exploit的目标是LinuxWindows操作系统。如果我们想了解更多关于exploit和目标的信息,可以使用info命令。现在,我们将使用set命令,通过target ID来设置目标,如下所示。

通过设置目标,可以减少payload列表,因为它将只显示与目标兼容的payload。

Metasploit commands

Show advanced

对于exploit,如果我们想查看高级选项,我们可以使用show advanced命令,如下所示。

Metasploit commands

如果我们想更改高级设置,我们将使用set命令,后面跟高级参数和新值,如下所示。


Metasploit commands

Show encoders

show encoders命令将返回兼容的编码器。编码器用于规避简单的IPS/IDS,这些IPS/IDS正在寻找我们的payload的特定字节,如下所示。

Metasploit commands

我们将使用set命令,后面跟编码器名称来使用一个编码器。

Show nops

show nops命令将返回NOP生成器的列表。NOP代表“无操作”。如果我们想绕过常见NOP sled的简单IDS/IPS签名,NOP将用于更改NOP sled的模式。NOP生成器将根据CPU架构开始。

Metasploit commands

如果我们想使用NOP生成器,我们必须使用set命令,后面跟NOP生成器的名称。当我们启动exploit时,NOP生成器将承担NOP sled。

Show evasion

如果我们想显示规避技术的列表,我们可以使用show evasion命令。

Metasploit commands

我们将使用set命令,后面跟evasion参数和新值来更改evasions的设置。

用于exploit执行的Metasploit命令

假设我们正在执行一个exploit,并且已经设置了所有必需的选项,包括payload和高级设置,如编码、evasion选项和NOP生成器。在这种情况下,exploit已准备好执行。使用exploit和run这两个命令,我们可以执行exploit。在msfconsole中,我们必须键入exploit或run,exploit就会运行。